lestes::md::instructions::instruction_group_base Class Reference

Represents a group of instructions that perform the same operation but they differ in type or kind of operands or execution background (used register, execution units ). More...

#include <instruction_group_base.g.hh>

Inheritance diagram for lestes::md::instructions::instruction_group_base:

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

Public Member Functions

ptr< ::lestes::std::vector<
ulint > > 
instructions_get () const
 The method instructions_get returns the value of the field instruction_group_base::instructions.
void instructions_set (const ptr< ::lestes::std::vector< ulint > > &)
 The method instructions_set sets the field instruction_group_base::instructions to the given value.
ptr< ::lestes::std::vector<
ulint > > 
input_operand_pids_get () const
 The method input_operand_pids_get returns the value of the field instruction_group_base::input_operand_pids.
void input_operand_pids_set (const ptr< ::lestes::std::vector< ulint > > &)
 The method input_operand_pids_set sets the field instruction_group_base::input_operand_pids to the given value.
ptr< ::lestes::std::vector<
ulint > > 
output_operand_pids_get () const
 The method output_operand_pids_get returns the value of the field instruction_group_base::output_operand_pids.
void output_operand_pids_set (const ptr< ::lestes::std::vector< ulint > > &)
 The method output_operand_pids_set sets the field instruction_group_base::output_operand_pids to the given value.
ptr< ::lestes::std::vector<
ulint > > 
input_operand_refs_get () const
 The method input_operand_refs_get returns the value of the field instruction_group_base::input_operand_refs.
void input_operand_refs_set (const ptr< ::lestes::std::vector< ulint > > &)
 The method input_operand_refs_set sets the field instruction_group_base::input_operand_refs to the given value.
ptr< ::lestes::std::vector<
ulint > > 
output_operand_refs_get () const
 The method output_operand_refs_get returns the value of the field instruction_group_base::output_operand_refs.
void output_operand_refs_set (const ptr< ::lestes::std::vector< ulint > > &)
 The method output_operand_refs_set sets the field instruction_group_base::output_operand_refs 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

 instruction_group_base (ptr< ::lestes::std::vector< ulint > > a__instruction_group_base__instructions, ptr< ::lestes::std::vector< ulint > > a__instruction_group_base__input_operand_pids, ptr< ::lestes::std::vector< ulint > > a__instruction_group_base__output_operand_pids, ptr< ::lestes::std::vector< ulint > > a__instruction_group_base__input_operand_refs, ptr< ::lestes::std::vector< ulint > > a__instruction_group_base__output_operand_refs)
 Generated constructor for class instruction_group_base.
virtual void gc_mark ()
 Marking routine for class instruction_group_base.

Private Attributes

srp< ::lestes::std::vector<
ulint > > 
instructions
 Grouped instructions.
srp< ::lestes::std::vector<
ulint > > 
input_operand_pids
 Ids of output operands of another instruction_group that this instruction_group receives as input operands.
srp< ::lestes::std::vector<
ulint > > 
output_operand_pids
 Ids of group's output operands that allows other instruction_groups to reference them.
srp< ::lestes::std::vector<
ulint > > 
input_operand_refs
 An item within this list marks operand of grouped instructions that corresponds to an id within input_operand_pids at the same index.
srp< ::lestes::std::vector<
ulint > > 
output_operand_refs
 An item within this list marks operand of grouped instructions that corresponds to an id within output_operand_pids at the same index.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Represents a group of instructions that perform the same operation but they differ in type or kind of operands or execution background (used register, execution units ).

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

Definition at line 35 of file instruction_group_base.g.hh.


Constructor & Destructor Documentation

lestes::md::instructions::instruction_group_base::instruction_group_base ( ptr< ::lestes::std::vector< ulint > >  a__instruction_group_base__instructions,
ptr< ::lestes::std::vector< ulint > >  a__instruction_group_base__input_operand_pids,
ptr< ::lestes::std::vector< ulint > >  a__instruction_group_base__output_operand_pids,
ptr< ::lestes::std::vector< ulint > >  a__instruction_group_base__input_operand_refs,
ptr< ::lestes::std::vector< ulint > >  a__instruction_group_base__output_operand_refs 
) [protected]

