CACAO
Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes
cacao::jit::compiler2::CodeGenPass Class Reference

CodeGenPass TODO: more info. More...

Inheritance diagram for cacao::jit::compiler2::CodeGenPass:
cacao::jit::compiler2::Pass cacao::jit::compiler2::memory::ManagerMixin< CodeGenPass >

Public Types

typedef alloc::map
< MachineBasicBlock
*, std::size_t, MBBCompare >
::type 
BasicBlockMap
 

Public Member Functions

 CodeGenPass ()
 
virtual bool run (JITData &JD)
 Run the Pass. More...
 
virtual PassUsageget_PassUsage (PassUsage &PU) const
 Set the requirements for the pass. More...
 
std::size_t get_block_size (MachineBasicBlock *MBB) const
 
BasicBlockMap::const_iterator begin () const
 
BasicBlockMap::const_iterator end () const
 
- Public Member Functions inherited from cacao::jit::compiler2::Pass
 Pass ()
 
void set_PassManager (PassManager *PM)
 
template<class _PassClass >
_PassClass * get_Pass () const
 Get the result of a previous compiler pass. More...
 
template<class _PassClass >
_PassClass * get_Pass_if_available () const
 Get the result of a previous compiler pass. More...
 
virtual void initialize ()
 Initialize the Pass. More...
 
virtual void finalize ()
 Finalize the Pass. More...
 
virtual bool verify () const
 Verify the Result. More...
 
virtual ~Pass ()
 Destructor. More...
 

Static Public Attributes

static char ID = 0
 

Private Member Functions

void finish (JITData &JD)
 finish code generation More...
 

Private Attributes

BasicBlockMap bbmap
 

Additional Inherited Members

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

Detailed Description

CodeGenPass TODO: more info.

Definition at line 49 of file CodeGenPass.hpp.

Member Typedef Documentation

Definition at line 51 of file CodeGenPass.hpp.

Constructor & Destructor Documentation

cacao::jit::compiler2::CodeGenPass::CodeGenPass ( )
inline

Definition at line 68 of file CodeGenPass.hpp.

Member Function Documentation

BasicBlockMap::const_iterator cacao::jit::compiler2::CodeGenPass::begin ( ) const
inline

Definition at line 72 of file CodeGenPass.hpp.

BasicBlockMap::const_iterator cacao::jit::compiler2::CodeGenPass::end ( ) const
inline

Definition at line 73 of file CodeGenPass.hpp.

void cacao::jit::compiler2::CodeGenPass::finish ( JITData JD)
private

finish code generation

Finishes the code generation. A new memory, large enough for both data and code, is allocated and data and code are copied together to their final layout, unresolved jumps are resolved, ...

Definition at line 140 of file CodeGenPass.cpp.

std::size_t cacao::jit::compiler2::CodeGenPass::get_block_size ( MachineBasicBlock MBB) const

Definition at line 116 of file CodeGenPass.cpp.

PassUsage & cacao::jit::compiler2::CodeGenPass::get_PassUsage ( PassUsage PU) const
virtual

Set the requirements for the pass.

Reimplemented from cacao::jit::compiler2::Pass.

Definition at line 320 of file CodeGenPass.cpp.

bool cacao::jit::compiler2::CodeGenPass::run ( JITData JD)
virtual

Run the Pass.

This method implements the compiler pass.

Returns
false if a problem occurred, true otherwise

Implements cacao::jit::compiler2::Pass.

Definition at line 60 of file CodeGenPass.cpp.

Field Documentation

BasicBlockMap cacao::jit::compiler2::CodeGenPass::bbmap
private

Definition at line 65 of file CodeGenPass.hpp.

char cacao::jit::compiler2::CodeGenPass::ID = 0
static

Definition at line 67 of file CodeGenPass.hpp.


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