v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::maglev::StraightForwardRegisterAllocator Class Reference

#include <maglev-regalloc.h>

Collaboration diagram for v8::internal::maglev::StraightForwardRegisterAllocator:

Classes

struct  BlockPatch
 
struct  SpillSlotInfo
 
struct  SpillSlots
 

Public Member Functions

 StraightForwardRegisterAllocator (MaglevCompilationInfo *compilation_info, Graph *graph, RegallocInfo *regalloc_info)
 
 ~StraightForwardRegisterAllocator ()
 

Private Member Functions

void ComputePostDominatingHoles ()
 
void AllocateRegisters ()
 
void PrintLiveRegs () const
 
void UpdateUse (Input *input)
 
void UpdateUse (ValueNode *node, InputLocation *input_location)
 
void MarkAsClobbered (ValueNode *node, const compiler::AllocatedOperand &location)
 
void AllocateControlNode (ControlNode *node, BasicBlock *block)
 
void AllocateNode (Node *node)
 
void AllocateNodeResult (ValueNode *node)
 
void AllocateEagerDeopt (const EagerDeoptInfo &deopt_info)
 
void AllocateLazyDeopt (const LazyDeoptInfo &deopt_info)
 
void AssignFixedInput (Input &input)
 
void AssignArbitraryRegisterInput (NodeBase *result_node, Input &input)
 
void AssignAnyInput (Input &input)
 
void AssignInputs (NodeBase *node)
 
template<typename RegisterT >
void AssignFixedTemporaries (RegisterFrameState< RegisterT > &registers, NodeBase *node)
 
void AssignFixedTemporaries (NodeBase *node)
 
template<typename RegisterT >
void AssignArbitraryTemporaries (RegisterFrameState< RegisterT > &registers, NodeBase *node)
 
void AssignArbitraryTemporaries (NodeBase *node)
 
template<typename RegisterT >
void SetLoopPhiRegisterHint (Phi *phi, RegisterT reg)
 
void TryAllocateToInput (Phi *phi)
 
void VerifyInputs (NodeBase *node)
 
void VerifyRegisterState ()
 
void AddMoveBeforeCurrentNode (ValueNode *node, compiler::InstructionOperand source, compiler::AllocatedOperand target)
 
void AllocateSpillSlot (ValueNode *node)
 
void Spill (ValueNode *node)
 
void SpillRegisters ()
 
template<typename RegisterT >
void SpillAndClearRegisters (RegisterFrameState< RegisterT > &registers)
 
void SpillAndClearRegisters ()
 
void SaveRegisterSnapshot (NodeBase *node)
 
void FreeRegistersUsedBy (ValueNode *node)
 
template<typename RegisterT >
RegisterT FreeUnblockedRegister (RegListBase< RegisterT > reserved=RegListBase< RegisterT >())
 
template<typename RegisterT >
RegisterT PickRegisterToFree (RegListBase< RegisterT > reserved)
 
template<typename RegisterT >
RegisterFrameState< RegisterT > & GetRegisterFrameState ()
 
template<typename RegisterT >
void DropRegisterValueAtEnd (RegisterT reg, bool force_spill=false)
 
bool IsCurrentNodeLastUseOf (ValueNode *node)
 
template<typename RegisterT >
void EnsureFreeRegisterAtEnd (const compiler::InstructionOperand &hint=compiler::InstructionOperand())
 
compiler::AllocatedOperand AllocateRegisterAtEnd (ValueNode *node)
 
template<typename RegisterT >
void DropRegisterValue (RegisterFrameState< RegisterT > &registers, RegisterT reg, bool force_spill=false)
 
void DropRegisterValue (Register reg)
 
void DropRegisterValue (DoubleRegister reg)
 
compiler::AllocatedOperand AllocateRegister (ValueNode *node, const compiler::InstructionOperand &hint=compiler::InstructionOperand())
 
template<typename RegisterT >
compiler::AllocatedOperand ForceAllocate (RegisterFrameState< RegisterT > &registers, RegisterT reg, ValueNode *node)
 
compiler::AllocatedOperand ForceAllocate (Register reg, ValueNode *node)
 
compiler::AllocatedOperand ForceAllocate (DoubleRegister reg, ValueNode *node)
 
compiler::AllocatedOperand ForceAllocate (const Input &input, ValueNode *node)
 
template<typename Function >
void ForEachMergePointRegisterState (MergePointRegisterState &merge_point_state, Function &&f)
 