Generated constructor for class instruction_group_base.

Generated constructor for class instruction_group_base.

Author:
lsg

Definition at line 116 of file instruction_group_base.g.cc.

00121         : ::lestes::std::object(), instructions(checked(a__instruction_group_base__instructions)), input_operand_pids(checked(a__instruction_group_base__input_operand_pids)), output_operand_pids(checked(a__instruction_group_base__output_operand_pids)), input_operand_refs(checked(a__instruction_group_base__input_operand_refs)), output_operand_refs(checked(a__instruction_group_base__output_operand_refs))
00122 {}


Member Function Documentation

ptr<::lestes::std::vector< ulint > > lestes::md::instructions::instruction_group_base::instructions_get (  )  const

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

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

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

References instructions.

00027 {
00028         return instructions;
00029 }

void lestes::md::instructions::instruction_group_base::instructions_set ( const ptr< ::lestes::std::vector< ulint > > &  x  ) 

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

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

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

References instructions.

00036 {
00037         instruction_group_base::instructions = x;
00038 }

ptr<::lestes::std::vector< ulint > > lestes::md::instructions::instruction_group_base::input_operand_pids_get (  )  const

The method input_operand_pids_get returns the value of the field instruction_group_base::input_operand_pids.

Returns:
The value of instruction_group_base::input_operand_pids.
Author:
lsg

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

References input_operand_pids.

00045 {
00046         return input_operand_pids;
00047 }

void lestes::md::instructions::instruction_group_base::input_operand_pids_set ( const ptr< ::lestes::std::vector< ulint > > &  x  ) 

The method input_operand_pids_set sets the field instruction_group_base::input_operand_pids to the given value.

Parameters:
[in] x The new value to set instruction_group_base::input_operand_pids to.
Author:
lsg

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

References input_operand_pids.

00054 {
00055         instruction_group_base::input_operand_pids = x;
00056 }

ptr<::lestes::std::vector< ulint > > lestes::md::instructions::instruction_group_base::output_operand_pids_get (  )  const

The method output_operand_pids_get returns the value of the field instruction_group_base::output_operand_pids.

Returns:
The value of instruction_group_base::output_operand_pids.
Author:
lsg

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

References output_operand_pids.

00063 {
00064         return output_operand_pids;
00065 }

void lestes::md::instructions::instruction_group_base::output_operand_pids_set ( const ptr< ::lestes::std::vector< ulint > > &  x  ) 

The method output_operand_pids_set sets the field instruction_group_base::output_operand_pids to the given value.

Parameters:
[in] x The new value to set instruction_group_base::output_operand_pids to.
Author:
lsg

Definition at line 71 of file instruction_group_base.g.cc.

References output_operand_pids.

ptr<::lestes::std::vector< ulint > > lestes::md::instructions::instruction_group_base::input_operand_refs_get (  )  const

The method input_operand_refs_get returns the value of the field instruction_group_base::input_operand_refs.

Returns:
The value of instruction_group_base::input_operand_refs.
Author:
lsg

Definition at line 80 of file instruction_group_base.g.cc.

References input_operand_refs.

00081 {
00082         return input_operand_refs;
00083 }

void lestes::md::instructions::instruction_group_base::input_operand_refs_set ( const ptr< ::lestes::std::vector< ulint > > &  x  ) 

The method input_operand_refs_set sets the field instruction_group_base::input_operand_refs to the given value.

Parameters:
[in] x The new value to set instruction_group_base::input_operand_refs to.
Author:
lsg

Definition at line 89 of file instruction_group_base.g.cc.

References input_operand_refs.

00090 {
00091         instruction_group_base::input_operand_refs = x;
00092 }

ptr<::lestes::std::vector< ulint > > lestes::md::instructions::instruction_group_base::output_operand_refs_get (  )  const

The method output_operand_refs_get returns the value of the field instruction_group_base::output_operand_refs.

Returns:
The value of instruction_group_base::output_operand_refs.
Author:
lsg

