v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <lithium.h>
Data Structures | |
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) |
Public Member Functions inherited from ZoneObject | |
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 |
enum Kind |
Definition at line 85 of file lithium.h.
References LOperand::ConvertTo().
|
inline |
Definition at line 71 of file lithium.h.
References ASSERT, BitFieldBase< Kind, shift, size, uint32_t >::encode(), LOperand::index(), LOperand::kKindFieldWidth, and LOperand::value_.
Referenced by LOperand::LOperand(), and LiveRange::SetSpillOperand().
|
inline |
Definition at line 68 of file lithium.h.
References LOperand::value_.
|
inline |
Definition at line 61 of file lithium.h.
References LOperand::kKindFieldWidth, and LOperand::value_.
Referenced by LOperand::ConvertTo(), LCodeGen::EmitLoadDoubleRegister(), LCodeGen::EmitLoadRegister(), LOperand::PrintTo(), LiveRange::SetSpillOperand(), LCodeGen::ToDoubleRegister(), LCodeGen::ToHighMemOperand(), LCodeGen::ToMemOperand(), and LCodeGen::ToRegister().
|
inline |
Definition at line 60 of file lithium.h.
References BitFieldBase< Kind, shift, size, uint32_t >::decode(), and LOperand::value_.
Referenced by V8_FINAL< kOperandKind, kNumCachedOperands >::cast(), LOperand::PrintTo(), and LiveRange::SetSpillOperand().
void PrintTo | ( | StringStream * | stream | ) |
Definition at line 55 of file lithium.cc.
References StringStream::Add(), Register::AllocationIndexToString(), DwVfpRegister::AllocationIndexToString(), LUnallocated::ANY, LUnallocated::basic_policy(), LUnallocated::cast(), LOperand::CONSTANT_OPERAND, LOperand::DOUBLE_REGISTER, LOperand::DOUBLE_STACK_SLOT, LUnallocated::extended_policy(), LUnallocated::FIXED_DOUBLE_REGISTER, LUnallocated::FIXED_REGISTER, LUnallocated::fixed_register_index(), LUnallocated::FIXED_SLOT, LUnallocated::fixed_slot_index(), LOperand::index(), LOperand::INVALID, LOperand::kind(), LUnallocated::MUST_HAVE_REGISTER, LUnallocated::NONE, v8::internal::NULL, LOperand::REGISTER, LUnallocated::SAME_AS_FIRST_INPUT, LOperand::STACK_SLOT, LOperand::UNALLOCATED, LUnallocated::virtual_register(), and LUnallocated::WRITABLE_REGISTER.
Referenced by LInstruction::PrintDataTo(), and LInstruction::PrintOutputOperandTo().
|
static |
Definition at line 139 of file lithium.cc.
References LITHIUM_OPERAND_LIST, and LITHIUM_OPERAND_SETUP.
|
static |
Definition at line 146 of file lithium.cc.
References LITHIUM_OPERAND_LIST, and LITHIUM_OPERAND_TEARDOWN.
Referenced by V8::TearDown().
|
staticprotected |
Definition at line 82 of file lithium.h.
Referenced by LOperand::ConvertTo(), and LOperand::index().
|
protected |
Definition at line 87 of file lithium.h.
Referenced by LUnallocated::basic_policy(), LOperand::ConvertTo(), LOperand::Equals(), LUnallocated::extended_policy(), LUnallocated::fixed_register_index(), LUnallocated::fixed_slot_index(), LOperand::index(), LUnallocated::IsUsedAtStart(), LOperand::kind(), LUnallocated::LUnallocated(), LUnallocated::set_virtual_register(), and LUnallocated::virtual_register().