lestes::md::types::copy_constructor_call_generator_base Class Reference

Copies value of operand to memory. More...

#include <copy_constructor_call_generator_base.g.hh>

Inheritance diagram for lestes::md::types::copy_constructor_call_generator_base:

Inheritance graph
[legend]
List of all members.

Public Member Functions

ptr< list< srp< ::lestes::backend_v2::intercode::pi_pi > > > generate (ptr< ::lestes::backend_v2::intercode::pi_mem > into, ptr< ::lestes::backend_v2::intercode::pi_operand > from, ptr< ::lestes::backend_v2::intercode::pi_sp > psp, ptr< ::lestes::backend_v2::intercode::pi_sp > nsp)
 Generates list of pi-pseudoinstructions that copies operand to memory.
virtual ptr< ::lestes::backend_v2::intercode::ge_operandgenerate_copy (ptr< ::lestes::backend_v2::intercode::ge_operand > op, ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > copy_code) override
 Generates list of ge-pseudoinstructions that copies value between operands and inserts them to an output code list.
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

 copy_constructor_call_generator_base ()
 Generated constructor for class copy_constructor_call_generator_base.
virtual void gc_mark ()
 Marking routine for class copy_constructor_call_generator_base.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Copies value of operand to memory.

Generates list of pseudoinstructions that copy value of pi_operand to pi_mem.

Generated list depends on: 1. tm_data_type of operand - If type of operands is a builtin or POD type (copy-constructor not defined), then the function creates list of pseudoinstructions that copies value of from into into. Otherwise function creates list containing single pi_function_call pseudoinstruction which represents copy constructor call for the type. 2.Kind of source operand - copying reg->mem vs. mem->mem

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


Constructor & Destructor Documentation

lestes::md::types::copy_constructor_call_generator_base::copy_constructor_call_generator_base (  )  [protected]

Generated constructor for class copy_constructor_call_generator_base.

Generated constructor for class copy_constructor_call_generator_base.

Author:
lsg


Member Function Documentation

ptr<list<srp< ::lestes::backend_v2::intercode::pi_pi> > > lestes::md::types::copy_constructor_call_generator_base::generate ( ptr< ::lestes::backend_v2::intercode::pi_mem into,
ptr< ::lestes::backend_v2::intercode::pi_operand from,
ptr< ::lestes::backend_v2::intercode::pi_sp psp,
ptr< ::lestes::backend_v2::intercode::pi_sp nsp 
)

Generates list of pi-pseudoinstructions that copies operand to memory.

Parameters:
into A destination operand.
from A source operand.
psp A sequencepoint that is set as psp to any generated code.
nsp A sequencepoint that is set as nsp to any generated code.

virtual ptr< ::lestes::backend_v2::intercode::ge_operand > lestes::md::types::copy_constructor_call_generator_base::generate_copy ( ptr< ::lestes::backend_v2::intercode::ge_operand op,
ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi > > >  copy_code 
) [pure virtual]

Generates list of ge-pseudoinstructions that copies value between operands and inserts them to an output code list.

Parameters:
op An operand to be copied.
copy_code An list of output instructions.
Returns:
A new copy of the operand.

Implemented in lestes::md::types::copy_constructor_call_generator.

ptr< object::reflection_list > lestes::md::types::copy_constructor_call_generator_base::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::types::copy_constructor_call_generator.

ptr< object::field_list_list > lestes::md::types::copy_constructor_call_generator_base::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::types::copy_constructor_call_generator.

void lestes::md::types::copy_constructor_call_generator_base::gc_mark ( void   )  [protected, virtual]

Marking routine for class copy_constructor_call_generator_base.

Marking routine is used for garbage collection.

Author:
lsg

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

Reimplemented in lestes::md::types::copy_constructor_call_generator.


Member Data Documentation

ptr< object::reflection_list > lestes::md::types::copy_constructor_call_generator_base::reflection = reflection [static, private]

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::types::copy_constructor_call_generator.


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