CACAO
Public Member Functions
cacao::jit::compiler2::BackendBase< Target > Class Template Reference

Machine Backend. More...

Inheritance diagram for cacao::jit::compiler2::BackendBase< Target >:
cacao::jit::compiler2::Backend cacao::jit::compiler2::memory::ManagerMixin< Backend >

Public Member Functions

 BackendBase (JITData *JD)
 
virtual OperandFileget_OperandFile (OperandFile &OF, MachineOperand *MO) const
 
virtual MachineInstructioncreate_Move (MachineOperand *src, MachineOperand *dst) const
 
virtual MachineInstructioncreate_Jump (MachineBasicBlock *target) const
 
virtual void create_frame (CodeMemory *CM, StackSlotManager *SSM) const
 
virtual const char * get_name () const
 
template<>
const char * get_name () const
 
template<>
MachineInstructioncreate_Move (MachineOperand *src, MachineOperand *dst) const
 
template<>
MachineInstructioncreate_Jump (MachineBasicBlock *target) const
 
template<>
void create_frame (CodeMemory *CM, StackSlotManager *SSM) const
 
template<>
OperandFileget_OperandFile (OperandFile &OF, MachineOperand *MO) const
 
- Public Member Functions inherited from cacao::jit::compiler2::Backend
JITDataget_JITData () const
 

Additional Inherited Members

- Static Public Member Functions inherited from cacao::jit::compiler2::Backend
static Backendfactory (JITData *JD)
 
- Static Public Member Functions inherited from cacao::jit::compiler2::memory::ManagerMixin< Backend >
static voidoperator new (std::size_t size) throw (std::bad_alloc)
 normal new More...
 
static voidoperator new (std::size_t size, void *ptr) throw ()
 placement new More...
 
static voidoperator 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 voidoperator new[] (std::size_t size) throw (std::bad_alloc)
 normal new[] More...
 
static voidoperator new[] (std::size_t size, void *ptr) throw ()
 placement new[] More...
 
static voidoperator 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...
 
- Protected Member Functions inherited from cacao::jit::compiler2::Backend
 Backend (JITData *JD)
 

Detailed Description

template<typename Target>
class cacao::jit::compiler2::BackendBase< Target >

Machine Backend.

This class containes all target dependent information.

Definition at line 68 of file Backend.hpp.

Constructor & Destructor Documentation

template<typename Target >
cacao::jit::compiler2::BackendBase< Target >::BackendBase ( JITData JD)
inline

Definition at line 70 of file Backend.hpp.

Member Function Documentation

template<typename Target >
virtual void cacao::jit::compiler2::BackendBase< Target >::create_frame ( CodeMemory CM,
StackSlotManager SSM 
) const
virtual
template<>
void cacao::jit::compiler2::BackendBase< X86_64 >::create_frame ( CodeMemory CM,
StackSlotManager SSM 
) const
virtual

Implements cacao::jit::compiler2::Backend.

Definition at line 137 of file X86_64Backend.cpp.

template<typename Target >
virtual MachineInstruction* cacao::jit::compiler2::BackendBase< Target >::create_Jump ( MachineBasicBlock target) const
virtual
template<>
MachineInstruction * cacao::jit::compiler2::BackendBase< X86_64 >::create_Jump ( MachineBasicBlock target) const
virtual

Implements cacao::jit::compiler2::Backend.

Definition at line 122 of file X86_64Backend.cpp.

template<>
MachineInstruction * cacao::jit::compiler2::BackendBase< X86_64 >::create_Move ( MachineOperand src,
MachineOperand dst 
) const
virtual

Implements cacao::jit::compiler2::Backend.

Definition at line 67 of file X86_64Backend.cpp.

template<typename Target >
virtual MachineInstruction* cacao::jit::compiler2::BackendBase< Target >::create_Move ( MachineOperand src,
MachineOperand dst 
) const
virtual
template<>
const char * cacao::jit::compiler2::BackendBase< X86_64 >::get_name ( ) const
virtual

Implements cacao::jit::compiler2::Backend.

Definition at line 62 of file X86_64Backend.cpp.

template<typename Target >
virtual const char* cacao::jit::compiler2::BackendBase< Target >::get_name ( ) const
virtual
template<typename Target >
virtual OperandFile& cacao::jit::compiler2::BackendBase< Target >::get_OperandFile ( OperandFile OF,
MachineOperand MO 
) const
virtual
template<>
OperandFile & cacao::jit::compiler2::BackendBase< X86_64 >::get_OperandFile ( OperandFile OF,
MachineOperand MO 
) const
virtual

Implements cacao::jit::compiler2::Backend.

Definition at line 101 of file X86_64Register.cpp.


The documentation for this class was generated from the following file: