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

Public Types

typedef alloc::list
< Instruction * >::type 
InstructionListTy
 
typedef alloc::list< BeginInst * >
::type 
BBListTy
 
typedef InstructionListTy::iterator iterator
 
typedef
InstructionListTy::const_iterator 
const_iterator
 
typedef BBListTy::iterator bb_iterator
 
typedef BBListTy::const_iterator const_bb_iterator
 

Public Member Functions

 Method (methodinfo *m)
 
 ~Method ()
 
const Utf8Stringget_name_utf8 () const
 
const Utf8Stringget_class_name_utf8 () const
 
const Utf8Stringget_desc_utf8 () const
 
void add_Instruction (Instruction *I)
 Add instructions to a Method. More...
 
void remove_Instruction (Instruction *I)
 Remove an Instruction for a Method. More...
 
template<class InputIterator >
void replace_instruction_list (InputIterator first, InputIterator last)
 Replaces the instructions of the method, with the instructions in the given range [first, last). More...
 
void add_bb (BeginInst *bi)
 Add a BeginInst. More...
 
void remove_bb (BeginInst *bi)
 Remove BeginInst. More...
 
void set_init_bb (BeginInst *bi)
 
BeginInstget_init_bb () const
 
const_iterator begin () const
 
const_iterator end () const
 
size_t size () const
 
const_bb_iterator bb_begin () const
 
const_bb_iterator bb_end () const
 
size_t bb_size () const
 
const MethodDescriptorget_MethodDescriptor () const
 Get the MethodDescriptor. More...
 
void clear_schedule () const
 
BeginInstget_edge_block (BeginInst *pred, BeginInst *succ)
 Get a BeginInst representing an edge. More...
 

Private Attributes

InstructionListTy inst_list
 This is were the instructions live. More...
 
BBListTy bb_list
 
BeginInstinit_bb
 
MethodDescriptormethod_desc
 
Utf8Stringclass_name_utf8
 
Utf8Stringmethod_name_utf8
 
Utf8Stringmethod_desc_utf8
 

Detailed Description

Definition at line 62 of file MethodC2.hpp.

Member Typedef Documentation

typedef BBListTy::iterator cacao::jit::compiler2::Method::bb_iterator

Definition at line 68 of file MethodC2.hpp.

Definition at line 65 of file MethodC2.hpp.

typedef BBListTy::const_iterator cacao::jit::compiler2::Method::const_bb_iterator

Definition at line 69 of file MethodC2.hpp.

typedef InstructionListTy::const_iterator cacao::jit::compiler2::Method::const_iterator

Definition at line 67 of file MethodC2.hpp.

Definition at line 64 of file MethodC2.hpp.

typedef InstructionListTy::iterator cacao::jit::compiler2::Method::iterator

Definition at line 66 of file MethodC2.hpp.

Constructor & Destructor Documentation

cacao::jit::compiler2::Method::Method ( methodinfo m)

Definition at line 42 of file MethodC2.cpp.

cacao::jit::compiler2::Method::~Method ( )

Definition at line 71 of file MethodC2.cpp.

Member Function Documentation

void cacao::jit::compiler2::Method::add_bb ( BeginInst bi)

Add a BeginInst.

The Instruction will be added using add_Instruction().

Definition at line 97 of file MethodC2.cpp.

void cacao::jit::compiler2::Method::add_Instruction ( Instruction I)

Add instructions to a Method.

Instructions added via this method will be deleted by ~Method. use remove_Instruction() to delete them manually.

Definition at line 82 of file MethodC2.cpp.

const_bb_iterator cacao::jit::compiler2::Method::bb_begin ( ) const
inline

Definition at line 149 of file MethodC2.hpp.

const_bb_iterator cacao::jit::compiler2::Method::bb_end ( ) const
inline

Definition at line 153 of file MethodC2.hpp.

size_t cacao::jit::compiler2::Method::bb_size ( ) const
inline

Definition at line 157 of file MethodC2.hpp.

const_iterator cacao::jit::compiler2::Method::begin ( ) const
inline

Definition at line 137 of file MethodC2.hpp.

void cacao::jit::compiler2::Method::clear_schedule ( ) const

Definition at line 107 of file MethodC2.cpp.

const_iterator cacao::jit::compiler2::Method::end ( ) const
inline

Definition at line 141 of file MethodC2.hpp.

const Utf8String& cacao::jit::compiler2::Method::get_class_name_utf8 ( ) const
inline

Definition at line 86 of file MethodC2.hpp.

const Utf8String& cacao::jit::compiler2::Method::get_desc_utf8 ( ) const
inline

Definition at line 87 of file MethodC2.hpp.

BeginInst * cacao::jit::compiler2::Method::get_edge_block ( BeginInst pred,
BeginInst succ 
)

Get a BeginInst representing an edge.

Definition at line 117 of file MethodC2.cpp.

BeginInst* cacao::jit::compiler2::Method::get_init_bb ( ) const
inline

Definition at line 133 of file MethodC2.hpp.

const MethodDescriptor& cacao::jit::compiler2::Method::get_MethodDescriptor ( ) const
inline

Get the MethodDescriptor.

Definition at line 164 of file MethodC2.hpp.

const Utf8String& cacao::jit::compiler2::Method::get_name_utf8 ( ) const
inline

Definition at line 85 of file MethodC2.hpp.

void cacao::jit::compiler2::Method::remove_bb ( BeginInst bi)

Remove BeginInst.

The Instruction will be removed using remove_Instruction().

Definition at line 102 of file MethodC2.cpp.

void cacao::jit::compiler2::Method::remove_Instruction ( Instruction I)

Remove an Instruction for a Method.

The constructor will be called

Definition at line 89 of file MethodC2.cpp.

template<class InputIterator >
void cacao::jit::compiler2::Method::replace_instruction_list ( InputIterator  first,
InputIterator  last 
)
inline

Replaces the instructions of the method, with the instructions in the given range [first, last).

Instructions added via this method will be deleted by ~Method. use remove_Instruction() to delete them manually.

Definition at line 111 of file MethodC2.hpp.

void cacao::jit::compiler2::Method::set_init_bb ( BeginInst bi)
inline

Definition at line 129 of file MethodC2.hpp.

size_t cacao::jit::compiler2::Method::size ( ) const
inline

Definition at line 145 of file MethodC2.hpp.

Field Documentation

BBListTy cacao::jit::compiler2::Method::bb_list
private

Definition at line 75 of file MethodC2.hpp.

Utf8String& cacao::jit::compiler2::Method::class_name_utf8
private

Definition at line 78 of file MethodC2.hpp.

BeginInst* cacao::jit::compiler2::Method::init_bb
private

Definition at line 76 of file MethodC2.hpp.

InstructionListTy cacao::jit::compiler2::Method::inst_list
private

This is were the instructions live.

Definition at line 74 of file MethodC2.hpp.

MethodDescriptor* cacao::jit::compiler2::Method::method_desc
private

Definition at line 77 of file MethodC2.hpp.

Utf8String& cacao::jit::compiler2::Method::method_desc_utf8
private

Definition at line 80 of file MethodC2.hpp.

Utf8String& cacao::jit::compiler2::Method::method_name_utf8
private

Definition at line 79 of file MethodC2.hpp.


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