void ClearRegisterValues ()
 
void InitializeRegisterValues (MergePointRegisterState &target_state)
 
template<typename RegisterT >
void HoistLoopReloads (BasicBlock *target, RegisterFrameState< RegisterT > &registers)
 
void HoistLoopSpills (BasicBlock *target)
 
void InitializeBranchTargetRegisterValues (ControlNode *source, BasicBlock *target)
 
void InitializeEmptyBlockRegisterValues (ControlNode *source, BasicBlock *target)
 
void InitializeBranchTargetPhis (int predecessor_id, BasicBlock *target)
 
void InitializeConditionalBranchTarget (ConditionalControlNode *source, BasicBlock *target)
 
void MergeRegisterValues (ControlNode *control, BasicBlock *target, int predecessor_id)
 
void ApplyPatches (BasicBlock *block)
 
MaglevGraphLabellergraph_labeller () const
 

Private Attributes

RegisterFrameState< Registergeneral_registers_
 
RegisterFrameState< DoubleRegisterdouble_registers_
 
SpillSlots untagged_
 
SpillSlots tagged_
 
MaglevCompilationInfocompilation_info_
 
std::unique_ptr< MaglevPrintingVisitorprinting_visitor_
 
Graphgraph_
 
ZoneVector< BlockPatchpatches_
 
BlockConstIterator block_it_
 
NodeIterator node_it_
 
NodeBasecurrent_node_
 
RegallocInforegalloc_info_
 

Detailed Description

Definition at line 154 of file maglev-regalloc.h.

Constructor & Destructor Documentation

◆ StraightForwardRegisterAllocator()

v8::internal::maglev::StraightForwardRegisterAllocator::StraightForwardRegisterAllocator ( MaglevCompilationInfo * compilation_info,
Graph * graph,
RegallocInfo * regalloc_info )

Definition at line 202 of file maglev-regalloc.cc.

Here is the call graph for this function:

◆ ~StraightForwardRegisterAllocator()

v8::internal::maglev::StraightForwardRegisterAllocator::~StraightForwardRegisterAllocator ( )
default

Member Function Documentation

◆ AddMoveBeforeCurrentNode()

void v8::internal::maglev::StraightForwardRegisterAllocator::AddMoveBeforeCurrentNode ( ValueNode * node,
compiler::InstructionOperand source,
compiler::AllocatedOperand target )
private

Definition at line 1192 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AllocateControlNode()

void v8::internal::maglev::StraightForwardRegisterAllocator::AllocateControlNode ( ControlNode * node,
BasicBlock * block )
private

Definition at line 1030 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AllocateEagerDeopt()

void v8::internal::maglev::StraightForwardRegisterAllocator::AllocateEagerDeopt ( const EagerDeoptInfo & deopt_info)
private

Definition at line 672 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AllocateLazyDeopt()

void v8::internal::maglev::StraightForwardRegisterAllocator::AllocateLazyDeopt ( const LazyDeoptInfo & deopt_info)
private

Definition at line 687 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AllocateNode()

void v8::internal::maglev::StraightForwardRegisterAllocator::AllocateNode ( Node * node)
private

Definition at line 718 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AllocateNodeResult()

void v8::internal::maglev::StraightForwardRegisterAllocator::AllocateNodeResult ( ValueNode * node)
private

Definition at line 820 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AllocateRegister()

compiler::AllocatedOperand v8::internal::maglev::StraightForwardRegisterAllocator::AllocateRegister ( ValueNode * node,
const compiler::InstructionOperand & hint = compiler::InstructionOperand() )
private

Definition at line 1757 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AllocateRegisterAtEnd()

compiler::AllocatedOperand v8::internal::maglev::StraightForwardRegisterAllocator::AllocateRegisterAtEnd ( ValueNode * node)
private

Definition at line 1820 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AllocateRegisters()

void v8::internal::maglev::StraightForwardRegisterAllocator::AllocateRegisters ( )
private

Definition at line 364 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AllocateSpillSlot()

void v8::internal::maglev::StraightForwardRegisterAllocator::AllocateSpillSlot ( ValueNode * node)
private

Definition at line 1658 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ApplyPatches()

void v8::internal::maglev::StraightForwardRegisterAllocator::ApplyPatches ( BasicBlock * block)
private

Definition at line 179 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AssignAnyInput()

