CACAO
|
Operands that can be directly used by the machine (register, memory, stackslot) More...
Public Types | |
enum | OperandID { MachineOperandID, RegisterID, StackSlotID, ManagedStackSlotID, ImmediateID, AddressID, VoidOperandID } |
typedef const void * | IdentifyTy |
typedef std::size_t | IdentifyOffsetTy |
typedef std::size_t | IdentifySizeTy |
typedef alloc::vector < EmbeddedMachineOperand > ::type | embedded_operand_list |
typedef embedded_operand_list::iterator | operand_iterator |
typedef embedded_operand_list::const_iterator | const_operand_iterator |
Protected Member Functions | |
virtual IdentifyTy | id_base () const |
virtual IdentifyOffsetTy | id_offset () const |
virtual IdentifySizeTy | id_size () const |
Protected Attributes | |
embedded_operand_list | embedded_operands |
TODO describe. More... | |
Private Attributes | |
std::size_t | id |
OperandID | op_id |
Type::TypeID | type |
Static Private Attributes | |
static std::size_t | id_counter = 0 |
Additional Inherited Members | |
![]() | |
static void * | operator new (std::size_t size) throw (std::bad_alloc) |
normal new More... | |
static void * | operator new (std::size_t size, void *ptr) throw () |
placement new More... | |
static void * | operator new (std::size_t size, const std::nothrow_t &nt) throw () |
nothrow new More... | |
static void | operator delete (void *pMemory) throw () |
normal delete More... | |
static void | operator delete (void *pMemory, void *ptr) throw () |
placement delete More... | |
static void | operator delete (void *pMemory, const std::nothrow_t &) throw () |
nothrow delete More... | |
static void * | operator new[] (std::size_t size) throw (std::bad_alloc) |
normal new[] More... | |
static void * | operator new[] (std::size_t size, void *ptr) throw () |
placement new[] More... | |
static void * | operator new[] (std::size_t size, const std::nothrow_t &nt) throw () |
nothrow new[] More... | |
static void | operator delete[] (void *pMemory) throw () |
normal delete[] More... | |
static void | operator delete[] (void *pMemory, void *ptr) throw () |
placement delete[] More... | |
static void | operator delete[] (void *pMemory, const std::nothrow_t &) throw () |
nothrow delete[] More... | |
Operands that can be directly used by the machine (register, memory, stackslot)
Definition at line 72 of file MachineOperand.hpp.
typedef embedded_operand_list::const_iterator cacao::jit::compiler2::MachineOperand::const_operand_iterator |
Definition at line 88 of file MachineOperand.hpp.
typedef alloc::vector<EmbeddedMachineOperand>::type cacao::jit::compiler2::MachineOperand::embedded_operand_list |
Definition at line 86 of file MachineOperand.hpp.
typedef std::size_t cacao::jit::compiler2::MachineOperand::IdentifyOffsetTy |
Definition at line 84 of file MachineOperand.hpp.
typedef std::size_t cacao::jit::compiler2::MachineOperand::IdentifySizeTy |
Definition at line 85 of file MachineOperand.hpp.
typedef const void* cacao::jit::compiler2::MachineOperand::IdentifyTy |
Definition at line 83 of file MachineOperand.hpp.
typedef embedded_operand_list::iterator cacao::jit::compiler2::MachineOperand::operand_iterator |
Definition at line 87 of file MachineOperand.hpp.
Enumerator | |
---|---|
MachineOperandID | |
RegisterID | |
StackSlotID | |
ManagedStackSlotID | |
ImmediateID | |
AddressID | |
VoidOperandID |
Definition at line 74 of file MachineOperand.hpp.
|
inlineexplicit |
Definition at line 105 of file MachineOperand.hpp.
|
inlinevirtual |
Definition at line 113 of file MachineOperand.hpp.
|
inline |
Definition at line 134 of file MachineOperand.hpp.
|
inline |
Definition at line 140 of file MachineOperand.hpp.
|
inline |
Definition at line 188 of file MachineOperand.hpp.
|
inline |
Definition at line 172 of file MachineOperand.hpp.
|
inline |
Definition at line 191 of file MachineOperand.hpp.
|
inline |
Definition at line 175 of file MachineOperand.hpp.
|
inline |
Definition at line 194 of file MachineOperand.hpp.
|
inline |
Definition at line 178 of file MachineOperand.hpp.
|
inline |
Definition at line 185 of file MachineOperand.hpp.
|
inline |
Definition at line 164 of file MachineOperand.hpp.
|
inline |
Definition at line 168 of file MachineOperand.hpp.
|
inline |
Definition at line 103 of file MachineOperand.hpp.
|
pure virtual |
Implemented in cacao::jit::compiler2::Address, cacao::jit::compiler2::Immediate, cacao::jit::compiler2::ManagedStackSlot, cacao::jit::compiler2::StackSlot, cacao::jit::compiler2::VirtualRegister, cacao::jit::compiler2::UnassignedReg, cacao::jit::compiler2::Register, cacao::jit::compiler2::VoidOperand, cacao::jit::compiler2::x86_64::X86_64ModRMOperand, cacao::jit::compiler2::MachineRegister, and cacao::jit::compiler2::MachineAddress.
|
inline |
Definition at line 108 of file MachineOperand.hpp.
|
inline |
Definition at line 109 of file MachineOperand.hpp.
|
inline |
Definition at line 156 of file MachineOperand.hpp.
|
inlineprotectedvirtual |
Reimplemented in cacao::jit::compiler2::x86_64::NativeRegister.
Definition at line 99 of file MachineOperand.hpp.
|
inlineprotectedvirtual |
Reimplemented in cacao::jit::compiler2::x86_64::NativeRegister.
Definition at line 100 of file MachineOperand.hpp.
|
inlineprotectedvirtual |
Reimplemented in cacao::jit::compiler2::x86_64::NativeRegister.
Definition at line 101 of file MachineOperand.hpp.
|
inline |
Definition at line 128 of file MachineOperand.hpp.
|
inline |
Definition at line 127 of file MachineOperand.hpp.
|
inline |
Definition at line 122 of file MachineOperand.hpp.
|
inline |
Definition at line 126 of file MachineOperand.hpp.
|
inline |
Definition at line 124 of file MachineOperand.hpp.
|
inline |
Definition at line 125 of file MachineOperand.hpp.
|
inline |
Definition at line 130 of file MachineOperand.hpp.
|
inlinevirtual |
True if operand is virtual and must be assigned during register allocation.
Reimplemented in cacao::jit::compiler2::VirtualRegister.
Definition at line 148 of file MachineOperand.hpp.
|
inline |
Definition at line 123 of file MachineOperand.hpp.
|
inlinevirtual |
Return true if operand is processed during register allocation.
This implies is_virtual().
Reimplemented in cacao::jit::compiler2::Register.
Definition at line 155 of file MachineOperand.hpp.
|
inline |
Definition at line 157 of file MachineOperand.hpp.
|
inline |
Definition at line 160 of file MachineOperand.hpp.
Reimplemented in cacao::jit::compiler2::ManagedStackSlot, cacao::jit::compiler2::StackSlot, cacao::jit::compiler2::VirtualRegister, and cacao::jit::compiler2::x86_64::X86_64ModRMOperand.
Definition at line 198 of file MachineOperand.hpp.
|
inlinevirtual |
Reimplemented in cacao::jit::compiler2::Address.
Definition at line 120 of file MachineOperand.hpp.
|
inlinevirtual |
Reimplemented in cacao::jit::compiler2::Immediate.
Definition at line 119 of file MachineOperand.hpp.
|
inlinevirtual |
Definition at line 114 of file MachineOperand.hpp.
|
inlinevirtual |
Reimplemented in cacao::jit::compiler2::ManagedStackSlot.
Definition at line 118 of file MachineOperand.hpp.
|
inlinevirtual |
Reimplemented in cacao::jit::compiler2::Register.
Definition at line 116 of file MachineOperand.hpp.
|
inlinevirtual |
Reimplemented in cacao::jit::compiler2::ManagedStackSlot, and cacao::jit::compiler2::StackSlot.
Definition at line 117 of file MachineOperand.hpp.
|
inlinevirtual |
Reimplemented in cacao::jit::compiler2::VoidOperand.
Definition at line 115 of file MachineOperand.hpp.
|
protected |
TODO describe.
Definition at line 98 of file MachineOperand.hpp.
|
private |
Definition at line 91 of file MachineOperand.hpp.
|
staticprivate |
Definition at line 90 of file MachineOperand.hpp.
|
private |
Definition at line 92 of file MachineOperand.hpp.
|
private |
Definition at line 93 of file MachineOperand.hpp.