V8 Project
|
#include <instruction.h>
Classes | |
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 , SAME_AS_FIRST_INPUT } |
enum | Lifetime { USED_AT_START , USED_AT_END } |
![]() | |
enum | Kind { INVALID , UNALLOCATED , CONSTANT , IMMEDIATE , STACK_SLOT , DOUBLE_STACK_SLOT , REGISTER , DOUBLE_REGISTER } |
Static Public Member Functions | |
static const UnallocatedOperand * | cast (const InstructionOperand *op) |
static UnallocatedOperand * | cast (InstructionOperand *op) |
![]() | |
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 | |
![]() | |
typedef BitField< Kind, 0, 3 > | KindField |
![]() | |
unsigned | value_ |
Definition at line 96 of file instruction.h.
Enumerator | |
---|---|
FIXED_SLOT | |
EXTENDED_POLICY |
Definition at line 98 of file instruction.h.
Enumerator | |
---|---|
NONE | |
ANY | |
FIXED_REGISTER | |
FIXED_DOUBLE_REGISTER | |
MUST_HAVE_REGISTER | |
SAME_AS_FIRST_INPUT |
Definition at line 100 of file instruction.h.
Enumerator | |
---|---|
USED_AT_START | |
USED_AT_END |
Definition at line 110 of file instruction.h.
|
inlineexplicit |
Definition at line 123 of file instruction.h.
References v8::internal::BitFieldBase< T, shift, size, U >::encode(), EXTENDED_POLICY, USED_AT_END, and v8::internal::compiler::InstructionOperand::value_.
Referenced by CopyUnconstrained().
|
inline |
Definition at line 130 of file instruction.h.
References DCHECK, v8::internal::BitFieldBase< T, shift, size, U >::encode(), FIXED_SLOT, fixed_slot_index(), v8::internal::compiler::InstructionOperand::index(), v8::internal::BitFieldBase< T, shift, size, U >::kShift, and v8::internal::compiler::InstructionOperand::value_.
|
inline |
Definition at line 138 of file instruction.h.
References DCHECK, v8::internal::BitFieldBase< T, shift, size, U >::encode(), EXTENDED_POLICY, FIXED_DOUBLE_REGISTER, FIXED_REGISTER, v8::internal::compiler::InstructionOperand::index(), USED_AT_END, and v8::internal::compiler::InstructionOperand::value_.
|
inline |
Definition at line 147 of file instruction.h.
References v8::internal::BitFieldBase< T, shift, size, U >::encode(), EXTENDED_POLICY, and v8::internal::compiler::InstructionOperand::value_.
|
inline |
Definition at line 236 of file instruction.h.
References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::compiler::InstructionOperand::value_.
Referenced by extended_policy(), HasAnyPolicy(), HasFixedDoubleRegisterPolicy(), HasFixedPolicy(), HasFixedRegisterPolicy(), HasFixedSlotPolicy(), HasRegisterPolicy(), HasSameAsInputPolicy(), IsUsedAtStart(), and v8::internal::compiler::operator<<().
|
inlinestatic |
Definition at line 160 of file instruction.h.
References DCHECK.
Referenced by v8::internal::compiler::operator<<(), v8::internal::compiler::TARGET_TEST_F(), v8::internal::compiler::TEST_F(), v8::internal::compiler::InstructionSelectorTest::FINAL::ToVreg(), and v8::internal::compiler::UsePosition::UsePosition().
|
inlinestatic |
Definition at line 165 of file instruction.h.
References DCHECK.
|
inline |
Definition at line 154 of file instruction.h.
References ANY, set_virtual_register(), UnallocatedOperand(), and virtual_register().
|
inline |
Definition at line 239 of file instruction.h.
References basic_policy(), DCHECK, v8::internal::BitFieldBase< T, shift, size, U >::decode(), EXTENDED_POLICY, and v8::internal::compiler::InstructionOperand::value_.
Referenced by HasAnyPolicy(), HasFixedDoubleRegisterPolicy(), HasFixedPolicy(), HasFixedRegisterPolicy(), HasRegisterPolicy(), HasSameAsInputPolicy(), and v8::internal::compiler::operator<<().
|
inline |
Definition at line 251 of file instruction.h.
References DCHECK, v8::internal::BitFieldBase< T, shift, size, U >::decode(), HasFixedDoubleRegisterPolicy(), HasFixedRegisterPolicy(), and v8::internal::compiler::InstructionOperand::value_.
Referenced by v8::internal::compiler::operator<<().
|
inline |
Definition at line 245 of file instruction.h.
References DCHECK, HasFixedSlotPolicy(), v8::internal::BitFieldBase< T, shift, size, U >::kShift, and v8::internal::compiler::InstructionOperand::value_.
Referenced by v8::internal::compiler::operator<<(), and UnallocatedOperand().
|
inline |
Definition at line 209 of file instruction.h.
References ANY, basic_policy(), EXTENDED_POLICY, and extended_policy().
Referenced by v8::internal::compiler::UsePosition::UsePosition().
|
inline |
Definition at line 230 of file instruction.h.
References basic_policy(), EXTENDED_POLICY, extended_policy(), and FIXED_DOUBLE_REGISTER.
Referenced by fixed_register_index().
|
inline |
Definition at line 212 of file instruction.h.
References basic_policy(), extended_policy(), FIXED_DOUBLE_REGISTER, FIXED_REGISTER, and FIXED_SLOT.
|
inline |
Definition at line 226 of file instruction.h.
References basic_policy(), EXTENDED_POLICY, extended_policy(), and FIXED_REGISTER.
Referenced by fixed_register_index().
|
inline |
Definition at line 225 of file instruction.h.
References basic_policy(), and FIXED_SLOT.
Referenced by fixed_slot_index().
|
inline |
Definition at line 217 of file instruction.h.
References basic_policy(), EXTENDED_POLICY, extended_policy(), and MUST_HAVE_REGISTER.
Referenced by v8::internal::compiler::UsePosition::UsePosition().
|
inline |
Definition at line 221 of file instruction.h.
References basic_policy(), EXTENDED_POLICY, extended_policy(), and SAME_AS_FIRST_INPUT.
|
inline |
Definition at line 263 of file instruction.h.
References basic_policy(), DCHECK, v8::internal::BitFieldBase< T, shift, size, U >::decode(), EXTENDED_POLICY, USED_AT_START, and v8::internal::compiler::InstructionOperand::value_.
|
inline |
Definition at line 258 of file instruction.h.
References v8::internal::BitFieldBase< T, shift, size, U >::update(), and v8::internal::compiler::InstructionOperand::value_.
Referenced by CopyUnconstrained(), v8::internal::compiler::LiveRange::CreateAssignedOperand(), v8::internal::compiler::OperandGenerator::Define(), v8::internal::compiler::OperandGenerator::TempDoubleRegister(), v8::internal::compiler::OperandGenerator::TempRegister(), and v8::internal::compiler::OperandGenerator::Use().
v8::internal::compiler::UnallocatedOperand::STATIC_ASSERT | ( | KindField::kSize | = =3 | ) |
|
inline |
Definition at line 257 of file instruction.h.
References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::compiler::InstructionOperand::value_.
Referenced by CopyUnconstrained(), v8::internal::compiler::operator<<(), v8::internal::compiler::OperandGenerator::TempDoubleRegister(), and v8::internal::compiler::InstructionSelectorTest::FINAL::ToVreg().
|
static |
Definition at line 204 of file instruction.h.
|
static |
Definition at line 205 of file instruction.h.
|
static |
Definition at line 203 of file instruction.h.
Referenced by v8::internal::compiler::Pipeline::GenerateCode(), and v8::internal::compiler::BASE_EMBEDDED::GetVirtualRegister().
|
static |
Definition at line 206 of file instruction.h.