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

#include <register-allocator.h>

Inheritance diagram for v8::internal::compiler::UsePosition:
Collaboration diagram for v8::internal::compiler::UsePosition:

Classes

struct  Ordering
 

Public Member Functions

 UsePosition (LifetimePosition pos, InstructionOperand *operand, void *hint, UsePositionHintType hint_type)
 
 UsePosition (const UsePosition &)=delete
 
UsePositionoperator= (const UsePosition &)=delete
 
InstructionOperandoperand () const
 
bool HasOperand () const
 
bool RegisterIsBeneficial () const
 
bool SpillDetrimental () const
 
UsePositionType type () const
 
void set_type (UsePositionType type, bool register_beneficial)
 
LifetimePosition pos () const
 
void set_assigned_register (int register_code)
 
void set_spill_detrimental ()
 
UsePositionHintType hint_type () const
 
bool HasHint () const
 
bool HintRegister (int *register_code) const
 
void SetHint (UsePosition *use_pos)
 
void ResolveHint (UsePosition *use_pos)
 
bool IsResolved () const
 

Static Public Member Functions

static UsePositionHintType HintTypeForOperand (const InstructionOperand &op)
 

Private Types

using TypeField = base::BitField<UsePositionType, 0, 2>
 
using HintTypeField = base::BitField<UsePositionHintType, 2, 3>
 
using RegisterBeneficialField = base::BitField<bool, 5, 1>
 
using AssignedRegisterField = base::BitField<int32_t, 6, 6>
 
using SpillDetrimentalField = base::BitField<int32_t, 12, 1>
 

Private Attributes

InstructionOperand *const operand_
 
void * hint_
 
LifetimePosition const pos_
 
uint32_t flags_
 

Detailed Description

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

Member Typedef Documentation

◆ AssignedRegisterField

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

◆ HintTypeField

◆ RegisterBeneficialField

◆ SpillDetrimentalField

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

◆ TypeField

Constructor & Destructor Documentation

◆ UsePosition() [1/2]

v8::internal::compiler::UsePosition::UsePosition ( LifetimePosition pos,
InstructionOperand * operand,
void * hint,
UsePositionHintType hint_type )

Definition at line 71 of file register-allocator.cc.

Here is the call graph for this function:

◆ UsePosition() [2/2]

v8::internal::compiler::UsePosition::UsePosition ( const UsePosition & )
delete

Member Function Documentation

◆ HasHint()

bool v8::internal::compiler::UsePosition::HasHint ( ) const

Definition at line 97 of file register-allocator.cc.

Here is the call graph for this function:

◆ HasOperand()

bool v8::internal::compiler::UsePosition::HasOperand ( ) const
inline

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

◆ hint_type()

UsePositionHintType v8::internal::compiler::UsePosition::hint_type ( ) const
inline

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

Here is the caller graph for this function:

◆ HintRegister()

bool v8::internal::compiler::UsePosition::HintRegister ( int * register_code) const

Definition at line 102 of file register-allocator.cc.

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

◆ HintTypeForOperand()

UsePositionHintType v8::internal::compiler::UsePosition::HintTypeForOperand ( const InstructionOperand & op)
static

Definition at line 133 of file register-allocator.cc.

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

◆ IsResolved()

bool v8::internal::compiler::UsePosition::IsResolved ( ) const
inline

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

Here is the caller graph for this function:

◆ operand()

InstructionOperand * v8::internal::compiler::UsePosition::operand ( ) const
inline

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

Here is the caller graph for this function:

◆ operator=()

UsePosition & v8::internal::compiler::UsePosition::operator= ( const UsePosition & )
delete

◆ pos()

LifetimePosition v8::internal::compiler::UsePosition::pos ( ) const
inline

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

Here is the caller graph for this function:

◆ RegisterIsBeneficial()

bool v8::internal::compiler::UsePosition::RegisterIsBeneficial ( ) const
inline

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

◆ ResolveHint()

void v8::internal::compiler::UsePosition::ResolveHint ( UsePosition * use_pos)

Definition at line 161 of file register-allocator.cc.

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

◆ set_assigned_register()

void v8::internal::compiler::UsePosition::set_assigned_register ( int register_code)
inline

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

◆ set_spill_detrimental()

void v8::internal::compiler::UsePosition::set_spill_detrimental ( )
inline

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

Here is the caller graph for this function:

◆ set_type()

void v8::internal::compiler::UsePosition::set_type ( UsePositionType type,
bool register_beneficial )

Definition at line 168 of file register-allocator.cc.

Here is the call graph for this function:

◆ SetHint()

void v8::internal::compiler::UsePosition::SetHint ( UsePosition * use_pos)

Definition at line 155 of file register-allocator.cc.

Here is the call graph for this function:

◆ SpillDetrimental()

bool v8::internal::compiler::UsePosition::SpillDetrimental ( ) const
inline

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

◆ type()

UsePositionType v8::internal::compiler::UsePosition::type ( ) const
inline

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

Member Data Documentation

◆ flags_

uint32_t v8::internal::compiler::UsePosition::flags_
private

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

◆ hint_

void* v8::internal::compiler::UsePosition::hint_
private

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

◆ operand_

InstructionOperand* const v8::internal::compiler::UsePosition::operand_
private

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

◆ pos_

LifetimePosition const v8::internal::compiler::UsePosition::pos_
private

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


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