lestes::md::instructions::tm_instr_op_base Class Reference

Operand of tm_instr instruction. More...

#include <tm_instr_base.g.hh>

Inheritance diagram for lestes::md::instructions::tm_instr_op_base:

Inheritance graph
[legend]
List of all members.

Public Types

enum  kind_type { REGISTER, MEMORY, IMMEDIATE }
 Operand kinds. More...

Public Member Functions

ulint id_get () const
 The method id_get returns the value of the field tm_instr_op_base::id.
void id_set (ulint)
 The method id_set sets the field tm_instr_op_base::id to the given value.
ptr< ::lestes::std::set<
::lestes::md::types::tm_data_type_base::id_type > > 
allowed_types_get () const
 The method allowed_types_get returns the value of the field tm_instr_op_base::allowed_types.
void allowed_types_set (const ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > &)
 The method allowed_types_set sets the field tm_instr_op_base::allowed_types to the given value.
ptr< ::lestes::std::vector<
ulint > > 
destroyed_by_get () const
 The method destroyed_by_get returns the value of the field tm_instr_op_base::destroyed_by.
void destroyed_by_set (const ptr< ::lestes::std::vector< ulint > > &)
 The method destroyed_by_set sets the field tm_instr_op_base::destroyed_by to the given value.
ulint destroys_get () const
 The method destroys_get returns the value of the field tm_instr_op_base::destroys.
void destroys_set (ulint)
 The method destroys_set sets the field tm_instr_op_base::destroys to the given value.
virtual tm_instr_op_base::kind_type kind_get () override
virtual ptr< ::lestes::backend_v2::intercode::ge_operandconvert_to_ge (ptr< ::lestes::md::types::tm_data_type_base > type) override
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_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)
 Generated constructor for class tm_instr_op_base.
virtual void gc_mark ()
 Marking routine for class tm_instr_op_base.

Private Attributes

ulint id
 The operand's id.
srp< ::lestes::std::set<
::lestes::md::types::tm_data_type_base::id_type > > 
allowed_types
 A list of types that can be used by current operand.
srp< ::lestes::std::vector<
ulint > > 
destroyed_by
 If the current operand is input operand, it is an id list of output operands of the parent instruction that destroy value of the current operand (i.e. register overwrite ).
ulint destroys
 If the current operand if output one, it is id of an input operand that is destroyed by the current operand.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Operand of tm_instr instruction.


Member Enumeration Documentation

enum lestes::md::instructions::tm_instr_op_base::kind_type

Operand kinds.

Enumerator:
REGISTER 
MEMORY 
IMMEDIATE 


Constructor & Destructor Documentation

lestes::md::instructions::tm_instr_op_base::tm_instr_op_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 
) [protected]

Generated constructor for class tm_instr_op_base.

Generated constructor for class tm_instr_op_base.

Author:
lsg


Member Function Documentation

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

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

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

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

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

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

ptr<::lestes::std::set<::lestes::md::types::tm_data_type_base::id_type > > lestes::md::instructions::tm_instr_op_base::allowed_types_get (  )  const

The method allowed_types_get returns the value of the field tm_instr_op_base::allowed_types.

Returns:
The value of tm_instr_op_base::allowed_types.
Author:
lsg

void lestes::md::instructions::tm_instr_op_base::allowed_types_set ( const ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > &  x  ) 

The method allowed_types_set sets the field tm_instr_op_base::allowed_types to the given value.

Parameters:
[in] x The new value to set tm_instr_op_base::allowed_types to.
Author:
lsg

ptr<::lestes::std::vector< ulint > > lestes::md::instructions::tm_instr_op_base::destroyed_by_get (  )  const

The method destroyed_by_get returns the value of the field tm_instr_op_base::destroyed_by.

Returns:
The value of tm_instr_op_base::destroyed_by.
Author:
lsg

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

The method destroyed_by_set sets the field tm_instr_op_base::destroyed_by to the given value.

Parameters:
[in] x The new value to set tm_instr_op_base::destroyed_by to.
Author:
lsg

ulint lestes::md::instructions::tm_instr_op_base::destroys_get (  )  const

The method destroys_get returns the value of the field tm_instr_op_base::destroys.

Returns:
The value of tm_instr_op_base::destroys.
Author:
lsg

void lestes::md::instructions::tm_instr_op_base::destroys_set ( ulint  x  ) 

The method destroys_set sets the field tm_instr_op_base::destroys to the given value.

Parameters:
[in] x The new value to set tm_instr_op_base::destroys to.
Author:
lsg

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

Implemented in lestes::md::instructions::tm_instr_op_mem_base, lestes::md::instructions::tm_instr_op_reg_base, and lestes::md::instructions::tm_instr_op_imm_base.

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

Implemented in lestes::md::instructions::tm_instr_op_mem_base, lestes::md::instructions::tm_instr_op_reg_base, and lestes::md::instructions::tm_instr_op_imm_base.

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

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::instructions::tm_instr_op_mem_base, lestes::md::instructions::tm_instr_op_reg_base, lestes::md::instructions::tm_instr_op_imm_base, lestes::md::instructions::tm_instr_op_mem, lestes::md::instructions::tm_instr_op_reg, and lestes::md::instructions::tm_instr_op_imm.

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

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::instructions::tm_instr_op_mem_base, lestes::md::instructions::tm_instr_op_reg_base, lestes::md::instructions::tm_instr_op_imm_base, lestes::md::instructions::tm_instr_op_mem, lestes::md::instructions::tm_instr_op_reg, and lestes::md::instructions::tm_instr_op_imm.

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

Marking routine for class tm_instr_op_base.

Marking routine is used for garbage collection.

Author:
lsg

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

Reimplemented in lestes::md::instructions::tm_instr_op_mem_base, lestes::md::instructions::tm_instr_op_reg_base, lestes::md::instructions::tm_instr_op_imm_base, lestes::md::instructions::tm_instr_op_mem, lestes::md::instructions::tm_instr_op_reg, and lestes::md::instructions::tm_instr_op_imm.


Member Data Documentation

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

The operand's id.

srp< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > lestes::md::instructions::tm_instr_op_base::allowed_types [private]

A list of types that can be used by current operand.

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

If the current operand is input operand, it is an id list of output operands of the parent instruction that destroy value of the current operand (i.e. register overwrite ).

ulint lestes::md::instructions::tm_instr_op_base::destroys [private]

If the current operand if output one, it is id of an input operand that is destroyed by the current operand.

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

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::instructions::tm_instr_op_mem_base, lestes::md::instructions::tm_instr_op_reg_base, lestes::md::instructions::tm_instr_op_imm_base, lestes::md::instructions::tm_instr_op_mem, lestes::md::instructions::tm_instr_op_reg, and lestes::md::instructions::tm_instr_op_imm.


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