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 71 of file MachineOperand.hpp.
typedef embedded_operand_list::const_iterator cacao::jit::compiler2::MachineOperand::const_operand_iterator |
Definition at line 87 of file MachineOperand.hpp.
typedef alloc::vector<EmbeddedMachineOperand>::type cacao::jit::compiler2::MachineOperand::embedded_operand_list |
Definition at line 85 of file MachineOperand.hpp.
typedef std::size_t cacao::jit::compiler2::MachineOperand::IdentifyOffsetTy |
Definition at line 83 of file MachineOperand.hpp.
typedef std::size_t cacao::jit::compiler2::MachineOperand::IdentifySizeTy |
Definition at line 84 of file MachineOperand.hpp.
typedef const void* cacao::jit::compiler2::MachineOperand::IdentifyTy |
Definition at line 82 of file MachineOperand.hpp.
typedef embedded_operand_list::iterator cacao::jit::compiler2::MachineOperand::operand_iterator |
Definition at line 86 of file MachineOperand.hpp.
Enumerator | |
---|---|
MachineOperandID | |
RegisterID | |
StackSlotID | |
ManagedStackSlotID | |
ImmediateID | |
AddressID | |
VoidOperandID |
Definition at line 73 of file MachineOperand.hpp.
|
inlineexplicit |
Definition at line 104 of file MachineOperand.hpp.
|
inlinevirtual |
Definition at line 112 of file MachineOperand.hpp.
|
inline |
Definition at line 133 of file MachineOperand.hpp.
|
inline |
Definition at line 139 of file MachineOperand.hpp.
|
inline |
Definition at line 187 of file MachineOperand.hpp.
|
inline |
Definition at line 171 of file MachineOperand.hpp.
|
inline |
Definition at line 190 of file MachineOperand.hpp.
|
inline |
Definition at line 174 of file MachineOperand.hpp.
|
inline |
Definition at line 193 of file MachineOperand.hpp.
|
inline |
Definition at line 177 of file MachineOperand.hpp.
|
inline |
Definition at line 184 of file MachineOperand.hpp.
|
inline |
Definition at line 163 of file MachineOperand.hpp.
|
inline |
Definition at line 167 of file MachineOperand.hpp.
|
inline |
Definition at line 102 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::MachineAddress, and cacao::jit::compiler2::MachineRegister.
|
inline |
Definition at line 107 of file MachineOperand.hpp.
|
inline |
Definition at line 108 of file MachineOperand.hpp.
|
inline |
Definition at line 155 of file MachineOperand.hpp.
|
inlineprotectedvirtual |
Reimplemented in cacao::jit::compiler2::x86_64::NativeRegister, and cacao::jit::compiler2::aarch64::NativeRegister.
Definition at line 98 of file MachineOperand.hpp.
|
inlineprotectedvirtual |
Reimplemented in cacao::jit::compiler2::x86_64::NativeRegister, and cacao::jit::compiler2::aarch64::NativeRegister.
Definition at line 99 of file MachineOperand.hpp.
|
inlineprotectedvirtual |
Reimplemented in cacao::jit::compiler2::x86_64::NativeRegister, and cacao::jit::compiler2::aarch64::NativeRegister.
Definition at line 100 of file MachineOperand.hpp.
|
inline |
Definition at line 127 of file MachineOperand.hpp.
|
inline |
Definition at line 126 of file MachineOperand.hpp.
|
inline |
Definition at line 121 of file MachineOperand.hpp.
|
inline |
Definition at line 125 of file MachineOperand.hpp.
|
inline |
Definition at line 123 of file MachineOperand.hpp.
|
inline |
Definition at line 124 of file MachineOperand.hpp.
|
inline |
Definition at line 129 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 147 of file MachineOperand.hpp.
|
inline |
Definition at line 122 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 154 of file MachineOperand.hpp.
|
inline |
Definition at line 156 of file MachineOperand.hpp.
|
inline |
Definition at line 159 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 197 of file MachineOperand.hpp.
|
inlinevirtual |
Reimplemented in cacao::jit::compiler2::Address.
Definition at line 119 of file MachineOperand.hpp.
|
inlinevirtual |
Reimplemented in cacao::jit::compiler2::Immediate.
Definition at line 118 of file MachineOperand.hpp.
|
inlinevirtual |
Definition at line 113 of file MachineOperand.hpp.
|
inlinevirtual |
Reimplemented in cacao::jit::compiler2::ManagedStackSlot.
Definition at line 117 of file MachineOperand.hpp.
|
inlinevirtual |
Reimplemented in cacao::jit::compiler2::Register.
Definition at line 115 of file MachineOperand.hpp.
|
inlinevirtual |
Reimplemented in cacao::jit::compiler2::StackSlot.
Definition at line 116 of file MachineOperand.hpp.
|
inlinevirtual |
Reimplemented in cacao::jit::compiler2::VoidOperand.
Definition at line 114 of file MachineOperand.hpp.
|
protected |
TODO describe.
Definition at line 97 of file MachineOperand.hpp.
|
private |
Definition at line 90 of file MachineOperand.hpp.
|
staticprivate |
Definition at line 89 of file MachineOperand.hpp.
|
private |
Definition at line 91 of file MachineOperand.hpp.
|
private |
Definition at line 92 of file MachineOperand.hpp.