v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#include <lithium.h>
Data Structures | |
class | LifetimeField |
class | PolicyField |
class | VirtualRegisterField |
Public Types | |
enum | Policy { NONE, ANY, FIXED_REGISTER, FIXED_DOUBLE_REGISTER, FIXED_SLOT, MUST_HAVE_REGISTER, WRITABLE_REGISTER, SAME_AS_FIRST_INPUT } |
enum | Lifetime { USED_AT_START, USED_AT_END } |
Public Types inherited from LOperand | |
enum | Kind { INVALID, UNALLOCATED, CONSTANT_OPERAND, STACK_SLOT, DOUBLE_STACK_SLOT, REGISTER, DOUBLE_REGISTER, ARGUMENT } |
Public Member Functions | |
LUnallocated (Policy policy) | |
LUnallocated (Policy policy, int fixed_index) | |
LUnallocated (Policy policy, Lifetime lifetime) | |
STATIC_ASSERT (kFixedIndexWidth > 5) | |
bool | HasAnyPolicy () const |
bool | HasFixedPolicy () const |
bool | HasRegisterPolicy () const |
bool | HasSameAsInputPolicy () const |
Policy | policy () const |
void | set_policy (Policy policy) |
int | fixed_index () const |
int | virtual_register () const |
void | set_virtual_register (unsigned id) |
LUnallocated * | CopyUnconstrained (Zone *zone) |
bool | IsUsedAtStart () |
Public Member Functions inherited from LOperand | |
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 LUnallocated * | cast (LOperand *op) |
Static Public Member Functions inherited from LOperand | |
static void | SetUpCaches () |
static void | TearDownCaches () |
Static Public Attributes | |
static const int | kPolicyWidth = 3 |
static const int | kLifetimeWidth = 1 |
static const int | kVirtualRegisterWidth = 15 |
static const int | kPolicyShift = kKindFieldWidth |
static const int | kLifetimeShift = kPolicyShift + kPolicyWidth |
static const int | kVirtualRegisterShift = kLifetimeShift + kLifetimeWidth |
static const int | kFixedIndexShift |
static const int | kFixedIndexWidth = 32 - kFixedIndexShift |
static const int | kMaxVirtualRegisters = 1 << kVirtualRegisterWidth |
static const int | kMaxFixedIndex = (1 << kFixedIndexWidth) - 1 |
static const int | kMinFixedIndex = -(1 << kFixedIndexWidth) |
Additional Inherited Members | |
Protected Member Functions inherited from LOperand | |
LOperand (Kind kind, int index) | |
Protected Attributes inherited from LOperand | |
unsigned | value_ |
Static Protected Attributes inherited from LOperand | |
static const int | kKindFieldWidth = 3 |
enum Policy |
|
inlineexplicit |
Definition at line 120 of file lithium.h.
References LUnallocated::USED_AT_END.
Referenced by LUnallocated::CopyUnconstrained().
|
inline |
Definition at line 124 of file lithium.h.
References LUnallocated::USED_AT_END.
|
inline |
|
inlinestatic |
Definition at line 198 of file lithium.h.
References ASSERT.
Referenced by LOperand::PrintTo(), and UsePosition::UsePosition().
|
inline |
Definition at line 192 of file lithium.h.
References LUnallocated::ANY, LUnallocated::LUnallocated(), LUnallocated::set_virtual_register(), and LUnallocated::virtual_register().
|
inline |
Definition at line 180 of file lithium.h.
References LUnallocated::kFixedIndexShift, and LOperand::value_.
Referenced by LOperand::PrintTo().
|
inline |
Definition at line 162 of file lithium.h.
References LUnallocated::ANY, and LUnallocated::policy().
Referenced by UsePosition::UsePosition().
|
inline |
Definition at line 165 of file lithium.h.
References LUnallocated::FIXED_DOUBLE_REGISTER, LUnallocated::FIXED_REGISTER, LUnallocated::FIXED_SLOT, and LUnallocated::policy().
|
inline |
Definition at line 170 of file lithium.h.
References LUnallocated::MUST_HAVE_REGISTER, LUnallocated::policy(), and LUnallocated::WRITABLE_REGISTER.
Referenced by UsePosition::UsePosition().
|
inline |
Definition at line 173 of file lithium.h.
References LUnallocated::policy(), and LUnallocated::SAME_AS_FIRST_INPUT.
|
inline |
Definition at line 203 of file lithium.h.
References BitField< Lifetime, kLifetimeShift, kLifetimeWidth >::decode(), LUnallocated::USED_AT_START, and LOperand::value_.
|
inline |
Definition at line 176 of file lithium.h.
References BitField< Policy, kPolicyShift, kPolicyWidth >::decode(), and LOperand::value_.
Referenced by LUnallocated::HasAnyPolicy(), LUnallocated::HasFixedPolicy(), LUnallocated::HasRegisterPolicy(), LUnallocated::HasSameAsInputPolicy(), and LOperand::PrintTo().
|
inline |
Definition at line 177 of file lithium.h.
References BitField< Policy, kPolicyShift, kPolicyWidth >::update(), and LOperand::value_.
|
inline |
Definition at line 188 of file lithium.h.
References BitField< unsigned, kVirtualRegisterShift, kVirtualRegisterWidth >::update(), and LOperand::value_.
Referenced by LUnallocated::CopyUnconstrained(), and LiveRange::CreateAssignedOperand().
STATIC_ASSERT | ( | kFixedIndexWidth | , |
5 | |||
) |
|
inline |
Definition at line 184 of file lithium.h.
References BitField< unsigned, kVirtualRegisterShift, kVirtualRegisterWidth >::decode(), and LOperand::value_.
Referenced by LUnallocated::CopyUnconstrained(), and LOperand::PrintTo().
|
static |
Definition at line 141 of file lithium.h.
Referenced by LUnallocated::fixed_index().
|
static |
|
static |
|
static |
Definition at line 159 of file lithium.h.
Referenced by OptimizingCompiler::CreateGraph().
|
static |
Definition at line 158 of file lithium.h.
Referenced by BASE_EMBEDDED< Visitor >::GetVirtualRegister(), and LChunk::NewChunk().
|
static |
Definition at line 160 of file lithium.h.
Referenced by OptimizingCompiler::CreateGraph().
|
static |
|
static |