lestes::backend_v2::workers::basic_block Class Reference

Represents a basic block. More...

#include <bb_finder.g.hh>

Inheritance diagram for lestes::backend_v2::workers::basic_block:

lestes::std::object lestes::std::mem::keystone List of all members.

Public Member Functions

ptr< ::lestes::backend_v2::intercode::ge_spfsp_get () const
 The method fsp_get returns the value of the field basic_block::fsp.
void fsp_set (const ptr< ::lestes::backend_v2::intercode::ge_sp > &)
 The method fsp_set sets the field basic_block::fsp to the given value.
ptr< ::lestes::backend_v2::intercode::ge_splsp_get () const
 The method lsp_get returns the value of the field basic_block::lsp.
void lsp_set (const ptr< ::lestes::backend_v2::intercode::ge_sp > &)
 The method lsp_set sets the field basic_block::lsp to the given value.
ptr< ::lestes::std::vector<
srp< ::lestes::backend_v2::intercode::ge_pi > > > 
instructions_get () const
 The method instructions_get returns the value of the field basic_block::instructions.
void instructions_set (const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > &)
 The method instructions_set sets the field basic_block::instructions to the given value.
virtual ptr< reflection_listreflection_get () const
 for purposes of dumping
virtual ptr< field_list_listfield_values_get () const
 for purposes of dumping

Static Public Member Functions

static ptr< basic_blockcreate (ptr< ::lestes::backend_v2::intercode::ge_sp > a__basic_block__fsp, ptr< ::lestes::backend_v2::intercode::ge_sp > a__basic_block__lsp, ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__basic_block__instructions)
 First generated factory method for class basic_block.
static ptr< basic_blockcreate ()
 Second generated factory method for class basic_block.

Protected Member Functions

 basic_block (ptr< ::lestes::backend_v2::intercode::ge_sp > a__basic_block__fsp, ptr< ::lestes::backend_v2::intercode::ge_sp > a__basic_block__lsp, ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__basic_block__instructions)
 Generated constructor for class basic_block.
virtual void gc_mark ()
 Marking routine for class basic_block.

Private Attributes

srp< ::lestes::backend_v2::intercode::ge_spfsp
 A sequencepoint that encloses beginning of the basic block.
srp< ::lestes::backend_v2::intercode::ge_splsp
 A sequencepoint that encloses end of the basic block.
srp< ::lestes::std::vector<
srp< ::lestes::backend_v2::intercode::ge_pi > > > 
instructions
 A list of the basic block's instructions.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Represents a basic block.

A basic block is a straight-line piece of code without any jumps or jump targets in the middle; jump targets, if any, start a block, and jumps end a block.

Definition at line 90 of file bb_finder.g.hh.


Constructor & Destructor Documentation

lestes::backend_v2::workers::basic_block::basic_block ( ptr< ::lestes::backend_v2::intercode::ge_sp a__basic_block__fsp,
ptr< ::lestes::backend_v2::intercode::ge_sp a__basic_block__lsp,
ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > >  a__basic_block__instructions 
) [protected]

Generated constructor for class basic_block.

Generated constructor for class basic_block.

Author:
lsg

Definition at line 153 of file bb_finder.g.cc.

Referenced by create().

00156         : ::lestes::std::object(), fsp(a__basic_block__fsp), lsp(a__basic_block__lsp), instructions(checked(a__basic_block__instructions))
00157 {}


Member Function Documentation

ptr<::lestes::backend_v2::intercode::ge_sp > lestes::backend_v2::workers::basic_block::fsp_get (  )  const

The method fsp_get returns the value of the field basic_block::fsp.

Returns:
The value of basic_block::fsp.
Author:
lsg

Definition at line 77 of file bb_finder.g.cc.

References fsp.

00078 {
00079         return fsp;
00080 }

void lestes::backend_v2::workers::basic_block::fsp_set ( const ptr< ::lestes::backend_v2::intercode::ge_sp > &  x  ) 

The method fsp_set sets the field basic_block::fsp to the given value.

Parameters:
[in] x The new value to set basic_block::fsp to.
Author:
lsg

Definition at line 86 of file bb_finder.g.cc.

References fsp.

00087 {
00088         basic_block::fsp = x;
00089 }

ptr<::lestes::backend_v2::intercode::ge_sp > lestes::backend_v2::workers::basic_block::lsp_get (  )  const

The method lsp_get returns the value of the field basic_block::lsp.

Returns:
The value of basic_block::lsp.
Author:
lsg

Definition at line 95 of file bb_finder.g.cc.

References lsp.

00096 {
00097         return lsp;
00098 }

void lestes::backend_v2::workers::basic_block::lsp_set ( const ptr< ::lestes::backend_v2::intercode::ge_sp > &  x  ) 

The method lsp_set sets the field basic_block::lsp to the given value.

Parameters:
[in] x The new value to set basic_block::lsp to.
Author:
lsg

Definition at line 104 of file bb_finder.g.cc.

References lsp.