void v8::internal::maglev::StraightForwardRegisterAllocator::AssignAnyInput ( Input & input)
private

Definition at line 1435 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AssignArbitraryRegisterInput()

void v8::internal::maglev::StraightForwardRegisterAllocator::AssignArbitraryRegisterInput ( NodeBase * result_node,
Input & input )
private

Definition at line 1353 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AssignArbitraryTemporaries() [1/2]

void v8::internal::maglev::StraightForwardRegisterAllocator::AssignArbitraryTemporaries ( NodeBase * node)
private

Definition at line 2049 of file maglev-regalloc.cc.

Here is the call graph for this function:

◆ AssignArbitraryTemporaries() [2/2]

template<typename RegisterT >
void v8::internal::maglev::StraightForwardRegisterAllocator::AssignArbitraryTemporaries ( RegisterFrameState< RegisterT > & registers,
NodeBase * node )
private

Definition at line 2008 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AssignFixedInput()

void v8::internal::maglev::StraightForwardRegisterAllocator::AssignFixedInput ( Input & input)
private

Definition at line 1241 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AssignFixedTemporaries() [1/2]

void v8::internal::maglev::StraightForwardRegisterAllocator::AssignFixedTemporaries ( NodeBase * node)
private

Definition at line 1974 of file maglev-regalloc.cc.

Here is the call graph for this function:

◆ AssignFixedTemporaries() [2/2]

template<typename RegisterT >
void v8::internal::maglev::StraightForwardRegisterAllocator::AssignFixedTemporaries ( RegisterFrameState< RegisterT > & registers,
NodeBase * node )
private

Definition at line 1944 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AssignInputs()

void v8::internal::maglev::StraightForwardRegisterAllocator::AssignInputs ( NodeBase * node)
private

Definition at line 1464 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ClearRegisterValues()

void v8::internal::maglev::StraightForwardRegisterAllocator::ClearRegisterValues ( )
private

Definition at line 2068 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ComputePostDominatingHoles()

void v8::internal::maglev::StraightForwardRegisterAllocator::ComputePostDominatingHoles ( )
private

Definition at line 306 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DropRegisterValue() [1/3]

void v8::internal::maglev::StraightForwardRegisterAllocator::DropRegisterValue ( DoubleRegister reg)
private

Definition at line 952 of file maglev-regalloc.cc.

Here is the call graph for this function:

◆ DropRegisterValue() [2/3]

void v8::internal::maglev::StraightForwardRegisterAllocator::DropRegisterValue ( Register reg)
private

Definition at line 948 of file maglev-regalloc.cc.

Here is the call graph for this function:

◆ DropRegisterValue() [3/3]

template<typename RegisterT >
void v8::internal::maglev::StraightForwardRegisterAllocator::DropRegisterValue ( RegisterFrameState< RegisterT > & registers,
RegisterT reg,
bool force_spill = false )
private

Definition at line 906 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DropRegisterValueAtEnd()

template<typename RegisterT >
void v8::internal::maglev::StraightForwardRegisterAllocator::DropRegisterValueAtEnd ( RegisterT reg,
bool force_spill = false )
private

Definition at line 803 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EnsureFreeRegisterAtEnd()

template<typename RegisterT >
void v8::internal::maglev::StraightForwardRegisterAllocator::EnsureFreeRegisterAtEnd ( const compiler::InstructionOperand & hint = compiler::InstructionOperand())
private

Definition at line 1789 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ForceAllocate() [1/4]

compiler::AllocatedOperand v8::internal::maglev::StraightForwardRegisterAllocator::ForceAllocate ( const Input & input,
ValueNode * node )
private

Definition at line 1871 of file maglev-regalloc.cc.

Here is the call graph for this function:

◆ ForceAllocate() [2/4]

compiler::AllocatedOperand v8::internal::maglev::StraightForwardRegisterAllocator::ForceAllocate ( DoubleRegister reg,
ValueNode * node )
private

Definition at line 1865 of file maglev-regalloc.cc.

Here is the call graph for this function:

◆ ForceAllocate() [3/4]

compiler::AllocatedOperand v8::internal::maglev::StraightForwardRegisterAllocator::ForceAllocate ( Register reg,
ValueNode * node )
private

Definition at line 1859 of file maglev-regalloc.cc.

Here is the call graph for this function:

◆ ForceAllocate() [4/4]

