lestes::md::mem::mem_alloc_manager Class Reference

Manager for variable allocation. More...

#include <mem_alloc_manager.g.hh>

Inheritance diagram for lestes::md::mem::mem_alloc_manager:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual ptr< ::lestes::backend_v2::intercode::pi_mem_factoryallocate_local_tmp (ptr< ::lestes::lang::cplus::sem::ss_function_declaration > function, ptr< ::lestes::lang::cplus::sem::ss_type > decl)
 Allocates space for variable on the local stack.
virtual ptr< ::lestes::backend_v2::intercode::pi_mem_factoryallocate_local_tmp (ptr< ::lestes::lang::cplus::sem::ss_function_declaration > function, ptr< ::lestes::md::types::tm_data_type_base > decl)
 Allocates space for variable on the local stack.
virtual ptr< ::lestes::backend_v2::intercode::pi_mem_factoryallocate_local_var (ptr< ::lestes::lang::cplus::sem::ss_function_declaration > function, ptr< ::lestes::lang::cplus::sem::ss_object_declaration > decl)
 Allocates space for variable on the local stack.
virtual ptr< ::lestes::backend_v2::intercode::pi_mem_factoryallocate_global_var (ptr< ::lestes::lang::cplus::sem::ss_object_declaration > decl)
 Allocates space for variable in global data storage.
virtual void init_global_var (ptr< ::lestes::backend_v2::intercode::pi_mem_factory > mem, ptr< ::lestes::md::literals::literal_info_base > value)
 Initialises space in global data storage by 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)
 Deallocates previously allocated space.
virtual ptr< reflection_listreflection_get () const
 for purposes of dumping
virtual ptr< field_list_listfield_values_get () const
 for purposes of dumping

Static Public Member Functions

static ptr< mem_alloc_managersingleton_instance_get ()
 The method singleton_instance_get returns the value of the field mem_alloc_manager::singleton_instance.
static void singleton_instance_set (const ptr< mem_alloc_manager > &)
 The method singleton_instance_set sets the field mem_alloc_manager::singleton_instance to the given value.
static ptr< mem_alloc_managerinstance ()
 Returns singleton instance.
static ptr< mem_alloc_managercreate ()
 First generated factory method for class mem_alloc_manager.

Protected Member Functions

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

Static Private Attributes

static ptr< mem_alloc_managersingleton_instance = NULL
 Singleton instance.
static ptr< reflection_listreflection = reflection

Detailed Description

Manager for variable allocation.

The backend provides interface for allocating and accessing memory for variables and parameters. The allocation means that somebody lets the backend know about new variable, the backend returns object representing corresponding place in memory and at the end it generates assembler definition for this object.


Constructor & Destructor Documentation

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

Generated constructor for class mem_alloc_manager.

Generated constructor for class mem_alloc_manager.

Author:
lsg


Member Function Documentation

ptr< mem_alloc_manager > lestes::md::mem::mem_alloc_manager::singleton_instance_get (  )  [static]

The method singleton_instance_get returns the value of the field mem_alloc_manager::singleton_instance.

Returns:
The value of mem_alloc_manager::singleton_instance.
Author:
lsg

void lestes::md::mem::mem_alloc_manager::singleton_instance_set ( const ptr< mem_alloc_manager > &  x  )  [static]

The method singleton_instance_set sets the field mem_alloc_manager::singleton_instance to the given value.

Parameters:
[in] x The new value to set mem_alloc_manager::singleton_instance to.
Author:
lsg

virtual ptr< ::lestes::backend_v2::intercode::pi_mem_factory > lestes::md::mem::mem_alloc_manager::allocate_local_tmp ( ptr< ::lestes::lang::cplus::sem::ss_function_declaration function,
ptr< ::lestes::lang::cplus::sem::ss_type decl 
) [virtual]

Allocates space for variable on the local stack.

virtual ptr< ::lestes::backend_v2::intercode::pi_mem_factory > lestes::md::mem::mem_alloc_manager::allocate_local_tmp ( ptr< ::lestes::lang::cplus::sem::ss_function_declaration function,
ptr< ::lestes::md::types::tm_data_type_base decl 
) [virtual]

Allocates space for variable on the local stack.

virtual ptr< ::lestes::backend_v2::intercode::pi_mem_factory > lestes::md::mem::mem_alloc_manager::allocate_local_var ( ptr< ::lestes::lang::cplus::sem::ss_function_declaration function,
ptr< ::lestes::lang::cplus::sem::ss_object_declaration decl 
) [virtual]

Allocates space for variable on the local stack.

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

Allocates space for variable in global data storage.

virtual void lestes::md::mem::mem_alloc_manager::init_global_var ( ptr< ::lestes::backend_v2::intercode::pi_mem_factory mem,
ptr< ::lestes::md::literals::literal_info_base value 
) [virtual]

Initialises space in global data storage by given value.

virtual void lestes::md::mem::mem_alloc_manager::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 
) [virtual]

Deallocates previously allocated space.

ptr< mem_alloc_manager > lestes::md::mem::mem_alloc_manager::instance ( void   )  [static]

Returns singleton instance.

Returns instance.

ptr< mem_alloc_manager > lestes::md::mem::mem_alloc_manager::create ( void   )  [static]

First generated factory method for class mem_alloc_manager.

This factory method for class mem_alloc_manager takes values of all fields as arguments.

Author:
lsg

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

for purposes of dumping

Reimplemented from lestes::std::object.

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

for purposes of dumping

Reimplemented from lestes::std::object.

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

Marking routine for class mem_alloc_manager.

Marking routine is used for garbage collection.

Author:
lsg

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


Member Data Documentation

ptr< mem_alloc_manager > lestes::md::mem::mem_alloc_manager::singleton_instance = NULL [static, private]

Singleton instance.

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

Reimplemented from lestes::std::object.


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