v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <lithium.h>
Data Structures | |
class | BasicPolicyField |
class | ExtendedPolicyField |
class | FixedRegisterField |
class | FixedSlotIndexField |
class | LifetimeField |
class | VirtualRegisterField |
Public Types | |
enum | BasicPolicy { FIXED_SLOT, EXTENDED_POLICY } |
enum | ExtendedPolicy { NONE, ANY, FIXED_REGISTER, FIXED_DOUBLE_REGISTER, 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 } |
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 | kMaxVirtualRegisters = VirtualRegisterField::kMax + 1 |
static const int | kFixedSlotIndexWidth = FixedSlotIndexField::kSize |
static const int | kMaxFixedSlotIndex = (1 << (kFixedSlotIndexWidth - 1)) - 1 |
static const int | kMinFixedSlotIndex = -(1 << (kFixedSlotIndexWidth - 1)) |
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 BasicPolicy |
enum ExtendedPolicy |
|
inlineexplicit |
Definition at line 122 of file lithium.h.
References BitFieldBase< BasicPolicy, shift, size, uint32_t >::encode(), BitFieldBase< ExtendedPolicy, shift, size, uint32_t >::encode(), BitFieldBase< Lifetime, shift, size, uint32_t >::encode(), LUnallocated::EXTENDED_POLICY, LUnallocated::USED_AT_END, and LOperand::value_.
Referenced by LUnallocated::CopyUnconstrained().
|
inline |
Definition at line 128 of file lithium.h.
References ASSERT, BitFieldBase< BasicPolicy, shift, size, uint32_t >::encode(), LUnallocated::FIXED_SLOT, LUnallocated::fixed_slot_index(), BitFieldBase< int, shift, size, uint32_t >::kShift, and LOperand::value_.
|
inline |
Definition at line 135 of file lithium.h.
References ASSERT, BitFieldBase< BasicPolicy, shift, size, uint32_t >::encode(), BitFieldBase< Lifetime, shift, size, uint32_t >::encode(), BitFieldBase< int, shift, size, uint32_t >::encode(), BitFieldBase< ExtendedPolicy, shift, size, uint32_t >::encode(), LUnallocated::EXTENDED_POLICY, LUnallocated::FIXED_DOUBLE_REGISTER, LUnallocated::FIXED_REGISTER, LUnallocated::USED_AT_END, and LOperand::value_.
|
inline |
|
inline |
Definition at line 234 of file lithium.h.
References BitFieldBase< BasicPolicy, shift, size, uint32_t >::decode(), and LOperand::value_.
Referenced by LUnallocated::extended_policy(), LUnallocated::HasAnyPolicy(), LUnallocated::HasFixedDoubleRegisterPolicy(), LUnallocated::HasFixedPolicy(), LUnallocated::HasFixedRegisterPolicy(), LUnallocated::HasFixedSlotPolicy(), LUnallocated::HasRegisterPolicy(), LUnallocated::HasSameAsInputPolicy(), LUnallocated::HasWritableRegisterPolicy(), LUnallocated::IsUsedAtStart(), and LOperand::PrintTo().
|
inlinestatic |
Definition at line 156 of file lithium.h.
References ASSERT.
Referenced by LOperand::PrintTo(), and UsePosition::UsePosition().
|
inline |
Definition at line 150 of file lithium.h.
References LUnallocated::ANY, LUnallocated::LUnallocated(), LUnallocated::set_virtual_register(), and LUnallocated::virtual_register().
|
inline |
Definition at line 239 of file lithium.h.
References ASSERT, LUnallocated::basic_policy(), BitFieldBase< ExtendedPolicy, shift, size, uint32_t >::decode(), LUnallocated::EXTENDED_POLICY, and LOperand::value_.
Referenced by LUnallocated::HasAnyPolicy(), LUnallocated::HasFixedDoubleRegisterPolicy(), LUnallocated::HasFixedPolicy(), LUnallocated::HasFixedRegisterPolicy(), LUnallocated::HasRegisterPolicy(), LUnallocated::HasSameAsInputPolicy(), LUnallocated::HasWritableRegisterPolicy(), and LOperand::PrintTo().
|
inline |
Definition at line 251 of file lithium.h.
References ASSERT, BitFieldBase< int, shift, size, uint32_t >::decode(), LUnallocated::HasFixedDoubleRegisterPolicy(), LUnallocated::HasFixedRegisterPolicy(), and LOperand::value_.
Referenced by LOperand::PrintTo().
|
inline |
Definition at line 245 of file lithium.h.
References ASSERT, LUnallocated::HasFixedSlotPolicy(), BitFieldBase< int, shift, size, uint32_t >::kShift, and LOperand::value_.
Referenced by LUnallocated::LUnallocated(), and LOperand::PrintTo().
|
inline |
Definition at line 199 of file lithium.h.
References LUnallocated::ANY, LUnallocated::basic_policy(), LUnallocated::EXTENDED_POLICY, and LUnallocated::extended_policy().
Referenced by UsePosition::UsePosition().
|
inline |
Definition at line 224 of file lithium.h.
References LUnallocated::basic_policy(), LUnallocated::EXTENDED_POLICY, LUnallocated::extended_policy(), and LUnallocated::FIXED_DOUBLE_REGISTER.
Referenced by LUnallocated::fixed_register_index().
|
inline |
Definition at line 203 of file lithium.h.
References LUnallocated::basic_policy(), LUnallocated::extended_policy(), LUnallocated::FIXED_DOUBLE_REGISTER, LUnallocated::FIXED_REGISTER, and LUnallocated::FIXED_SLOT.
|
inline |
Definition at line 220 of file lithium.h.
References LUnallocated::basic_policy(), LUnallocated::EXTENDED_POLICY, LUnallocated::extended_policy(), and LUnallocated::FIXED_REGISTER.
Referenced by LUnallocated::fixed_register_index().
|
inline |
Definition at line 217 of file lithium.h.
References LUnallocated::basic_policy(), and LUnallocated::FIXED_SLOT.
Referenced by LUnallocated::fixed_slot_index().
|
inline |
Definition at line 208 of file lithium.h.
References LUnallocated::basic_policy(), LUnallocated::EXTENDED_POLICY, LUnallocated::extended_policy(), LUnallocated::MUST_HAVE_REGISTER, and LUnallocated::WRITABLE_REGISTER.
Referenced by UsePosition::UsePosition().
|
inline |
Definition at line 213 of file lithium.h.
References LUnallocated::basic_policy(), LUnallocated::EXTENDED_POLICY, LUnallocated::extended_policy(), and LUnallocated::SAME_AS_FIRST_INPUT.
|
inline |
Definition at line 228 of file lithium.h.
References LUnallocated::basic_policy(), LUnallocated::EXTENDED_POLICY, LUnallocated::extended_policy(), and LUnallocated::WRITABLE_REGISTER.
|
inline |
Definition at line 265 of file lithium.h.
References ASSERT, LUnallocated::basic_policy(), BitFieldBase< Lifetime, shift, size, uint32_t >::decode(), LUnallocated::EXTENDED_POLICY, LUnallocated::USED_AT_START, and LOperand::value_.
|
inline |
Definition at line 260 of file lithium.h.
References BitFieldBase< unsigned, shift, size, uint32_t >::update(), and LOperand::value_.
Referenced by LUnallocated::CopyUnconstrained(), and LiveRange::CreateAssignedOperand().
STATIC_ASSERT | ( | kKindFieldWidth | = =3 | ) |
|
inline |
Definition at line 257 of file lithium.h.
References BitFieldBase< unsigned, shift, size, uint32_t >::decode(), and LOperand::value_.
Referenced by LUnallocated::CopyUnconstrained(), and LOperand::PrintTo().
|
static |
|
static |
Definition at line 195 of file lithium.h.
Referenced by OptimizedCompileJob::CreateGraph().
|
static |
Definition at line 193 of file lithium.h.
Referenced by BASE_EMBEDDED< Visitor >::GetVirtualRegister(), and LChunk::NewChunk().
|
static |
Definition at line 196 of file lithium.h.
Referenced by OptimizedCompileJob::CreateGraph().