|
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 Public Member Functions inherited from cacao::jit::compiler2::memory::ManagerMixin< MachineOperand > | |
| 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.
1.8.5