template<typename RegisterT >
compiler::AllocatedOperand v8::internal::maglev::StraightForwardRegisterAllocator::ForceAllocate ( RegisterFrameState< RegisterT > & registers,
RegisterT reg,
ValueNode * node )
private

Definition at line 1831 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ForEachMergePointRegisterState()

template<typename Function >
void v8::internal::maglev::StraightForwardRegisterAllocator::ForEachMergePointRegisterState ( MergePointRegisterState & merge_point_state,
Function && f )
private

Definition at line 2056 of file maglev-regalloc.cc.

Here is the caller graph for this function:

◆ FreeRegistersUsedBy()

void v8::internal::maglev::StraightForwardRegisterAllocator::FreeRegistersUsedBy ( ValueNode * node)
private

Definition at line 624 of file maglev-regalloc.cc.

Here is the caller graph for this function:

◆ FreeUnblockedRegister()

template<typename RegisterT >
RegisterT v8::internal::maglev::StraightForwardRegisterAllocator::FreeUnblockedRegister ( RegListBase< RegisterT > reserved = RegListBase<RegisterT>())
private

Definition at line 1745 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetRegisterFrameState()

template<typename RegisterT >
RegisterFrameState< RegisterT > & v8::internal::maglev::StraightForwardRegisterAllocator::GetRegisterFrameState ( )
inlineprivate

Definition at line 240 of file maglev-regalloc.h.

Here is the caller graph for this function:

◆ graph_labeller()

MaglevGraphLabeller * v8::internal::maglev::StraightForwardRegisterAllocator::graph_labeller ( ) const
inlineprivate

Definition at line 304 of file maglev-regalloc.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ HoistLoopReloads()

template<typename RegisterT >
void v8::internal::maglev::StraightForwardRegisterAllocator::HoistLoopReloads ( BasicBlock * target,
RegisterFrameState< RegisterT > & registers )
private

Definition at line 2168 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ HoistLoopSpills()

void v8::internal::maglev::StraightForwardRegisterAllocator::HoistLoopSpills ( BasicBlock * target)
private

Definition at line 2199 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InitializeBranchTargetPhis()

void v8::internal::maglev::StraightForwardRegisterAllocator::InitializeBranchTargetPhis ( int predecessor_id,
BasicBlock * target )
private

Definition at line 956 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InitializeBranchTargetRegisterValues()

void v8::internal::maglev::StraightForwardRegisterAllocator::InitializeBranchTargetRegisterValues ( ControlNode * source,
BasicBlock * target )
private

Definition at line 2219 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InitializeConditionalBranchTarget()

void v8::internal::maglev::StraightForwardRegisterAllocator::InitializeConditionalBranchTarget ( ConditionalControlNode * source,
BasicBlock * target )
private

Definition at line 1014 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InitializeEmptyBlockRegisterValues()

void v8::internal::maglev::StraightForwardRegisterAllocator::InitializeEmptyBlockRegisterValues ( ControlNode * source,
BasicBlock * target )
private

Definition at line 2238 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InitializeRegisterValues()

void v8::internal::maglev::StraightForwardRegisterAllocator::InitializeRegisterValues ( MergePointRegisterState & target_state)
private

Definition at line 2088 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsCurrentNodeLastUseOf()

bool v8::internal::maglev::StraightForwardRegisterAllocator::IsCurrentNodeLastUseOf ( ValueNode * node)
private

Definition at line 1784 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MarkAsClobbered()

void v8::internal::maglev::StraightForwardRegisterAllocator::MarkAsClobbered ( ValueNode * node,
const compiler::AllocatedOperand & location )
private

Definition at line 1301 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MergeRegisterValues()

void v8::internal::maglev::StraightForwardRegisterAllocator::MergeRegisterValues ( ControlNode * control,
BasicBlock * target,
int predecessor_id )
private

Definition at line 2259 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PickRegisterToFree()

template<typename RegisterT >
RegisterT v8::internal::maglev::StraightForwardRegisterAllocator::PickRegisterToFree ( RegListBase< RegisterT > reserved)
private

Definition at line 1713 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintLiveRegs()

void v8::internal::maglev::StraightForwardRegisterAllocator::PrintLiveRegs ( ) const
private

Definition at line 350 of file maglev-regalloc.cc.

Here is the caller graph for this function:

◆ SaveRegisterSnapshot()

void v8::internal::maglev::StraightForwardRegisterAllocator::SaveRegisterSnapshot ( NodeBase * node)
private

Definition at line 1613 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetLoopPhiRegisterHint()

