lestes::md::instructions::tm_instr_base Class Reference

A description of target machine instruction. More...

#include <tm_instr_base.g.hh>

Inheritance diagram for lestes::md::instructions::tm_instr_base:

Inheritance graph
[legend]
List of all members.

Public Member Functions

ulint id_get () const
 The method id_get returns the value of the field tm_instr_base::id.
void id_set (ulint)
 The method id_set sets the field tm_instr_base::id to the given value.
ptr< ::lestes::std::vector<
srp< tm_instr_op_base > > > 
operands_input_get () const
 The method operands_input_get returns the value of the field tm_instr_base::operands_input.
void operands_input_set (const ptr< ::lestes::std::vector< srp< tm_instr_op_base > > > &)
 The method operands_input_set sets the field tm_instr_base::operands_input to the given value.
ptr< ::lestes::std::vector<
srp< tm_instr_op_base > > > 
operands_output_get () const
 The method operands_output_get returns the value of the field tm_instr_base::operands_output.
void operands_output_set (const ptr< ::lestes::std::vector< srp< tm_instr_op_base > > > &)
 The method operands_output_set sets the field tm_instr_base::operands_output to the given value.
lstring asm_output_get () const
 The method asm_output_get returns the value of the field tm_instr_base::asm_output.
void asm_output_set (lstring)
 The method asm_output_set sets the field tm_instr_base::asm_output to the given value.
ptr< ::lestes::std::map< ulint,
lstring > > 
properties_get () const
 The method properties_get returns the value of the field tm_instr_base::properties.
void properties_set (const ptr< ::lestes::std::map< ulint, lstring > > &)
 The method properties_set sets the field tm_instr_base::properties to the given value.
ptr< ::lestes::std::set< ulint > > versions_get () const
 The method versions_get returns the value of the field tm_instr_base::versions.
void versions_set (const ptr< ::lestes::std::set< ulint > > &)
 The method versions_set sets the field tm_instr_base::versions to the given value.
ulint flags_get () const
 The method flags_get returns the value of the field tm_instr_base::flags.
void flags_set (ulint)
 The method flags_set sets the field tm_instr_base::flags to the given value.
ptr< ::lestes::md::instructions::execution_infoexec_info_get () const
 The method exec_info_get returns the value of the field tm_instr_base::exec_info.
void exec_info_set (const ptr< ::lestes::md::instructions::execution_info > &)
 The method exec_info_set sets the field tm_instr_base::exec_info to the given value.
bool is_jump ()
 Tells whether the current instruction is jump.
bool is_load ()
 Tells whether the current instruction is load.
bool is_store ()
 Tells whether the current instruction is store.
bool is_system ()
 Tells whether the current instruction is system instruction.
bool is_copy ()
 Tells whether the current instruction is copy instruction.
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_base (ulint a__tm_instr_base__id, ptr< ::lestes::std::vector< srp< tm_instr_op_base > > > a__tm_instr_base__operands_input, ptr< ::lestes::std::vector< srp< tm_instr_op_base > > > a__tm_instr_base__operands_output, lstring a__tm_instr_base__asm_output, ptr< ::lestes::std::map< ulint, lstring > > a__tm_instr_base__properties, ptr< ::lestes::std::set< ulint > > a__tm_instr_base__versions, ulint a__tm_instr_base__flags, ptr< ::lestes::md::instructions::execution_info > a__tm_instr_base__exec_info)
 Generated constructor for class tm_instr_base.
virtual void gc_mark ()
 Marking routine for class tm_instr_base.

Private Attributes

ulint id
 The instruction's id.
srp< ::lestes::std::vector<
srp< tm_instr_op_base > > > 
operands_input
 The instruction's input operands.
srp< ::lestes::std::vector<
srp< tm_instr_op_base > > > 
operands_output
 The instruction's output operands.
lstring asm_output
 Assembly code template for the instruction.
srp< ::lestes::std::map< ulint,
lstring > > 
properties
 User defined properties.
srp< ::lestes::std::set< ulint > > versions
 Set of ids of instructions that perform the same operation as current one does but they differ in operand types and execution.
ulint flags
 The instruction's flags.
srp< ::lestes::md::instructions::execution_infoexec_info
 A description of the instruction's execution parameters.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

A description of target machine instruction.

Machine description generates instances of this class for instructions of a target architecture.

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


Constructor & Destructor Documentation

lestes::md::instructions::tm_instr_base::tm_instr_base ( ulint  a__tm_instr_base__id,
ptr< ::lestes::std::vector< srp< tm_instr_op_base > > >  a__tm_instr_base__operands_input,
ptr< ::lestes::std::vector< srp< tm_instr_op_base > > >  a__tm_instr_base__operands_output,
lstring  a__tm_instr_base__asm_output,
ptr< ::lestes::std::map< ulint, lstring > >  a__tm_instr_base__properties,
ptr< ::lestes::std::set< ulint > >  a__tm_instr_base__versions,
ulint  a__tm_instr_base__flags,
ptr< ::lestes::md::instructions::execution_info a__tm_instr_base__exec_info 
) [protected]

Generated constructor for class tm_instr_base.

Generated constructor for class tm_instr_base.

Author:
lsg


Member Function Documentation

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

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

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

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

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

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

ptr<::lestes::std::vector< srp< tm_instr_op_base > > > lestes::md::instructions::tm_instr_base::operands_input_get (  )  const

The method operands_input_get returns the value of the field tm_instr_base::operands_input.

Returns:
The value of tm_instr_base::operands_input.
Author:
lsg