00105 {
00106         basic_block::lsp = x;
00107 }

ptr<::lestes::std::vector< srp<::lestes::backend_v2::intercode::ge_pi > > > lestes::backend_v2::workers::basic_block::instructions_get (  )  const

The method instructions_get returns the value of the field basic_block::instructions.

Returns:
The value of basic_block::instructions.
Author:
lsg

Definition at line 113 of file bb_finder.g.cc.

References instructions.

00114 {
00115         return instructions;
00116 }

void lestes::backend_v2::workers::basic_block::instructions_set ( const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > &  x  ) 

The method instructions_set sets the field basic_block::instructions to the given value.

Parameters:
[in] x The new value to set basic_block::instructions to.
Author:
lsg

Definition at line 122 of file bb_finder.g.cc.

References instructions.

00123 {
00124         basic_block::instructions = x;
00125 }

ptr< basic_block > lestes::backend_v2::workers::basic_block::create ( ptr< ::lestes::backend_v2::intercode::ge_sp a__basic_block__fsp,
ptr< ::lestes::backend_v2::intercode::ge_sp a__basic_block__lsp,
ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > >  a__basic_block__instructions 
) [static]

First generated factory method for class basic_block.

This factory method for class basic_block takes values of all fields as arguments.

Author:
lsg

Definition at line 131 of file bb_finder.g.cc.

References basic_block().

00134 {
00135         return ptr< basic_block > ( new basic_block(a__basic_block__fsp,
00136                 a__basic_block__lsp,
00137                 a__basic_block__instructions) );
00138 }

ptr< basic_block > lestes::backend_v2::workers::basic_block::create (  )  [static]

Second generated factory method for class basic_block.

This factory method for class basic_block uses initializers.

Author:
lsg

Definition at line 144 of file bb_finder.g.cc.

References basic_block().

Referenced by lestes::backend_v2::workers::bb_finder::process().

00145 {
00146         return ptr< basic_block > ( new basic_block(NULL, NULL, ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > ::create()) );
00147 }

ptr< object::reflection_list > lestes::backend_v2::workers::basic_block::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::std::object.

Definition at line 159 of file bb_finder.g.cc.

References lestes::std::list< T >::create(), reflection, and lestes::std::object::reflection_get().

00160 {
00161         if (!reflection) {
00162                 typedef class_reflection::field_metadata md;
00163                 typedef class_reflection::field_metadata_list mdlist;
00164                 ptr<mdlist> mdl = mdlist::create();
00165                 mdl->push_back( md::create( "fsp", "ge_sp" ) );
00166                 mdl->push_back( md::create( "lsp", "ge_sp" ) );
00167                 mdl->push_back( md::create( "instructions", "vector&lt; srp&lt; ::lestes::backend_v2::intercode::ge_pi &gt; &gt;" ) );
00168                 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00169                 reflection->push_back( class_reflection::create( "basic_block", mdl ) );
00170         }
00171         return reflection;
00172 }

ptr< object::field_list_list > lestes::backend_v2::workers::basic_block::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::std::object.

Definition at line 174 of file bb_finder.g.cc.

References lestes::std::list< T >::create(), and lestes::std::object::field_values_get().

00175 {
00176         ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00177         result->push_back( value_list::create() );
00178         result->back()->push_back( this->fsp );
00179         result->push_back( value_list::create() );
00180         result->back()->push_back( this->lsp );
00181         result->push_back( value_list::create() );
00182         result->back()->push_back( this->instructions );
00183         return result;
00184 }

void lestes::backend_v2::workers::basic_block::gc_mark ( void   )  [protected, virtual]

Marking routine for class basic_block.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::std::mem::keystone.

Definition at line 191 of file bb_finder.g.cc.

References lestes::std::mem::keystone::gc_mark().

00192 {
00193 	::lestes::std::object::gc_mark();
00194 }


Member Data Documentation

srp< ::lestes::backend_v2::intercode::ge_sp > lestes::backend_v2::workers::basic_block::fsp [private]

A sequencepoint that encloses beginning of the basic block.

Definition at line 140 of file bb_finder.g.hh.

Referenced by fsp_get(), and fsp_set().

srp< ::lestes::backend_v2::intercode::ge_sp > lestes::backend_v2::workers::basic_block::lsp [private]

A sequencepoint that encloses end of the basic block.

Definition at line 142 of file bb_finder.g.hh.

Referenced by lsp_get(), and lsp_set().

srp< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > lestes::backend_v2::workers::basic_block::instructions [private]

A list of the basic block's instructions.

Definition at line 144 of file bb_finder.g.hh.

Referenced by instructions_get(), and instructions_set().

ptr< object::reflection_list > lestes::backend_v2::workers::basic_block::reflection = reflection [static, private]

Reimplemented from lestes::std::object.

Definition at line 145 of file bb_finder.g.hh.

Referenced by reflection_get().


The documentation for this class was generated from the following files:
Generated on Mon Feb 12 18:24:10 2007 for lestes by doxygen 1.5.1-20070107