lestes::md::instructions::pi_pi2ge_pi_template_base Class Reference

A template that represents possible conversion from a pi_pi pseudoinstruction to a list of ge_pi pseudoinstructions. More...

#include <pi_pi2ge_pi_template_base.g.hh>

Inheritance diagram for lestes::md::instructions::pi_pi2ge_pi_template_base:

lestes::std::object lestes::std::mem::keystone lestes::md::instructions::pi_pi2ge_pi_template List of all members.

Public Member Functions

ulint id_get () const
 The method id_get returns the value of the field pi_pi2ge_pi_template_base::id.
void id_set (ulint)
 The method id_set sets the field pi_pi2ge_pi_template_base::id to the given value.
ptr< ::lestes::std::vector<
srp< instruction_group_base > > > 
instruction_groups_get () const
 The method instruction_groups_get returns the value of the field pi_pi2ge_pi_template_base::instruction_groups.
void instruction_groups_set (const ptr< ::lestes::std::vector< srp< instruction_group_base > > > &)
 The method instruction_groups_set sets the field pi_pi2ge_pi_template_base::instruction_groups 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

Protected Member Functions

 pi_pi2ge_pi_template_base (ulint a__pi_pi2ge_pi_template_base__id, ptr< ::lestes::std::vector< srp< instruction_group_base > > > a__pi_pi2ge_pi_template_base__instruction_groups)
 Generated constructor for class pi_pi2ge_pi_template_base.
virtual void gc_mark ()
 Marking routine for class pi_pi2ge_pi_template_base.

Private Attributes

ulint id
 The template's id.
srp< ::lestes::std::vector<
srp< instruction_group_base > > > 
instruction_groups
 List of instruction groups.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

A template that represents possible conversion from a pi_pi pseudoinstruction to a list of ge_pi pseudoinstructions.

The machine description provides template for every descendant class of pi_pi class. The template contains list of instruction groups. Every instruction group represents list of instructions that perform the same operation but differ by operands, datatypes or execution background (registers,units,...). Single ge_pi pseudoinstruction from each group is selected to the output of conversion during processing by pi_pi2ge_pi.

Note: A concrete derived class is target dependent and it is placed in /target/machine/${TARGET_CPU}/lestes/md/instructions/ directory.

Definition at line 40 of file pi_pi2ge_pi_template_base.g.hh.


Constructor & Destructor Documentation

lestes::md::instructions::pi_pi2ge_pi_template_base::pi_pi2ge_pi_template_base ( ulint  a__pi_pi2ge_pi_template_base__id,
ptr< ::lestes::std::vector< srp< instruction_group_base > > >  a__pi_pi2ge_pi_template_base__instruction_groups 
) [protected]

Generated constructor for class pi_pi2ge_pi_template_base.

Generated constructor for class pi_pi2ge_pi_template_base.

Author:
lsg

Definition at line 62 of file pi_pi2ge_pi_template_base.g.cc.

00064         : ::lestes::std::object(), id(a__pi_pi2ge_pi_template_base__id), instruction_groups(checked(a__pi_pi2ge_pi_template_base__instruction_groups))
00065 {}


Member Function Documentation

ulint lestes::md::instructions::pi_pi2ge_pi_template_base::id_get (  )  const

The method id_get returns the value of the field pi_pi2ge_pi_template_base::id.

Returns:
The value of pi_pi2ge_pi_template_base::id.
Author:
lsg

Definition at line 26 of file pi_pi2ge_pi_template_base.g.cc.

References id.

00027 {
00028         return id;
00029 }

void lestes::md::instructions::pi_pi2ge_pi_template_base::id_set ( ulint  x  ) 

The method id_set sets the field pi_pi2ge_pi_template_base::id to the given value.

Parameters:
[in] x The new value to set pi_pi2ge_pi_template_base::id to.
Author:
lsg

Definition at line 35 of file pi_pi2ge_pi_template_base.g.cc.

References id.

00036 {
00037         pi_pi2ge_pi_template_base::id = x;
00038 }

