lestes::md::mem::global_variable_allocator_base Class Reference

Manager for global variable allocation. More...

#include <memory_allocator_bases.g.hh>

Inheritance diagram for lestes::md::mem::global_variable_allocator_base:

lestes::md::mem::allocator_base lestes::std::object lestes::std::mem::keystone lestes::md::mem::global_variable_allocator List of all members.

Public Member Functions

virtual ptr< ::lestes::backend_v2::intercode::pi_mem_factoryallocate (ptr< ::lestes::lang::cplus::sem::ss_object_declaration > decl) override
 Allocates space for variable in global data storage.
virtual void init_variable (ptr< ::lestes::backend_v2::intercode::pi_mem_factory > mem, ptr< ::lestes::md::literals::literal_info_base > value) override
 Initialiaze memory space in global data storage with given value.
virtual void deallocate (ptr< ::lestes::backend_v2::intercode::pi_mem_factory > mem, ptr< ::lestes::backend_v2::intercode::pi_sp > psp, ptr< ::lestes::backend_v2::intercode::pi_sp > nsp) override
 Deallocates space occupied by variable.
virtual void calculate_placement () override
 Calculates placement of local variables and parameters in memory.
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

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

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Manager for global variable allocation.

Note: A concrete implementation is target machine-dependent and it is placed in /target/machine/${TARGET_CPU}/lestes/md/memory/ directory.

Definition at line 195 of file memory_allocator_bases.g.hh.


Constructor & Destructor Documentation

lestes::md::mem::global_variable_allocator_base::global_variable_allocator_base (  )  [protected]

Generated constructor for class global_variable_allocator_base.

Generated constructor for class global_variable_allocator_base.

Author:
lsg

Definition at line 134 of file memory_allocator_bases.g.cc.

00135         : allocator_base()
00136 {}


Member Function Documentation

virtual ptr< ::lestes::backend_v2::intercode::pi_mem_factory > lestes::md::mem::global_variable_allocator_base::allocate ( ptr< ::lestes::lang::cplus::sem::ss_object_declaration decl  )  [pure virtual]

Allocates space for variable in global data storage.

Implemented in lestes::md::mem::global_variable_allocator.

virtual void lestes::md::mem::global_variable_allocator_base::init_variable ( ptr< ::lestes::backend_v2::intercode::pi_mem_factory mem,
ptr< ::lestes::md::literals::literal_info_base value 
) [pure virtual]

Initialiaze memory space in global data storage with given value.

Implemented in lestes::md::mem::global_variable_allocator.

virtual void lestes::md::mem::global_variable_allocator_base::deallocate ( ptr< ::lestes::backend_v2::intercode::pi_mem_factory mem,
ptr< ::lestes::backend_v2::intercode::pi_sp psp,
ptr< ::lestes::backend_v2::intercode::pi_sp nsp 
) [pure virtual]

Deallocates space occupied by variable.

Implements lestes::md::mem::allocator_base.

Implemented in lestes::md::mem::global_variable_allocator.

virtual void lestes::md::mem::global_variable_allocator_base::calculate_placement (  )  [pure virtual]

Calculates placement of local variables and parameters in memory.

Implements lestes::md::mem::allocator_base.

Implemented in lestes::md::mem::global_variable_allocator.

ptr< object::reflection_list > lestes::md::mem::global_variable_allocator_base::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::md::mem::allocator_base.

Reimplemented in lestes::md::mem::global_variable_allocator.

Definition at line 138 of file memory_allocator_bases.g.cc.

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

Referenced by lestes::md::mem::global_variable_allocator::reflection_get().

00139 {
00140         if (!reflection) {
00141                 typedef class_reflection::field_metadata md;
00142                 typedef class_reflection::field_metadata_list mdlist;
00143                 ptr<mdlist> mdl = mdlist::create();
00144                 reflection = reflection_list::create( allocator_base::reflection_get() );
00145                 reflection->push_back( class_reflection::create( "global_variable_allocator_base", mdl ) );
00146         }
00147         return reflection;
00148 }

ptr< object::field_list_list > lestes::md::mem::global_variable_allocator_base::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::md::mem::allocator_base.

Reimplemented in lestes::md::mem::global_variable_allocator.

Definition at line 150 of file memory_allocator_bases.g.cc.

References lestes::md::mem::allocator_base::field_values_get().

Referenced by lestes::md::mem::global_variable_allocator::field_values_get().

00151 {
00152         ptr < field_list_list > result = allocator_base::field_values_get();
00153         return result;
00154 }

void lestes::md::mem::global_variable_allocator_base::gc_mark ( void   )  [protected, virtual]

Marking routine for class global_variable_allocator_base.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::md::mem::allocator_base.

Reimplemented in lestes::md::mem::global_variable_allocator.

Definition at line 161 of file memory_allocator_bases.g.cc.

References lestes::md::mem::allocator_base::gc_mark().

Referenced by lestes::md::mem::global_variable_allocator::gc_mark().

00162 {
00163         allocator_base::gc_mark();
00164 }


Member Data Documentation

ptr< object::reflection_list > lestes::md::mem::global_variable_allocator_base::reflection = reflection [static, private]

Reimplemented from lestes::md::mem::allocator_base.

Reimplemented in lestes::md::mem::global_variable_allocator.

Definition at line 225 of file memory_allocator_bases.g.hh.

Referenced by reflection_get().


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