Definition at line 98 of file instruction_group_base.g.cc.

References output_operand_refs.

00099 {
00100         return output_operand_refs;
00101 }

void lestes::md::instructions::instruction_group_base::output_operand_refs_set ( const ptr< ::lestes::std::vector< ulint > > &  x  ) 

The method output_operand_refs_set sets the field instruction_group_base::output_operand_refs to the given value.

Parameters:
[in] x The new value to set instruction_group_base::output_operand_refs to.
Author:
lsg

Definition at line 107 of file instruction_group_base.g.cc.

References output_operand_refs.

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

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::instructions::instruction_group.

Definition at line 124 of file instruction_group_base.g.cc.

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

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

00125 {
00126         if (!reflection) {
00127                 typedef class_reflection::field_metadata md;
00128                 typedef class_reflection::field_metadata_list mdlist;
00129                 ptr<mdlist> mdl = mdlist::create();
00130                 mdl->push_back( md::create( "instructions", "vector&lt; ulint &gt;" ) );
00131                 mdl->push_back( md::create( "input_operand_pids", "vector&lt; ulint &gt;" ) );
00132                 mdl->push_back( md::create( "output_operand_pids", "vector&lt; ulint &gt;" ) );
00133                 mdl->push_back( md::create( "input_operand_refs", "vector&lt; ulint &gt;" ) );
00134                 mdl->push_back( md::create( "output_operand_refs", "vector&lt; ulint &gt;" ) );
00135                 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00136                 reflection->push_back( class_reflection::create( "instruction_group_base", mdl ) );
00137         }
00138         return reflection;
00139 }

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

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::instructions::instruction_group.

Definition at line 141 of file instruction_group_base.g.cc.

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

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

00142 {
00143         ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00144         result->push_back( value_list::create() );
00145         result->back()->push_back( this->instructions );
00146         result->push_back( value_list::create() );
00147         result->back()->push_back( this->input_operand_pids );
00148         result->push_back( value_list::create() );
00149         result->back()->push_back( this->output_operand_pids );
00150         result->push_back( value_list::create() );
00151         result->back()->push_back( this->input_operand_refs );
00152         result->push_back( value_list::create() );
00153         result->back()->push_back( this->output_operand_refs );
00154         return result;
00155 }

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

Marking routine for class instruction_group_base.

Marking routine is used for garbage collection.

Author:
lsg

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

Reimplemented in lestes::md::instructions::instruction_group.

Definition at line 162 of file instruction_group_base.g.cc.

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

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

00163 {
00164 	::lestes::std::object::gc_mark();
00165 }


Member Data Documentation

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

Grouped instructions.

Definition at line 88 of file instruction_group_base.g.hh.

Referenced by instructions_get(), and instructions_set().

srp< ::lestes::std::vector< ulint > > lestes::md::instructions::instruction_group_base::input_operand_pids [private]

Ids of output operands of another instruction_group that this instruction_group receives as input operands.

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

Referenced by input_operand_pids_get(), and input_operand_pids_set().

srp< ::lestes::std::vector< ulint > > lestes::md::instructions::instruction_group_base::output_operand_pids [private]

Ids of group's output operands that allows other instruction_groups to reference them.

Definition at line 92 of file instruction_group_base.g.hh.

Referenced by output_operand_pids_get(), and output_operand_pids_set().

srp< ::lestes::std::vector< ulint > > lestes::md::instructions::instruction_group_base::input_operand_refs [private]

An item within this list marks operand of grouped instructions that corresponds to an id within input_operand_pids at the same index.

Definition at line 94 of file instruction_group_base.g.hh.

Referenced by input_operand_refs_get(), and input_operand_refs_set().

srp< ::lestes::std::vector< ulint > > lestes::md::instructions::instruction_group_base::output_operand_refs [private]

An item within this list marks operand of grouped instructions that corresponds to an id within output_operand_pids at the same index.

Definition at line 96 of file instruction_group_base.g.hh.

Referenced by output_operand_refs_get(), and output_operand_refs_set().

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

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::instructions::instruction_group.

Definition at line 97 of file instruction_group_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