ptr<::lestes::std::vector< srp< instruction_group_base > > > lestes::md::instructions::pi_pi2ge_pi_template_base::instruction_groups_get (  )  const

The method instruction_groups_get returns the value of the field pi_pi2ge_pi_template_base::instruction_groups.

Returns:
The value of pi_pi2ge_pi_template_base::instruction_groups.
Author:
lsg

Definition at line 44 of file pi_pi2ge_pi_template_base.g.cc.

References instruction_groups.

00045 {
00046         return instruction_groups;
00047 }

void lestes::md::instructions::pi_pi2ge_pi_template_base::instruction_groups_set ( const ptr< ::lestes::std::vector< srp< instruction_group_base > > > &  x  ) 

The method instruction_groups_set sets the field pi_pi2ge_pi_template_base::instruction_groups to the given value.

Parameters:
[in] x The new value to set pi_pi2ge_pi_template_base::instruction_groups to.
Author:
lsg

Definition at line 53 of file pi_pi2ge_pi_template_base.g.cc.

References instruction_groups.

ptr< object::reflection_list > lestes::md::instructions::pi_pi2ge_pi_template_base::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::instructions::pi_pi2ge_pi_template.

Definition at line 67 of file pi_pi2ge_pi_template_base.g.cc.

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

Referenced by lestes::md::instructions::pi_pi2ge_pi_template::reflection_get().

00068 {
00069         if (!reflection) {
00070                 typedef class_reflection::field_metadata md;
00071                 typedef class_reflection::field_metadata_list mdlist;
00072                 ptr<mdlist> mdl = mdlist::create();
00073                 mdl->push_back( md::create( "id", "ulint" ) );
00074                 mdl->push_back( md::create( "instruction_groups", "vector&lt; srp&lt; instruction_group_base &gt; &gt;" ) );
00075                 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00076                 reflection->push_back( class_reflection::create( "pi_pi2ge_pi_template_base", mdl ) );
00077         }
00078         return reflection;
00079 }

ptr< object::field_list_list > lestes::md::instructions::pi_pi2ge_pi_template_base::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::instructions::pi_pi2ge_pi_template.

Definition at line 81 of file pi_pi2ge_pi_template_base.g.cc.

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

Referenced by lestes::md::instructions::pi_pi2ge_pi_template::field_values_get().

00082 {
00083         ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00084         result->push_back( value_list::create() );
00085         result->back()->push_back( objectize< ulint > ::create( this->id ) );
00086         result->push_back( value_list::create() );
00087         result->back()->push_back( this->instruction_groups );
00088         return result;
00089 }

void lestes::md::instructions::pi_pi2ge_pi_template_base::gc_mark ( void   )  [protected, virtual]

Marking routine for class pi_pi2ge_pi_template_base.

Marking routine is used for garbage collection.

Author:
lsg

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

Reimplemented in lestes::md::instructions::pi_pi2ge_pi_template.

Definition at line 96 of file pi_pi2ge_pi_template_base.g.cc.

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

Referenced by lestes::md::instructions::pi_pi2ge_pi_template::gc_mark().

00097 {
00098 	::lestes::std::object::gc_mark();
00099 }


Member Data Documentation

ulint lestes::md::instructions::pi_pi2ge_pi_template_base::id [private]

The template's id.

Definition at line 72 of file pi_pi2ge_pi_template_base.g.hh.

Referenced by id_get(), and id_set().

srp< ::lestes::std::vector< srp< instruction_group_base > > > lestes::md::instructions::pi_pi2ge_pi_template_base::instruction_groups [private]

List of instruction groups.

Definition at line 74 of file pi_pi2ge_pi_template_base.g.hh.

Referenced by instruction_groups_get(), and instruction_groups_set().

ptr< object::reflection_list > lestes::md::instructions::pi_pi2ge_pi_template_base::reflection = reflection [static, private]

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::instructions::pi_pi2ge_pi_template.

Definition at line 75 of file pi_pi2ge_pi_template_base.g.hh.

Referenced by reflection_get().


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