V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
v8::internal::compiler::TopLevelLiveRange Class Referencefinal
Inheritance diagram for v8::internal::compiler::TopLevelLiveRange:
v8::internal::compiler::LiveRange NON_EXPORTED_BASEZoneObject

Classes

struct  SpillMoveInsertionList
 

Public Types

enum  SpillType { kNoSpillType, kSpillOperand, kSpillRange }
 
- Public Types inherited from v8::internal::compiler::LiveRange
enum  HintConnectionOption : bool { DoNotConnectHints = false, ConnectHints = true }
 

Public Member Functions

 TopLevelLiveRange (int vreg, MachineRepresentation rep)
 
int spill_start_index () const
 
bool IsFixed () const
 
bool is_phi () const
 
void set_is_phi (bool value)
 
bool is_non_loop_phi () const
 
void set_is_non_loop_phi (bool value)
 
bool has_slot_use () const
 
void set_has_slot_use (bool value)
 
void EnsureInterval (LifetimePosition start, LifetimePosition end, Zone *zone)
 
void AddUseInterval (LifetimePosition start, LifetimePosition end, Zone *zone)
 
void AddUsePosition (UsePosition *pos)
 
void ShortenTo (LifetimePosition start)
 
void Splinter (LifetimePosition start, LifetimePosition end, Zone *zone)
 
void Merge (TopLevelLiveRange *other, Zone *zone)
 
void SetSpillRange (SpillRange *spill_range)
 
void set_spill_type (SpillType value)
 
SpillType spill_type () const
 
InstructionOperandGetSpillOperand () const
 
SpillRangeGetAllocatedSpillRange () const
 
SpillRangeGetSpillRange () const
 
bool HasNoSpillType () const
 
bool HasSpillOperand () const
 
bool HasSpillRange () const
 
AllocatedOperand GetSpillRangeOperand () const
 
void RecordSpillLocation (Zone *zone, int gap_index, InstructionOperand *operand)
 
void SetSpillOperand (InstructionOperand *operand)
 
void SetSpillStartIndex (int start)
 
void CommitSpillMoves (InstructionSequence *sequence, const InstructionOperand &operand, bool might_be_duplicated)
 
void TreatAsSpilledInDeferredBlock (Zone *zone, int total_block_count)
 
void CommitSpillInDeferredBlocks (RegisterAllocationData *data, const InstructionOperand &spill_operand, BitVector *necessary_spill_points)
 
TopLevelLiveRangesplintered_from () const
 
bool IsSplinter () const
 
bool MayRequireSpillRange () const
 
void UpdateSpillRangePostMerge (TopLevelLiveRange *merged)
 
int vreg () const
 
void Verify () const
 
void VerifyChildrenInOrder () const
 
int GetNextChildId ()
 
int GetChildCount () const
 
bool IsSpilledOnlyInDeferredBlocks () const
 
SpillMoveInsertionListGetSpillMoveInsertionLocations () const
 
TopLevelLiveRangesplinter () const
 
void SetSplinter (TopLevelLiveRange *splinter)
 
void MarkHasPreassignedSlot ()
 
bool has_preassigned_slot () const
 
void AddBlockRequiringSpillOperand (RpoNumber block_id)
 
BitVectorGetListOfBlocksRequiringSpillOperands () const
 
- Public Member Functions inherited from v8::internal::compiler::LiveRange
UseIntervalfirst_interval () const
 
UsePositionfirst_pos () const
 
TopLevelLiveRangeTopLevel ()
 
const TopLevelLiveRangeTopLevel () const
 
bool IsTopLevel () const
 
LiveRangenext () const
 
int relative_id () const
 
bool IsEmpty () const
 
InstructionOperand GetAssignedOperand () const
 
MachineRepresentation representation () const
 
int assigned_register () const
 
bool HasRegisterAssigned () const
 
void set_assigned_register (int reg)
 
void UnsetAssignedRegister ()
 
bool spilled () const
 
void Spill ()
 
RegisterKind kind () const
 
UsePositionNextUsePosition (LifetimePosition start) const
 
UsePositionNextRegisterPosition (LifetimePosition start) const
 
UsePositionNextSlotPosition (LifetimePosition start) const
 
UsePositionNextUsePositionRegisterIsBeneficial (LifetimePosition start) const
 
LifetimePosition NextLifetimePositionRegisterIsBeneficial (const LifetimePosition &start) const
 
UsePositionPreviousUsePositionRegisterIsBeneficial (LifetimePosition start) const
 
bool CanBeSpilled (LifetimePosition pos) const
 
UsePositionDetachAt (LifetimePosition position, LiveRange *result, Zone *zone, HintConnectionOption connect_hints)
 
LiveRangeSplitAt (LifetimePosition position, Zone *zone)
 
UsePositionFirstHintPosition (int *register_index) const
 
UsePositionFirstHintPosition () const
 
UsePositioncurrent_hint_position () const
 
LifetimePosition Start () const
 
LifetimePosition End () const
 
bool ShouldBeAllocatedBefore (const LiveRange *other) const
 
bool CanCover (LifetimePosition position) const
 
bool Covers (LifetimePosition position) const
 
LifetimePosition FirstIntersection (LiveRange *other) const
 
void VerifyChildStructure () const
 
void ConvertUsesToOperand (const InstructionOperand &op, const InstructionOperand &spill_op)
 
void SetUseHints (int register_index)
 
void UnsetUseHints ()
 
void Print (const RegisterConfiguration *config, bool with_children) const
 
void Print (bool with_children) const
 

Detailed Description

Definition at line 470 of file register-allocator.h.


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