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

Public Member Functions | |
| bool | placement_calculated_get () const |
| The method placement_calculated_get returns the value of the field local_variable_allocator::placement_calculated. | |
| void | placement_calculated_set (bool) |
| The method placement_calculated_set sets the field local_variable_allocator::placement_calculated to the given value. | |
| t_ssize | preserved_space_size_get () const |
| The method preserved_space_size_get returns the value of the field local_variable_allocator::preserved_space_size. | |
| void | preserved_space_size_set (t_ssize) |
| The method preserved_space_size_set sets the field local_variable_allocator::preserved_space_size to the given value. | |
| t_ssize | vars_space_start_offset_get () const |
| The method vars_space_start_offset_get returns the value of the field local_variable_allocator::vars_space_start_offset. | |
| void | vars_space_start_offset_set (t_ssize) |
| The method vars_space_start_offset_set sets the field local_variable_allocator::vars_space_start_offset to the given value. | |
| t_ssize | tmps_space_start_offset_get () const |
| The method tmps_space_start_offset_get returns the value of the field local_variable_allocator::tmps_space_start_offset. | |
| void | tmps_space_start_offset_set (t_ssize) |
| The method tmps_space_start_offset_set sets the field local_variable_allocator::tmps_space_start_offset to the given value. | |
| t_ssize | local_end_offset_get () const |
| The method local_end_offset_get returns the value of the field local_variable_allocator::local_end_offset. | |
| void | local_end_offset_set (t_ssize) |
| The method local_end_offset_set sets the field local_variable_allocator::local_end_offset to the given value. | |
| ptr< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_mf_stack > > > | tmps_get () const |
| The method tmps_get returns the value of the field local_variable_allocator::tmps. | |
| void | tmps_set (const ptr< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_mf_stack > > > &) |
| The method tmps_set sets the field local_variable_allocator::tmps to the given value. | |
| ptr< ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_object_declaration >, srp< ::lestes::backend_v2::intercode::pi_mf_stack > > > | variables_get () const |
| The method variables_get returns the value of the field local_variable_allocator::variables. | |
| void | variables_set (const ptr< ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_object_declaration >, srp< ::lestes::backend_v2::intercode::pi_mf_stack > > > &) |
| The method variables_set sets the field local_variable_allocator::variables to the given value. | |
| virtual ptr< ::lestes::backend_v2::intercode::pi_mem_factory > | allocate_tmp (ptr< ::lestes::md::types::tm_data_type_base > type) |
| Allocates space for variable on the local stack. | |
| virtual ptr< ::lestes::backend_v2::intercode::pi_mem_factory > | allocate (ptr< ::lestes::lang::cplus::sem::ss_object_declaration > decl) |
| Allocates space for variable on the local stack. | |
| 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 space for variable on the local stack. | |
| virtual void | calculate_placement () |
| Calculates placement of local variables and parameters in memory. | |
| void | calculate_vars_placement () |
| Calculates placement of regular local variables in memory. | |
| void | calculate_tmps_placement () |
| Calculates placement of temporal local variables in memory. | |
| 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< ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_function_declaration >, srp< local_variable_allocator > > > | singleton_instances_get () |
| The method singleton_instances_get returns the value of the field local_variable_allocator::singleton_instances. | |
| static void | singleton_instances_set (const ptr< ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_function_declaration >, srp< local_variable_allocator > > > &) |
| The method singleton_instances_set sets the field local_variable_allocator::singleton_instances to the given value. | |
| static ptr< local_variable_allocator > | instance (ptr< ::lestes::lang::cplus::sem::ss_function_declaration > function) |
| Return allocator instance for specific function. | |
| static ptr< local_variable_allocator > | create (ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__local_variable_allocator_base__function, bool a__local_variable_allocator__placement_calculated, t_ssize a__local_variable_allocator__preserved_space_size, t_ssize a__local_variable_allocator__vars_space_start_offset, t_ssize a__local_variable_allocator__tmps_space_start_offset, t_ssize a__local_variable_allocator__local_end_offset, ptr< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_mf_stack > > > a__local_variable_allocator__tmps, ptr< ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_object_declaration >, srp< ::lestes::backend_v2::intercode::pi_mf_stack > > > a__local_variable_allocator__variables) |
| First generated factory method for class local_variable_allocator. | |
| static ptr< local_variable_allocator > | create (ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__local_variable_allocator_base__function) |
| Second generated factory method for class local_variable_allocator. | |
Protected Member Functions | |
| local_variable_allocator (ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__local_variable_allocator_base__function, bool a__local_variable_allocator__placement_calculated, t_ssize a__local_variable_allocator__preserved_space_size, t_ssize a__local_variable_allocator__vars_space_start_offset, t_ssize a__local_variable_allocator__tmps_space_start_offset, t_ssize a__local_variable_allocator__local_end_offset, ptr< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_mf_stack > > > a__local_variable_allocator__tmps, ptr< ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_object_declaration >, srp< ::lestes::backend_v2::intercode::pi_mf_stack > > > a__local_variable_allocator__variables) | |
| Generated constructor for class local_variable_allocator. | |
| virtual void | gc_mark () |
| Marking routine for class local_variable_allocator. | |
Private Attributes | |
| bool | placement_calculated |
| Tells whether placement has been already calculated. | |
| t_ssize | preserved_space_size |
| Space on function's stack used for storing preserved register. | |
| t_ssize | vars_space_start_offset |
| Stack offset where space for regular variables starts. | |
| t_ssize | tmps_space_start_offset |
| Stack offset where space for temporal variables starts. | |
| t_ssize | local_end_offset |
| Stack offset where the function's local space ends. | |
| srp< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_mf_stack > > > | tmps |
| Temporal variables. | |
| srp< ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_object_declaration >, srp< ::lestes::backend_v2::intercode::pi_mf_stack > > > | variables |
| Regular variables. | |
Static Private Attributes | |
| static ptr< ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_function_declaration >, srp< local_variable_allocator > > > | singleton_instances = ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_function_declaration >, srp< local_variable_allocator > > ::create() |
| static ptr< reflection_list > | reflection = reflection |
Definition at line 105 of file memory_allocators.g.hh.
| lestes::md::mem::local_variable_allocator::local_variable_allocator | ( | ptr< ::lestes::lang::cplus::sem::ss_function_declaration > | a__local_variable_allocator_base__function, | |
| bool | a__local_variable_allocator__placement_calculated, | |||
| t_ssize | a__local_variable_allocator__preserved_space_size, | |||
| t_ssize | a__local_variable_allocator__vars_space_start_offset, | |||
| t_ssize | a__local_variable_allocator__tmps_space_start_offset, | |||
| t_ssize | a__local_variable_allocator__local_end_offset, | |||
| ptr< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_mf_stack > > > | a__local_variable_allocator__tmps, | |||
| ptr< ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_object_declaration >, srp< ::lestes::backend_v2::intercode::pi_mf_stack > > > | a__local_variable_allocator__variables | |||
| ) | [protected] |
Generated constructor for class local_variable_allocator.
Generated constructor for class local_variable_allocator.
Definition at line 202 of file memory_allocators.g.cc.
Referenced by create().
00210 : local_variable_allocator_base(a__local_variable_allocator_base__function), placement_calculated(a__local_variable_allocator__placement_calculated), preserved_space_size(a__local_variable_allocator__preserved_space_size), vars_space_start_offset(a__local_variable_allocator__vars_space_start_offset), tmps_space_start_offset(a__local_variable_allocator__tmps_space_start_offset), local_end_offset(a__local_variable_allocator__local_end_offset), tmps(checked(a__local_variable_allocator__tmps)), variables(checked(a__local_variable_allocator__variables)) 00211 {}
| bool lestes::md::mem::local_variable_allocator::placement_calculated_get | ( | ) | const |
The method placement_calculated_get returns the value of the field local_variable_allocator::placement_calculated.
Definition at line 26 of file memory_allocators.g.cc.
References placement_calculated.
Referenced by calculate_placement().
00027 { 00028 return placement_calculated; 00029 }
| void lestes::md::mem::local_variable_allocator::placement_calculated_set | ( | bool | x | ) |
The method placement_calculated_set sets the field local_variable_allocator::placement_calculated to the given value.
| [in] | x | The new value to set local_variable_allocator::placement_calculated to. |
Definition at line 35 of file memory_allocators.g.cc.
References placement_calculated.
Referenced by calculate_placement().
00036 { 00037 local_variable_allocator::placement_calculated = x; 00038 }
| t_ssize lestes::md::mem::local_variable_allocator::preserved_space_size_get | ( | ) | const |
The method preserved_space_size_get returns the value of the field local_variable_allocator::preserved_space_size.
Definition at line 44 of file memory_allocators.g.cc.
References preserved_space_size.
Referenced by calculate_vars_placement().
00045 { 00046 return preserved_space_size; 00047 }
| void lestes::md::mem::local_variable_allocator::preserved_space_size_set | ( | t_ssize | x | ) |
The method preserved_space_size_set sets the field local_variable_allocator::preserved_space_size to the given value.
| [in] | x | The new value to set local_variable_allocator::preserved_space_size to. |
Definition at line 53 of file memory_allocators.g.cc.
References preserved_space_size.
Referenced by calculate_placement().
00054 { 00055 local_variable_allocator::preserved_space_size = x; 00056 }
| t_ssize lestes::md::mem::local_variable_allocator::vars_space_start_offset_get | ( | ) | const |
The method vars_space_start_offset_get returns the value of the field local_variable_allocator::vars_space_start_offset.
Definition at line 62 of file memory_allocators.g.cc.
References vars_space_start_offset.
Referenced by calculate_vars_placement().
00063 { 00064 return vars_space_start_offset; 00065 }
| void lestes::md::mem::local_variable_allocator::vars_space_start_offset_set | ( | t_ssize | x | ) |
The method vars_space_start_offset_set sets the field local_variable_allocator::vars_space_start_offset to the given value.
| [in] | x | The new value to set local_variable_allocator::vars_space_start_offset to. |
Definition at line 71 of file memory_allocators.g.cc.
References vars_space_start_offset.
Referenced by calculate_vars_placement().
00072 { 00073 local_variable_allocator::vars_space_start_offset = x; 00074 }
| t_ssize lestes::md::mem::local_variable_allocator::tmps_space_start_offset_get | ( | ) | const |
The method tmps_space_start_offset_get returns the value of the field local_variable_allocator::tmps_space_start_offset.
Definition at line 80 of file memory_allocators.g.cc.
References tmps_space_start_offset.
Referenced by calculate_tmps_placement().
00081 { 00082 return tmps_space_start_offset; 00083 }
| void lestes::md::mem::local_variable_allocator::tmps_space_start_offset_set | ( | t_ssize | x | ) |
The method tmps_space_start_offset_set sets the field local_variable_allocator::tmps_space_start_offset to the given value.
| [in] | x | The new value to set local_variable_allocator::tmps_space_start_offset to. |
Definition at line 89 of file memory_allocators.g.cc.
References tmps_space_start_offset.
Referenced by calculate_vars_placement().
00090 { 00091 local_variable_allocator::tmps_space_start_offset = x; 00092 }
| t_ssize lestes::md::mem::local_variable_allocator::local_end_offset_get | ( | ) | const |
The method local_end_offset_get returns the value of the field local_variable_allocator::local_end_offset.
Definition at line 98 of file memory_allocators.g.cc.
References local_end_offset.
00099 { 00100 return local_end_offset; 00101 }
| void lestes::md::mem::local_variable_allocator::local_end_offset_set | ( | t_ssize | x | ) |
The method local_end_offset_set sets the field local_variable_allocator::local_end_offset to the given value.
| [in] | x | The new value to set local_variable_allocator::local_end_offset to. |
Definition at line 107 of file memory_allocators.g.cc.
References local_end_offset.
Referenced by calculate_tmps_placement().
00108 { 00109 local_variable_allocator::local_end_offset = x; 00110 }
| ptr<::lestes::std::map< srp<::lestes::lang::cplus::sem::ss_function_declaration >, srp< local_variable_allocator > > > lestes::md::mem::local_variable_allocator::singleton_instances_get | ( | ) | [static] |
The method singleton_instances_get returns the value of the field local_variable_allocator::singleton_instances.
Definition at line 116 of file memory_allocators.g.cc.
References singleton_instances.
00117 { 00118 return singleton_instances; 00119 }
| void lestes::md::mem::local_variable_allocator::singleton_instances_set | ( | const ptr< ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_function_declaration >, srp< local_variable_allocator > > > & | x | ) | [static] |
The method singleton_instances_set sets the field local_variable_allocator::singleton_instances to the given value.
| [in] | x | The new value to set local_variable_allocator::singleton_instances to. |
Definition at line 125 of file memory_allocators.g.cc.
References singleton_instances.
00126 { 00127 local_variable_allocator::singleton_instances = x; 00128 }
| ptr<::lestes::std::list< srp<::lestes::backend_v2::intercode::pi_mf_stack > > > lestes::md::mem::local_variable_allocator::tmps_get | ( | ) | const |
The method tmps_get returns the value of the field local_variable_allocator::tmps.
Definition at line 134 of file memory_allocators.g.cc.
References tmps.
00135 { 00136 return tmps; 00137 }
| void lestes::md::mem::local_variable_allocator::tmps_set | ( | const ptr< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_mf_stack > > > & | x | ) |
The method tmps_set sets the field local_variable_allocator::tmps to the given value.
| [in] | x | The new value to set local_variable_allocator::tmps to. |
Definition at line 143 of file memory_allocators.g.cc.
References tmps.
00144 { 00145 local_variable_allocator::tmps = x; 00146 }
| ptr<::lestes::std::map< srp<::lestes::lang::cplus::sem::ss_object_declaration >, srp<::lestes::backend_v2::intercode::pi_mf_stack > > > lestes::md::mem::local_variable_allocator::variables_get | ( | ) | const |
The method variables_get returns the value of the field local_variable_allocator::variables.
Definition at line 152 of file memory_allocators.g.cc.
References variables.
00153 { 00154 return variables; 00155 }
| void lestes::md::mem::local_variable_allocator::variables_set | ( | const ptr< ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_object_declaration >, srp< ::lestes::backend_v2::intercode::pi_mf_stack > > > & | x | ) |
The method variables_set sets the field local_variable_allocator::variables to the given value.
| [in] | x | The new value to set local_variable_allocator::variables to. |
Definition at line 161 of file memory_allocators.g.cc.
References variables.
00162 { 00163 local_variable_allocator::variables = x; 00164 }
| virtual ptr< ::lestes::backend_v2::intercode::pi_mem_factory > lestes::md::mem::local_variable_allocator::allocate_tmp | ( | ptr< ::lestes::md::types::tm_data_type_base > | type | ) | [virtual] |
Allocates space for variable on the local stack.
Implements lestes::md::mem::local_variable_allocator_base.
| virtual ptr< ::lestes::backend_v2::intercode::pi_mem_factory > lestes::md::mem::local_variable_allocator::allocate | ( | ptr< ::lestes::lang::cplus::sem::ss_object_declaration > | decl | ) | [virtual] |
Allocates space for variable on the local stack.
Implements lestes::md::mem::local_variable_allocator_base.
| virtual void lestes::md::mem::local_variable_allocator::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 space for variable on the local stack.
Implements lestes::md::mem::local_variable_allocator_base.
| void lestes::md::mem::local_variable_allocator::calculate_placement | ( | ) | [virtual] |
Calculates placement of local variables and parameters in memory.
Implements lestes::md::mem::local_variable_allocator_base.
Definition at line 277 of file memory_allocators.cc.
References calculate_tmps_placement(), calculate_vars_placement(), lassert, placement_calculated_get(), placement_calculated_set(), and preserved_space_size_set().
00277 { 00278 if ( placement_calculated_get() ) { 00279 lassert(false); 00280 return; 00281 } 00282 00283 preserved_space_size_set(0); 00284 calculate_vars_placement(); 00285 calculate_tmps_placement(); 00286 placement_calculated_set(true); 00287 }
| void lestes::md::mem::local_variable_allocator::calculate_vars_placement | ( | ) |
Calculates placement of regular local variables in memory.
Definition at line 293 of file memory_allocators.cc.
References preserved_space_size_get(), STACK_ALIGNMENT, tmps_space_start_offset_set(), variables, vars_space_start_offset_get(), and vars_space_start_offset_set().
Referenced by calculate_placement().
00293 { 00294 00295 vars_space_start_offset_set(-preserved_space_size_get()); 00296 00297 t_ssize offset = vars_space_start_offset_get(); 00298 00299 decl2mf_stack_map_type::iterator it; 00300 for(it=variables->begin(); it!=variables->end(); it++) { 00301 ptr<pi_mf_stack> mem = it->second; 00302 00303 ulint item_size = mem->type_get()->bitwidth_get(); 00304 00305 if ( item_size % STACK_ALIGNMENT != 0 ){ 00306 item_size = (item_size/STACK_ALIGNMENT + 1)*STACK_ALIGNMENT; 00307 } 00308 00309 offset -= item_size; 00310 00311 mem->offset_set(offset); 00312 } 00313 00314 tmps_space_start_offset_set(offset); 00315 }
| void lestes::md::mem::local_variable_allocator::calculate_tmps_placement | ( | ) |
Calculates placement of temporal local variables in memory.
Definition at line 320 of file memory_allocators.cc.
References local_end_offset_set(), STACK_ALIGNMENT, tmps, and tmps_space_start_offset_get().
Referenced by calculate_placement().
00320 { 00321 00322 t_ssize offset = tmps_space_start_offset_get(); 00323 00324 pi_mf_stack_list_type::iterator it; 00325 for(it=tmps->begin(); it!=tmps->end(); it++) { 00326 ptr<pi_mf_stack> mem = *it; 00327 00328 ulint item_size = mem->type_get()->bitwidth_get(); 00329 00330 if ( item_size % STACK_ALIGNMENT != 0 ){ 00331 item_size = (item_size/STACK_ALIGNMENT + 1)*STACK_ALIGNMENT; 00332 } 00333 offset -= item_size; 00334 00335 mem->offset_set(offset); 00336 } 00337 00338 local_end_offset_set(offset); 00339 }
| static ptr< local_variable_allocator > lestes::md::mem::local_variable_allocator::instance | ( | ptr< ::lestes::lang::cplus::sem::ss_function_declaration > | function | ) | [static] |
Return allocator instance for specific function.
| ptr< local_variable_allocator > lestes::md::mem::local_variable_allocator::create | ( | ptr< ::lestes::lang::cplus::sem::ss_function_declaration > | a__local_variable_allocator_base__function, | |
| bool | a__local_variable_allocator__placement_calculated, | |||
| t_ssize | a__local_variable_allocator__preserved_space_size, | |||
| t_ssize | a__local_variable_allocator__vars_space_start_offset, | |||
| t_ssize | a__local_variable_allocator__tmps_space_start_offset, | |||
| t_ssize | a__local_variable_allocator__local_end_offset, | |||
| ptr< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_mf_stack > > > | a__local_variable_allocator__tmps, | |||
| ptr< ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_object_declaration >, srp< ::lestes::backend_v2::intercode::pi_mf_stack > > > | a__local_variable_allocator__variables | |||
| ) | [static] |
First generated factory method for class local_variable_allocator.
This factory method for class local_variable_allocator takes values of all fields as arguments.
Definition at line 170 of file memory_allocators.g.cc.
References local_variable_allocator().
Referenced by create().
00178 { 00179 return ptr< local_variable_allocator > ( new local_variable_allocator(a__local_variable_allocator_base__function, 00180 a__local_variable_allocator__placement_calculated, 00181 a__local_variable_allocator__preserved_space_size, 00182 a__local_variable_allocator__vars_space_start_offset, 00183 a__local_variable_allocator__tmps_space_start_offset, 00184 a__local_variable_allocator__local_end_offset, 00185 a__local_variable_allocator__tmps, 00186 a__local_variable_allocator__variables) ); 00187 }
| ptr< local_variable_allocator > lestes::md::mem::local_variable_allocator::create | ( | ptr< ::lestes::lang::cplus::sem::ss_function_declaration > | a__local_variable_allocator_base__function | ) | [static] |
Second generated factory method for class local_variable_allocator.
This factory method for class local_variable_allocator uses initializers.
Definition at line 193 of file memory_allocators.g.cc.
References create(), and local_variable_allocator().
00194 { 00195 return ptr< local_variable_allocator > ( new local_variable_allocator(a__local_variable_allocator_base__function, false, 0, 0, 0, 0, ::lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_mf_stack > > ::create(), ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_object_declaration >, srp< ::lestes::backend_v2::intercode::pi_mf_stack > > ::create()) ); 00196 }
| ptr< object::reflection_list > lestes::md::mem::local_variable_allocator::reflection_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::md::mem::local_variable_allocator_base.
Definition at line 213 of file memory_allocators.g.cc.
References lestes::std::list< T >::create(), reflection, and lestes::md::mem::local_variable_allocator_base::reflection_get().
00214 { 00215 if (!reflection) { 00216 typedef class_reflection::field_metadata md; 00217 typedef class_reflection::field_metadata_list mdlist; 00218 ptr<mdlist> mdl = mdlist::create(); 00219 mdl->push_back( md::create( "placement_calculated", "bool" ) ); 00220 mdl->push_back( md::create( "preserved_space_size", "t_ssize" ) ); 00221 mdl->push_back( md::create( "vars_space_start_offset", "t_ssize" ) ); 00222 mdl->push_back( md::create( "tmps_space_start_offset", "t_ssize" ) ); 00223 mdl->push_back( md::create( "local_end_offset", "t_ssize" ) ); 00224 mdl->push_back( md::create( "singleton_instances", "map< srp< ::lestes::lang::cplus::sem::ss_function_declaration >, srp< local_variable_allocator > >" ) ); 00225 mdl->push_back( md::create( "tmps", "list< srp< ::lestes::backend_v2::intercode::pi_mf_stack > >" ) ); 00226 mdl->push_back( md::create( "variables", "map< srp< ::lestes::lang::cplus::sem::ss_object_declaration >, srp< ::lestes::backend_v2::intercode::pi_mf_stack > >" ) ); 00227 reflection = reflection_list::create( local_variable_allocator_base::reflection_get() ); 00228 reflection->push_back( class_reflection::create( "local_variable_allocator", mdl ) ); 00229 } 00230 return reflection; 00231 }
| ptr< object::field_list_list > lestes::md::mem::local_variable_allocator::field_values_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::md::mem::local_variable_allocator_base.
Definition at line 233 of file memory_allocators.g.cc.
References lestes::std::list< T >::create(), and lestes::md::mem::local_variable_allocator_base::field_values_get().
00234 { 00235 ptr < field_list_list > result = local_variable_allocator_base::field_values_get(); 00236 result->push_back( value_list::create() ); 00237 result->back()->push_back( objectize< bool > ::create( this->placement_calculated ) ); 00238 result->push_back( value_list::create() ); 00239 result->back()->push_back( objectize< t_ssize > ::create( this->preserved_space_size ) ); 00240 result->push_back( value_list::create() ); 00241 result->back()->push_back( objectize< t_ssize > ::create( this->vars_space_start_offset ) ); 00242 result->push_back( value_list::create() ); 00243 result->back()->push_back( objectize< t_ssize > ::create( this->tmps_space_start_offset ) ); 00244 result->push_back( value_list::create() ); 00245 result->back()->push_back( objectize< t_ssize > ::create( this->local_end_offset ) ); 00246 result->push_back( value_list::create() ); 00247 result->back()->push_back( this->singleton_instances ); 00248 result->push_back( value_list::create() ); 00249 result->back()->push_back( this->tmps ); 00250 result->push_back( value_list::create() ); 00251 result->back()->push_back( this->variables ); 00252 return result; 00253 }
| void lestes::md::mem::local_variable_allocator::gc_mark | ( | void | ) | [protected, virtual] |
Marking routine for class local_variable_allocator.
Marking routine is used for garbage collection.
Reimplemented from lestes::md::mem::local_variable_allocator_base.
Definition at line 260 of file memory_allocators.g.cc.
References lestes::md::mem::local_variable_allocator_base::gc_mark().
00261 { 00262 local_variable_allocator_base::gc_mark(); 00263 }
Tells whether placement has been already calculated.
Definition at line 216 of file memory_allocators.g.hh.
Referenced by placement_calculated_get(), and placement_calculated_set().
Space on function's stack used for storing preserved register.
Definition at line 218 of file memory_allocators.g.hh.
Referenced by preserved_space_size_get(), and preserved_space_size_set().
Stack offset where space for regular variables starts.
Definition at line 220 of file memory_allocators.g.hh.
Referenced by vars_space_start_offset_get(), and vars_space_start_offset_set().
Stack offset where space for temporal variables starts.
Definition at line 222 of file memory_allocators.g.hh.
Referenced by tmps_space_start_offset_get(), and tmps_space_start_offset_set().
Stack offset where the function's local space ends.
Definition at line 224 of file memory_allocators.g.hh.
Referenced by local_end_offset_get(), and local_end_offset_set().
ptr<::lestes::std::map< srp<::lestes::lang::cplus::sem::ss_function_declaration >, srp< local_variable_allocator > > > lestes::md::mem::local_variable_allocator::singleton_instances = ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_function_declaration >, srp< local_variable_allocator > > ::create() [static, private] |
Definition at line 225 of file memory_allocators.g.hh.
Referenced by singleton_instances_get(), and singleton_instances_set().
srp< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_mf_stack > > > lestes::md::mem::local_variable_allocator::tmps [private] |
Temporal variables.
Definition at line 227 of file memory_allocators.g.hh.
Referenced by calculate_tmps_placement(), tmps_get(), and tmps_set().
srp< ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_object_declaration >, srp< ::lestes::backend_v2::intercode::pi_mf_stack > > > lestes::md::mem::local_variable_allocator::variables [private] |
Regular variables.
Definition at line 229 of file memory_allocators.g.hh.
Referenced by calculate_vars_placement(), variables_get(), and variables_set().
ptr< object::reflection_list > lestes::md::mem::local_variable_allocator::reflection = reflection [static, private] |
Reimplemented from lestes::md::mem::local_variable_allocator_base.
Definition at line 230 of file memory_allocators.g.hh.
Referenced by reflection_get().
1.5.1-20070107