#include <mem_alloc_manager.g.hh>
Inheritance diagram for lestes::md::mem::mem_alloc_manager:

Public Member Functions | |
| virtual ptr< ::lestes::backend_v2::intercode::pi_mem_factory > | allocate_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_factory > | allocate_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_factory > | allocate_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_factory > | allocate_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_list > | reflection_get () const |
| for purposes of dumping | |
| virtual ptr< field_list_list > | field_values_get () const |
| for purposes of dumping | |
Static Public Member Functions | |
| static ptr< mem_alloc_manager > | singleton_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_manager > | instance () |
| Returns singleton instance. | |
| static ptr< mem_alloc_manager > | create () |
| 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_manager > | singleton_instance = NULL |
| Singleton instance. | |
| static ptr< reflection_list > | reflection = reflection |
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.
Definition at line 106 of file mem_alloc_manager.g.hh.
| lestes::md::mem::mem_alloc_manager::mem_alloc_manager | ( | ) | [protected] |
Generated constructor for class mem_alloc_manager.
Generated constructor for class mem_alloc_manager.
Definition at line 60 of file mem_alloc_manager.g.cc.
Referenced by create().
| 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.
Definition at line 33 of file mem_alloc_manager.g.cc.
References singleton_instance.
Referenced by instance().
00034 { 00035 return singleton_instance; 00036 }
| 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.
| [in] | x | The new value to set mem_alloc_manager::singleton_instance to. |
Definition at line 42 of file mem_alloc_manager.g.cc.
References singleton_instance.
Referenced by instance().
00043 { 00044 mem_alloc_manager::singleton_instance = x; 00045 }
| 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.
Definition at line 30 of file mem_alloc_manager.cc.
References create(), singleton_instance_get(), and singleton_instance_set().
00030 { 00031 if ( !singleton_instance_get() ) { 00032 singleton_instance_set(mem_alloc_manager::create()); 00033 } 00034 return singleton_instance_get(); 00035 }
| 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.
Definition at line 51 of file mem_alloc_manager.g.cc.
References mem_alloc_manager().
Referenced by instance().
00052 { 00053 return ptr< mem_alloc_manager > ( new mem_alloc_manager() ); 00054 }
| ptr< object::reflection_list > lestes::md::mem::mem_alloc_manager::reflection_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::std::object.
Definition at line 64 of file mem_alloc_manager.g.cc.
References lestes::std::list< T >::create(), reflection, and lestes::std::object::reflection_get().
00065 { 00066 if (!reflection) { 00067 typedef class_reflection::field_metadata md; 00068 typedef class_reflection::field_metadata_list mdlist; 00069 ptr<mdlist> mdl = mdlist::create(); 00070 mdl->push_back( md::create( "singleton_instance", "mem_alloc_manager" ) ); 00071 reflection = reflection_list::create( ::lestes::std::object::reflection_get() ); 00072 reflection->push_back( class_reflection::create( "mem_alloc_manager", mdl ) ); 00073 } 00074 return reflection; 00075 }
| 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.
Definition at line 77 of file mem_alloc_manager.g.cc.
References lestes::std::list< T >::create(), and lestes::std::object::field_values_get().
00078 { 00079 ptr < field_list_list > result = ::lestes::std::object::field_values_get(); 00080 result->push_back( value_list::create() ); 00081 result->back()->push_back( this->singleton_instance ); 00082 return result; 00083 }
| 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.
Reimplemented from lestes::std::mem::keystone.
Definition at line 90 of file mem_alloc_manager.g.cc.
References lestes::std::mem::keystone::gc_mark().
00091 { 00092 ::lestes::std::object::gc_mark(); 00093 }
ptr< mem_alloc_manager > lestes::md::mem::mem_alloc_manager::singleton_instance = NULL [static, private] |
Singleton instance.
Definition at line 157 of file mem_alloc_manager.g.hh.
Referenced by singleton_instance_get(), and singleton_instance_set().
ptr< object::reflection_list > lestes::md::mem::mem_alloc_manager::reflection = reflection [static, private] |
Reimplemented from lestes::std::object.
Definition at line 158 of file mem_alloc_manager.g.hh.
Referenced by reflection_get().
1.5.1-20070107