template<typename RegisterT >
void v8::internal::maglev::StraightForwardRegisterAllocator::SetLoopPhiRegisterHint ( Phi * phi,
RegisterT reg )
private

Definition at line 1156 of file maglev-regalloc.cc.

Here is the caller graph for this function:

◆ Spill()

void v8::internal::maglev::StraightForwardRegisterAllocator::Spill ( ValueNode * node)
private

Definition at line 1231 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SpillAndClearRegisters() [1/2]

void v8::internal::maglev::StraightForwardRegisterAllocator::SpillAndClearRegisters ( )
private

Definition at line 1608 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SpillAndClearRegisters() [2/2]

template<typename RegisterT >
void v8::internal::maglev::StraightForwardRegisterAllocator::SpillAndClearRegisters ( RegisterFrameState< RegisterT > & registers)
private

Definition at line 1593 of file maglev-regalloc.cc.

Here is the call graph for this function:

◆ SpillRegisters()

void v8::internal::maglev::StraightForwardRegisterAllocator::SpillRegisters ( )
private

Definition at line 1586 of file maglev-regalloc.cc.

Here is the call graph for this function:

◆ TryAllocateToInput()

void v8::internal::maglev::StraightForwardRegisterAllocator::TryAllocateToInput ( Phi * phi)
private

Definition at line 1170 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UpdateUse() [1/2]

void v8::internal::maglev::StraightForwardRegisterAllocator::UpdateUse ( Input * input)
inlineprivate

Definition at line 188 of file maglev-regalloc.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UpdateUse() [2/2]

void v8::internal::maglev::StraightForwardRegisterAllocator::UpdateUse ( ValueNode * node,
InputLocation * input_location )
private

Definition at line 632 of file maglev-regalloc.cc.

Here is the call graph for this function:

◆ VerifyInputs()

void v8::internal::maglev::StraightForwardRegisterAllocator::VerifyInputs ( NodeBase * node)
private

Definition at line 1482 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VerifyRegisterState()

void v8::internal::maglev::StraightForwardRegisterAllocator::VerifyRegisterState ( )
private

Definition at line 1511 of file maglev-regalloc.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ block_it_

BlockConstIterator v8::internal::maglev::StraightForwardRegisterAllocator::block_it_
private

Definition at line 317 of file maglev-regalloc.h.

◆ compilation_info_

MaglevCompilationInfo* v8::internal::maglev::StraightForwardRegisterAllocator::compilation_info_
private

Definition at line 308 of file maglev-regalloc.h.

◆ current_node_

NodeBase* v8::internal::maglev::StraightForwardRegisterAllocator::current_node_
private

Definition at line 320 of file maglev-regalloc.h.

◆ double_registers_

RegisterFrameState<DoubleRegister> v8::internal::maglev::StraightForwardRegisterAllocator::double_registers_
private

Definition at line 162 of file maglev-regalloc.h.

◆ general_registers_

RegisterFrameState<Register> v8::internal::maglev::StraightForwardRegisterAllocator::general_registers_
private

Definition at line 161 of file maglev-regalloc.h.

◆ graph_

Graph* v8::internal::maglev::StraightForwardRegisterAllocator::graph_
private

Definition at line 310 of file maglev-regalloc.h.

◆ node_it_

NodeIterator v8::internal::maglev::StraightForwardRegisterAllocator::node_it_
private

Definition at line 318 of file maglev-regalloc.h.

◆ patches_

ZoneVector<BlockPatch> v8::internal::maglev::StraightForwardRegisterAllocator::patches_
private

Definition at line 315 of file maglev-regalloc.h.

◆ printing_visitor_

std::unique_ptr<MaglevPrintingVisitor> v8::internal::maglev::StraightForwardRegisterAllocator::printing_visitor_
private

Definition at line 309 of file maglev-regalloc.h.

◆ regalloc_info_

RegallocInfo* v8::internal::maglev::StraightForwardRegisterAllocator::regalloc_info_
private

Definition at line 321 of file maglev-regalloc.h.

◆ tagged_

SpillSlots v8::internal::maglev::StraightForwardRegisterAllocator::tagged_
private

Definition at line 181 of file maglev-regalloc.h.

◆ untagged_

SpillSlots v8::internal::maglev::StraightForwardRegisterAllocator::untagged_
private

Definition at line 180 of file maglev-regalloc.h.


The documentation for this class was generated from the following files: