V8 Project
|
#include <lithium.h>
Classes | |
class | KindField |
Public Types | |
enum | Kind { INVALID , UNALLOCATED , CONSTANT_OPERAND , STACK_SLOT , DOUBLE_STACK_SLOT , REGISTER , DOUBLE_REGISTER } |
Public Member Functions | |
LOperand () | |
Kind | kind () const |
int | index () const |
bool | Equals (LOperand *other) const |
void | PrintTo (StringStream *stream) |
void | ConvertTo (Kind kind, int index) |
![]() | |
INLINE (void *operator new(size_t size, Zone *zone)) | |
void | operator delete (void *, size_t) |
void | operator delete (void *pointer, Zone *zone) |
Static Public Member Functions | |
static void | SetUpCaches () |
static void | TearDownCaches () |
Protected Member Functions | |
LOperand (Kind kind, int index) | |
Protected Attributes | |
unsigned | value_ |
Static Protected Attributes | |
static const int | kKindFieldWidth = 3 |
Definition at line 66 of file lithium.h.
References ConvertTo(), index(), and kind().
Definition at line 51 of file lithium.h.
References DCHECK, v8::internal::BitFieldBase< T, shift, size, U >::encode(), index(), kind(), kKindFieldWidth, REGISTER, and value_.
Referenced by v8::internal::LiveRange::ConvertOperands(), LOperand(), and v8::internal::LiveRange::SetSpillOperand().
|
inline |
Definition at line 41 of file lithium.h.
References kKindFieldWidth, and value_.
Referenced by v8::internal::LCodeGen::AddToTranslation(), v8::internal::LiveRange::ConvertOperands(), ConvertTo(), v8::internal::LCodeGen::EmitLoadDoubleRegister(), v8::internal::LCodeGen::EmitLoadRegister(), LOperand(), v8::internal::LUnallocated::LUnallocated(), PrintTo(), v8::internal::LCodeGen::RecordSafepoint(), v8::internal::LiveRange::SetSpillOperand(), v8::internal::LCodeGen::ToDoubleRegister(), v8::internal::LCodeGen::ToHighMemOperand(), v8::internal::LCodeGen::ToMemOperand(), and v8::internal::LCodeGen::ToRegister().
|
inline |
Definition at line 40 of file lithium.h.
References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and value_.
Referenced by v8::internal::FINAL< kOperandKind, kNumCachedOperands >::cast(), v8::internal::LiveRange::ConvertOperands(), ConvertTo(), LOperand(), PrintTo(), and v8::internal::LiveRange::SetSpillOperand().
void v8::internal::LOperand::PrintTo | ( | StringStream * | stream | ) |
Definition at line 41 of file lithium.cc.
References v8::internal::Register::AllocationIndexToString(), v8::internal::DwVfpRegister::AllocationIndexToString(), v8::internal::LUnallocated::ANY, v8::internal::LUnallocated::basic_policy(), v8::internal::LUnallocated::cast(), CONSTANT_OPERAND, DOUBLE_REGISTER, DOUBLE_STACK_SLOT, v8::internal::LUnallocated::extended_policy(), v8::internal::LUnallocated::FIXED_DOUBLE_REGISTER, v8::internal::LUnallocated::FIXED_REGISTER, v8::internal::LUnallocated::fixed_register_index(), v8::internal::LUnallocated::FIXED_SLOT, v8::internal::LUnallocated::fixed_slot_index(), index(), INVALID, kind(), v8::internal::Register::kMaxNumAllocatableRegisters, v8::internal::DwVfpRegister::kMaxNumAllocatableRegisters, v8::internal::LUnallocated::MUST_HAVE_DOUBLE_REGISTER, v8::internal::LUnallocated::MUST_HAVE_REGISTER, v8::internal::LUnallocated::NONE, NULL, REGISTER, v8::internal::LUnallocated::SAME_AS_FIRST_INPUT, STACK_SLOT, UNALLOCATED, v8::internal::LUnallocated::virtual_register(), and v8::internal::LUnallocated::WRITABLE_REGISTER.
Referenced by v8::internal::LInstruction::PrintDataTo(), and v8::internal::LInstruction::PrintOutputOperandTo().
|
static |
Definition at line 153 of file lithium.cc.
References LITHIUM_OPERAND_LIST, and LITHIUM_OPERAND_SETUP.
Referenced by v8::internal::V8::InitializeOncePerProcessImpl().
|
static |
Definition at line 160 of file lithium.cc.
References LITHIUM_OPERAND_LIST, and LITHIUM_OPERAND_TEARDOWN.
Referenced by v8::internal::V8::TearDown().
|
staticprotected |
Definition at line 63 of file lithium.h.
Referenced by ConvertTo(), and index().
|
protected |
Definition at line 68 of file lithium.h.
Referenced by v8::internal::LUnallocated::basic_policy(), ConvertTo(), Equals(), v8::internal::LUnallocated::extended_policy(), v8::internal::LUnallocated::fixed_register_index(), v8::internal::LUnallocated::fixed_slot_index(), index(), v8::internal::LUnallocated::IsUsedAtStart(), kind(), v8::internal::LUnallocated::LUnallocated(), v8::internal::LUnallocated::set_virtual_register(), and v8::internal::LUnallocated::virtual_register().