v8
3.14.5(node0.10.28)
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, ARGUMENT } |
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 87 of file lithium.h.
References LOperand::ConvertTo().
|
inline |
Definition at line 73 of file lithium.h.
References ASSERT, BitField< Kind, 0, kKindFieldWidth >::encode(), LOperand::index(), LOperand::kKindFieldWidth, and LOperand::value_.
Referenced by LOperand::LOperand(), and LiveRange::SetSpillOperand().
|
inline |
Definition at line 70 of file lithium.h.
References LOperand::value_.
Referenced by LParallelMove::PrintDataTo().
|
inline |
Definition at line 62 of file lithium.h.
References LOperand::kKindFieldWidth, and LOperand::value_.
Referenced by LOperand::ConvertTo(), LConstantOperand::Create(), LStackSlot::Create(), LDoubleStackSlot::Create(), LRegister::Create(), LDoubleRegister::Create(), LChunk::LookupConstant(), LChunk::LookupLiteralRepresentation(), LOperand::PrintTo(), LPointerMap::RecordPointer(), LPointerMap::RecordUntagged(), LPointerMap::RemovePointer(), and LiveRange::SetSpillOperand().
|
inline |
Definition at line 61 of file lithium.h.
References BitField< Kind, 0, kKindFieldWidth >::decode(), and LOperand::value_.
Referenced by LOperand::PrintTo(), and LiveRange::SetSpillOperand().
void PrintTo | ( | StringStream * | stream | ) |
Definition at line 52 of file lithium.cc.
References StringStream::Add(), Register::AllocationIndexToString(), DwVfpRegister::AllocationIndexToString(), LUnallocated::ANY, LOperand::ARGUMENT, LUnallocated::cast(), LOperand::CONSTANT_OPERAND, LOperand::DOUBLE_REGISTER, LOperand::DOUBLE_STACK_SLOT, LUnallocated::FIXED_DOUBLE_REGISTER, LUnallocated::fixed_index(), LUnallocated::FIXED_REGISTER, LUnallocated::FIXED_SLOT, LOperand::index(), LOperand::INVALID, LOperand::kind(), LUnallocated::MUST_HAVE_REGISTER, LUnallocated::NONE, v8::internal::NULL, LUnallocated::policy(), LOperand::REGISTER, LUnallocated::SAME_AS_FIRST_INPUT, LOperand::STACK_SLOT, LOperand::UNALLOCATED, LUnallocated::virtual_register(), and LUnallocated::WRITABLE_REGISTER.
Referenced by LInstruction::PrintDataTo(), LParallelMove::PrintDataTo(), LAccessArgumentsAt::PrintDataTo(), LCmpIDAndBranch::PrintDataTo(), LUnaryMathOperation::PrintDataTo(), LIsNilAndBranch::PrintDataTo(), LIsObjectAndBranch::PrintDataTo(), LIsStringAndBranch::PrintDataTo(), LIsSmiAndBranch::PrintDataTo(), LStringCompareAndBranch::PrintDataTo(), LBranch::PrintDataTo(), LLoadContextSlot::PrintDataTo(), LStoreContextSlot::PrintDataTo(), LCallNew::PrintDataTo(), LStoreNamedField::PrintDataTo(), LStoreNamedGeneric::PrintDataTo(), LStoreKeyedGeneric::PrintDataTo(), LTypeofIsAndBranch::PrintDataTo(), and LInstruction::PrintOutputOperandTo().
|
static |
Definition at line 132 of file lithium.cc.
References LITHIUM_OPERAND_LIST, and LITHIUM_OPERAND_SETUP.
|
static |
Definition at line 139 of file lithium.cc.
References LITHIUM_OPERAND_LIST, and LITHIUM_OPERAND_TEARDOWN.
Referenced by V8::TearDown().
|
staticprotected |
Definition at line 84 of file lithium.h.
Referenced by LOperand::ConvertTo(), and LOperand::index().
|
protected |
Definition at line 89 of file lithium.h.
Referenced by LOperand::ConvertTo(), LOperand::Equals(), LUnallocated::fixed_index(), LOperand::index(), LUnallocated::IsUsedAtStart(), LOperand::kind(), LUnallocated::policy(), LUnallocated::set_policy(), LUnallocated::set_virtual_register(), and LUnallocated::virtual_register().