V8 Project
|
#include <instruction.h>
Public Types | |
enum | Kind { INVALID , UNALLOCATED , CONSTANT , IMMEDIATE , STACK_SLOT , DOUBLE_STACK_SLOT , REGISTER , DOUBLE_REGISTER } |
Public Member Functions | |
InstructionOperand () | |
InstructionOperand (Kind kind, int index) | |
Kind | kind () const |
int | index () const |
bool | Equals (InstructionOperand *other) const |
void | ConvertTo (Kind kind, int index) |
![]() | |
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 Types | |
typedef BitField< Kind, 0, 3 > | KindField |
Protected Attributes | |
unsigned | value_ |
Definition at line 47 of file instruction.h.
|
protected |
Definition at line 87 of file instruction.h.
Enumerator | |
---|---|
INVALID | |
UNALLOCATED | |
CONSTANT | |
IMMEDIATE | |
STACK_SLOT | |
DOUBLE_STACK_SLOT | |
REGISTER | |
DOUBLE_REGISTER |
Definition at line 49 of file instruction.h.
|
inline |
Definition at line 60 of file instruction.h.
Definition at line 61 of file instruction.h.
References ConvertTo(), index(), and kind().
Definition at line 75 of file instruction.h.
References DCHECK, DOUBLE_REGISTER, v8::internal::BitFieldBase< T, shift, size, uint32_t >::encode(), index(), kind(), v8::internal::BitFieldBase< T, shift, size, uint32_t >::kSize, REGISTER, and value_.
Referenced by v8::internal::compiler::LiveRange::ConvertOperands(), InstructionOperand(), and v8::internal::compiler::LiveRange::SetSpillOperand().
|
inline |
Definition at line 71 of file instruction.h.
References value_.
|
inline |
Definition at line 64 of file instruction.h.
References v8::internal::BitFieldBase< T, shift, size, uint32_t >::kSize, and value_.
Referenced by v8::internal::compiler::LiveRange::ConvertOperands(), ConvertTo(), InstructionOperand(), v8::internal::compiler::operator<<(), v8::internal::compiler::LiveRange::SetSpillOperand(), v8::internal::compiler::InstructionSelectorTest::FINAL::ToConstant(), v8::internal::compiler::InstructionOperandConverter::ToConstant(), v8::internal::compiler::InstructionOperandConverter::ToDoubleRegister(), v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ToMemOperand(), v8::internal::compiler::IA32OperandConverter::ToOperand(), v8::internal::compiler::InstructionOperandConverter::ToRegister(), v8::internal::compiler::X64OperandConverter::ToRegisterOrOperand(), v8::internal::compiler::InstructionSelectorTest::FINAL::ToVreg(), and v8::internal::compiler::UnallocatedOperand::UnallocatedOperand().
|
inline |
Definition at line 63 of file instruction.h.
References v8::internal::BitFieldBase< T, shift, size, uint32_t >::decode(), and value_.
Referenced by v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::cast(), v8::internal::compiler::LiveRange::ConvertOperands(), ConvertTo(), InstructionOperand(), v8::internal::compiler::operator<<(), v8::internal::compiler::LiveRange::SetSpillOperand(), v8::internal::compiler::InstructionSelectorTest::FINAL::ToConstant(), and v8::internal::compiler::InstructionSelectorTest::FINAL::ToVreg().
|
static |
Definition at line 82 of file instruction.cc.
References INSTRUCTION_OPERAND_LIST, and INSTRUCTION_OPERAND_SETUP.
Referenced by v8::internal::compiler::Pipeline::SetUp().
|
static |
Definition at line 90 of file instruction.cc.
References INSTRUCTION_OPERAND_LIST, and INSTRUCTION_OPERAND_TEARDOWN.
Referenced by v8::internal::compiler::Pipeline::TearDown().
|
protected |
Definition at line 89 of file instruction.h.
Referenced by v8::internal::compiler::UnallocatedOperand::basic_policy(), ConvertTo(), Equals(), v8::internal::compiler::UnallocatedOperand::extended_policy(), v8::internal::compiler::UnallocatedOperand::fixed_register_index(), v8::internal::compiler::UnallocatedOperand::fixed_slot_index(), index(), v8::internal::compiler::UnallocatedOperand::IsUsedAtStart(), kind(), v8::internal::compiler::UnallocatedOperand::set_virtual_register(), v8::internal::compiler::UnallocatedOperand::UnallocatedOperand(), and v8::internal::compiler::UnallocatedOperand::virtual_register().