void lestes::md::instructions::tm_instr_base::operands_input_set ( const ptr< ::lestes::std::vector< srp< tm_instr_op_base > > > &  x  ) 

The method operands_input_set sets the field tm_instr_base::operands_input to the given value.

Parameters:
[in] x The new value to set tm_instr_base::operands_input to.
Author:
lsg

ptr<::lestes::std::vector< srp< tm_instr_op_base > > > lestes::md::instructions::tm_instr_base::operands_output_get (  )  const

The method operands_output_get returns the value of the field tm_instr_base::operands_output.

Returns:
The value of tm_instr_base::operands_output.
Author:
lsg

void lestes::md::instructions::tm_instr_base::operands_output_set ( const ptr< ::lestes::std::vector< srp< tm_instr_op_base > > > &  x  ) 

The method operands_output_set sets the field tm_instr_base::operands_output to the given value.

Parameters:
[in] x The new value to set tm_instr_base::operands_output to.
Author:
lsg

lstring lestes::md::instructions::tm_instr_base::asm_output_get (  )  const

The method asm_output_get returns the value of the field tm_instr_base::asm_output.

Returns:
The value of tm_instr_base::asm_output.
Author:
lsg

void lestes::md::instructions::tm_instr_base::asm_output_set ( lstring  x  ) 

The method asm_output_set sets the field tm_instr_base::asm_output to the given value.

Parameters:
[in] x The new value to set tm_instr_base::asm_output to.
Author:
lsg

ptr<::lestes::std::map< ulint, lstring > > lestes::md::instructions::tm_instr_base::properties_get (  )  const

The method properties_get returns the value of the field tm_instr_base::properties.

Returns:
The value of tm_instr_base::properties.
Author:
lsg

void lestes::md::instructions::tm_instr_base::properties_set ( const ptr< ::lestes::std::map< ulint, lstring > > &  x  ) 

The method properties_set sets the field tm_instr_base::properties to the given value.

Parameters:
[in] x The new value to set tm_instr_base::properties to.
Author:
lsg

ptr<::lestes::std::set< ulint > > lestes::md::instructions::tm_instr_base::versions_get (  )  const

The method versions_get returns the value of the field tm_instr_base::versions.

Returns:
The value of tm_instr_base::versions.
Author:
lsg

void lestes::md::instructions::tm_instr_base::versions_set ( const ptr< ::lestes::std::set< ulint > > &  x  ) 

The method versions_set sets the field tm_instr_base::versions to the given value.

Parameters:
[in] x The new value to set tm_instr_base::versions to.
Author:
lsg

ulint lestes::md::instructions::tm_instr_base::flags_get (  )  const

The method flags_get returns the value of the field tm_instr_base::flags.

Returns:
The value of tm_instr_base::flags.
Author:
lsg

void lestes::md::instructions::tm_instr_base::flags_set ( ulint  x  ) 

The method flags_set sets the field tm_instr_base::flags to the given value.

Parameters:
[in] x The new value to set tm_instr_base::flags to.
Author:
lsg

ptr<::lestes::md::instructions::execution_info > lestes::md::instructions::tm_instr_base::exec_info_get (  )  const

The method exec_info_get returns the value of the field tm_instr_base::exec_info.

Returns:
The value of tm_instr_base::exec_info.
Author:
lsg

void lestes::md::instructions::tm_instr_base::exec_info_set ( const ptr< ::lestes::md::instructions::execution_info > &  x  ) 

The method exec_info_set sets the field tm_instr_base::exec_info to the given value.

Parameters:
[in] x The new value to set tm_instr_base::exec_info to.
Author:
lsg

bool lestes::md::instructions::tm_instr_base::is_jump (  ) 

Tells whether the current instruction is jump.

bool lestes::md::instructions::tm_instr_base::is_load (  ) 

Tells whether the current instruction is load.

bool lestes::md::instructions::tm_instr_base::is_store (  ) 

Tells whether the current instruction is store.

bool lestes::md::instructions::tm_instr_base::is_system (  ) 

Tells whether the current instruction is system instruction.

bool lestes::md::instructions::tm_instr_base::is_copy (  ) 

Tells whether the current instruction is copy instruction.

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

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::instructions::tm_instr.

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

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::instructions::tm_instr.

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

Marking routine for class tm_instr_base.

Marking routine is used for garbage collection.

Author:
lsg

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

Reimplemented in lestes::md::instructions::tm_instr.


Member Data Documentation

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

The instruction's id.

srp< ::lestes::std::vector< srp< tm_instr_op_base > > > lestes::md::instructions::tm_instr_base::operands_input [private]

The instruction's input operands.

srp< ::lestes::std::vector< srp< tm_instr_op_base > > > lestes::md::instructions::tm_instr_base::operands_output [private]

The instruction's output operands.

lstring lestes::md::instructions::tm_instr_base::asm_output [private]

Assembly code template for the instruction.

This template is assembly code with tagged substitutions for operands. These tags are replaced with asm code for operand during code-generation phase.

srp< ::lestes::std::map< ulint, lstring > > lestes::md::instructions::tm_instr_base::properties [private]

User defined properties.

srp< ::lestes::std::set< ulint > > lestes::md::instructions::tm_instr_base::versions [private]

Set of ids of instructions that perform the same operation as current one does but they differ in operand types and execution.

ulint lestes::md::instructions::tm_instr_base::flags [private]

The instruction's flags.

srp< ::lestes::md::instructions::execution_info > lestes::md::instructions::tm_instr_base::exec_info [private]

A description of the instruction's execution parameters.

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

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::instructions::tm_instr.


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