lestes::md::instructions::tm_instr_op_reg_base Class Reference

Register operand. More...

#include <tm_instr_base.g.hh>

Inheritance diagram for lestes::md::instructions::tm_instr_op_reg_base:

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

Public Member Functions

ptr< ::lestes::std::set<
::lestes::md::registers::tm_register_base::id_type > > 
allowed_registers_get () const
 The method allowed_registers_get returns the value of the field tm_instr_op_reg_base::allowed_registers.
void allowed_registers_set (const ptr< ::lestes::std::set< ::lestes::md::registers::tm_register_base::id_type > > &)
 The method allowed_registers_set sets the field tm_instr_op_reg_base::allowed_registers to the given value.
virtual tm_instr_op_base::kind_type kind_get ()
 Tells kind of current operand.
virtual ptr< ::lestes::backend_v2::intercode::ge_operandconvert_to_ge (ptr< ::lestes::md::types::tm_data_type_base > type)
 Creates new instance of ge_operand on the basis of the current tm_instr_op.
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

 tm_instr_op_reg_base (ulint a__tm_instr_op_base__id, ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types, ptr< ::lestes::std::vector< ulint > > a__tm_instr_op_base__destroyed_by, ulint a__tm_instr_op_base__destroys, ptr< ::lestes::std::set< ::lestes::md::registers::tm_register_base::id_type > > a__tm_instr_op_reg_base__allowed_registers)
 Generated constructor for class tm_instr_op_reg_base.
virtual void gc_mark ()
 Marking routine for class tm_instr_op_reg_base.

Private Attributes

srp< ::lestes::std::set<
::lestes::md::registers::tm_register_base::id_type > > 
allowed_registers
 A list of registers that can be used by the current operand.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Register operand.

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

Definition at line 295 of file tm_instr_base.g.hh.


Constructor & Destructor Documentation

lestes::md::instructions::tm_instr_op_reg_base::tm_instr_op_reg_base ( ulint  a__tm_instr_op_base__id,
ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > >  a__tm_instr_op_base__allowed_types,
ptr< ::lestes::std::vector< ulint > >  a__tm_instr_op_base__destroyed_by,
ulint  a__tm_instr_op_base__destroys,
ptr< ::lestes::std::set< ::lestes::md::registers::tm_register_base::id_type > >  a__tm_instr_op_reg_base__allowed_registers 
) [protected]

Generated constructor for class tm_instr_op_reg_base.

Generated constructor for class tm_instr_op_reg_base.

Author:
lsg

Definition at line 434 of file tm_instr_base.g.cc.

00439         : tm_instr_op_base(a__tm_instr_op_base__id,
00440                 a__tm_instr_op_base__allowed_types,
00441                 a__tm_instr_op_base__destroyed_by,
00442                 a__tm_instr_op_base__destroys), allowed_registers(checked(a__tm_instr_op_reg_base__allowed_registers))
00443 {}


Member Function Documentation

ptr<::lestes::std::set<::lestes::md::registers::tm_register_base::id_type > > lestes::md::instructions::tm_instr_op_reg_base::allowed_registers_get (  )  const

The method allowed_registers_get returns the value of the field tm_instr_op_reg_base::allowed_registers.

Returns:
The value of tm_instr_op_reg_base::allowed_registers.
Author:
lsg

Definition at line 416 of file tm_instr_base.g.cc.

References allowed_registers.

00417 {
00418         return allowed_registers;
00419 }

void lestes::md::instructions::tm_instr_op_reg_base::allowed_registers_set ( const ptr< ::lestes::std::set< ::lestes::md::registers::tm_register_base::id_type > > &  x  ) 

The method allowed_registers_set sets the field tm_instr_op_reg_base::allowed_registers to the given value.

Parameters:
[in] x The new value to set tm_instr_op_reg_base::allowed_registers to.
Author:
lsg

Definition at line 425 of file tm_instr_base.g.cc.

References allowed_registers.

00426 {
00427         tm_instr_op_reg_base::allowed_registers = x;
00428 }

tm_instr_op_base::kind_type lestes::md::instructions::tm_instr_op_reg_base::kind_get (  )  [virtual]

Tells kind of current operand.

Implements lestes::md::instructions::tm_instr_op_base.

Definition at line 92 of file tm_instr_base.cc.

References lestes::md::instructions::tm_instr_op_base::REGISTER.

00093 {
00094     return tm_instr_op_base::REGISTER;
00095 }

ptr<::lestes::backend_v2::intercode::ge_operand > lestes::md::instructions::tm_instr_op_reg_base::convert_to_ge ( ptr< ::lestes::md::types::tm_data_type_base type  )  [virtual]

Creates new instance of ge_operand on the basis of the current tm_instr_op.

Parameters:
type A datatype of the created operand.
Returns:
A new ge_operand.

Implements lestes::md::instructions::tm_instr_op_base.

Definition at line 103 of file tm_instr_base.cc.

00103                                                                                                                          {
00104         return ge_operand_reg::create(type,NULL,NULL);
00105 }

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

for purposes of dumping

Reimplemented from lestes::md::instructions::tm_instr_op_base.

Reimplemented in lestes::md::instructions::tm_instr_op_reg.

Definition at line 445 of file tm_instr_base.g.cc.

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

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

00446 {
00447         if (!reflection) {
00448                 typedef class_reflection::field_metadata md;
00449                 typedef class_reflection::field_metadata_list mdlist;
00450                 ptr<mdlist> mdl = mdlist::create();
00451                 mdl->push_back( md::create( "allowed_registers", "set&lt; ::lestes::md::registers::tm_register_base::id_type &gt;" ) );
00452                 reflection = reflection_list::create( tm_instr_op_base::reflection_get() );
00453                 reflection->push_back( class_reflection::create( "tm_instr_op_reg_base", mdl ) );
00454         }
00455         return reflection;
00456 }

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

for purposes of dumping

Reimplemented from lestes::md::instructions::tm_instr_op_base.

Reimplemented in lestes::md::instructions::tm_instr_op_reg.

Definition at line 458 of file tm_instr_base.g.cc.

References lestes::std::list< T >::create(), and lestes::md::instructions::tm_instr_op_base::field_values_get().

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

00459 {
00460         ptr < field_list_list > result = tm_instr_op_base::field_values_get();
00461         result->push_back( value_list::create() );
00462         result->back()->push_back( this->allowed_registers );
00463         return result;
00464 }

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

Marking routine for class tm_instr_op_reg_base.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::md::instructions::tm_instr_op_base.

Reimplemented in lestes::md::instructions::tm_instr_op_reg.

Definition at line 471 of file tm_instr_base.g.cc.

References lestes::md::instructions::tm_instr_op_base::gc_mark().

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

00472 {
00473         tm_instr_op_base::gc_mark();
00474 }


Member Data Documentation

srp< ::lestes::std::set< ::lestes::md::registers::tm_register_base::id_type > > lestes::md::instructions::tm_instr_op_reg_base::allowed_registers [private]

A list of registers that can be used by the current operand.

Definition at line 328 of file tm_instr_base.g.hh.

Referenced by allowed_registers_get(), and allowed_registers_set().

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

Reimplemented from lestes::md::instructions::tm_instr_op_base.

Reimplemented in lestes::md::instructions::tm_instr_op_reg.

Definition at line 329 of file tm_instr_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:47 2007 for lestes by doxygen 1.5.1-20070107