linscan_regalloc.g.cc

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \author jaz
00006 */
00007 
00008 #include <lestes/backend_v2/structs/func_data.g.hh>
00009 #include <lestes/backend_v2/intercode/ge.g.hh>
00010 #include <lestes/backend_v2/workers/alloc_int_finder.g.hh>
00011 #include <lestes/md/registers/tm_register.g.hh>
00012 
00013 #include <lestes/std/list.hh>
00014 #include <lestes/std/pair.hh>
00015 #include <lestes/std/reflect.hh>
00016 
00017 #include <lestes/backend_v2/workers/linscan_regalloc.g.hh>
00018 
00019 package(lestes);
00020 package(backend_v2);
00021 package(workers);
00022 
00023 
00024 // ------------- Class linscan_regalloc follows. -------------
00025 
00026 /*!
00027    \returns The value of linscan_regalloc::active_intervals.
00028    \author lsg
00029  */
00030 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::workers::alloc_interval > > > linscan_regalloc::active_intervals_get() const
00031 {
00032         return active_intervals;
00033 }
00034 
00035 /*!
00036    \param[in] x The new value to set linscan_regalloc::active_intervals to.
00037    \author lsg
00038  */
00039 void linscan_regalloc::active_intervals_set(const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::workers::alloc_interval > > > & x)
00040 {
00041         linscan_regalloc::active_intervals = x;
00042 }
00043 
00044 /*!
00045    \returns The value of linscan_regalloc::expired_intervals.
00046    \author lsg
00047  */
00048 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::workers::alloc_interval > > > linscan_regalloc::expired_intervals_get() const
00049 {
00050         return expired_intervals;
00051 }
00052 
00053 /*!
00054    \param[in] x The new value to set linscan_regalloc::expired_intervals to.
00055    \author lsg
00056  */
00057 void linscan_regalloc::expired_intervals_set(const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::workers::alloc_interval > > > & x)
00058 {
00059         linscan_regalloc::expired_intervals = x;
00060 }
00061 
00062 /*!
00063    \returns The value of linscan_regalloc::waiting_intervals.
00064    \author lsg
00065  */
00066 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::workers::alloc_interval > > > linscan_regalloc::waiting_intervals_get() const
00067 {
00068         return waiting_intervals;
00069 }
00070 
00071 /*!
00072    \param[in] x The new value to set linscan_regalloc::waiting_intervals to.
00073    \author lsg
00074  */
00075 void linscan_regalloc::waiting_intervals_set(const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::workers::alloc_interval > > > & x)
00076 {
00077         linscan_regalloc::waiting_intervals = x;
00078 }
00079 
00080 /*!
00081    \returns The value of linscan_regalloc::register_owners.
00082    \author lsg
00083  */
00084 ptr< ::lestes::std::map< ulint, srp< ::lestes::backend_v2::workers::alloc_interval > > > linscan_regalloc::register_owners_get() const
00085 {
00086         return register_owners;
00087 }
00088 
00089 /*!
00090    \param[in] x The new value to set linscan_regalloc::register_owners to.
00091    \author lsg
00092  */
00093 void linscan_regalloc::register_owners_set(const ptr< ::lestes::std::map< ulint, srp< ::lestes::backend_v2::workers::alloc_interval > > > & x)
00094 {
00095         linscan_regalloc::register_owners = x;
00096 }
00097 
00098 /*!
00099    \returns The value of linscan_regalloc::free_registers.
00100    \author lsg
00101  */
00102 ptr< ::lestes::std::set< ulint > > linscan_regalloc::free_registers_get() const
00103 {
00104         return free_registers;
00105 }
00106 
00107 /*!
00108    \param[in] x The new value to set linscan_regalloc::free_registers to.
00109    \author lsg
00110  */
00111 void linscan_regalloc::free_registers_set(const ptr< ::lestes::std::set< ulint > > & x)
00112 {
00113         linscan_regalloc::free_registers = x;
00114 }
00115 
00116 /*!
00117    \returns The value of linscan_regalloc::used_registers.
00118    \author lsg
00119  */
00120 ptr< ::lestes::std::set< ulint > > linscan_regalloc::used_registers_get() const
00121 {
00122         return used_registers;
00123 }
00124 
00125 /*!
00126    \param[in] x The new value to set linscan_regalloc::used_registers to.
00127    \author lsg
00128  */
00129 void linscan_regalloc::used_registers_set(const ptr< ::lestes::std::set< ulint > > & x)
00130 {
00131         linscan_regalloc::used_registers = x;
00132 }
00133 
00134 /*!
00135    \returns The value of linscan_regalloc::all_registers.
00136    \author lsg
00137  */
00138 ptr< ::lestes::std::set< ulint > > linscan_regalloc::all_registers_get() const
00139 {
00140         return all_registers;
00141 }
00142 
00143 /*!
00144    \param[in] x The new value to set linscan_regalloc::all_registers to.
00145    \author lsg
00146  */
00147 void linscan_regalloc::all_registers_set(const ptr< ::lestes::std::set< ulint > > & x)
00148 {
00149         linscan_regalloc::all_registers = x;
00150 }
00151 
00152 /*!
00153    \returns The value of linscan_regalloc::destroyers.
00154    \author lsg
00155  */
00156 ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::ge_operand_reg >, srp< ::lestes::md::registers::tm_register > > > linscan_regalloc::destroyers_get() const
00157 {
00158         return destroyers;
00159 }
00160 
00161 /*!
00162    \param[in] x The new value to set linscan_regalloc::destroyers to.
00163    \author lsg
00164  */
00165 void linscan_regalloc::destroyers_set(const ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::ge_operand_reg >, srp< ::lestes::md::registers::tm_register > > > & x)
00166 {
00167         linscan_regalloc::destroyers = x;
00168 }
00169 
00170 /*!
00171    This factory method for class linscan_regalloc takes values of all fields as arguments.
00172    \author lsg
00173  */
00174 ptr< linscan_regalloc > linscan_regalloc::create(ptr< ::lestes::backend_v2::structs::func_data > a__worker_base__data,
00175                 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::workers::alloc_interval > > > a__linscan_regalloc__active_intervals,
00176                 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::workers::alloc_interval > > > a__linscan_regalloc__expired_intervals,
00177                 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::workers::alloc_interval > > > a__linscan_regalloc__waiting_intervals,
00178                 ptr< ::lestes::std::map< ulint, srp< ::lestes::backend_v2::workers::alloc_interval > > > a__linscan_regalloc__register_owners,
00179                 ptr< ::lestes::std::set< ulint > > a__linscan_regalloc__free_registers,
00180                 ptr< ::lestes::std::set< ulint > > a__linscan_regalloc__used_registers,
00181                 ptr< ::lestes::std::set< ulint > > a__linscan_regalloc__all_registers,
00182                 ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::ge_operand_reg >, srp< ::lestes::md::registers::tm_register > > > a__linscan_regalloc__destroyers)
00183 {
00184         return ptr< linscan_regalloc > ( new linscan_regalloc(a__worker_base__data,
00185                 a__linscan_regalloc__active_intervals,
00186                 a__linscan_regalloc__expired_intervals,
00187                 a__linscan_regalloc__waiting_intervals,
00188                 a__linscan_regalloc__register_owners,
00189                 a__linscan_regalloc__free_registers,
00190                 a__linscan_regalloc__used_registers,
00191                 a__linscan_regalloc__all_registers,
00192                 a__linscan_regalloc__destroyers) );
00193 }
00194 
00195 /*!
00196    This factory method for class linscan_regalloc uses initializers.
00197    \author lsg
00198  */
00199 ptr< linscan_regalloc > linscan_regalloc::create(ptr< ::lestes::backend_v2::structs::func_data > a__worker_base__data)
00200 {
00201         return ptr< linscan_regalloc > ( new linscan_regalloc(a__worker_base__data, ::lestes::std::vector< srp< ::lestes::backend_v2::workers::alloc_interval > > ::create(), ::lestes::std::vector< srp< ::lestes::backend_v2::workers::alloc_interval > > ::create(), NULL, ::lestes::std::map< ulint, srp< ::lestes::backend_v2::workers::alloc_interval > > ::create(), ::lestes::std::set< ulint > ::create(), ::lestes::std::set< ulint > ::create(), ::lestes::std::set< ulint > ::create(), ::lestes::std::map< srp< ::lestes::backend_v2::intercode::ge_operand_reg >, srp< ::lestes::md::registers::tm_register > > ::create()) );
00202 }
00203 
00204 /*!
00205    Generated constructor for class linscan_regalloc.
00206    \author lsg
00207  */
00208 linscan_regalloc::linscan_regalloc (ptr< ::lestes::backend_v2::structs::func_data > a__worker_base__data,
00209                 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::workers::alloc_interval > > > a__linscan_regalloc__active_intervals,
00210                 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::workers::alloc_interval > > > a__linscan_regalloc__expired_intervals,
00211                 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::workers::alloc_interval > > > a__linscan_regalloc__waiting_intervals,
00212                 ptr< ::lestes::std::map< ulint, srp< ::lestes::backend_v2::workers::alloc_interval > > > a__linscan_regalloc__register_owners,
00213                 ptr< ::lestes::std::set< ulint > > a__linscan_regalloc__free_registers,
00214                 ptr< ::lestes::std::set< ulint > > a__linscan_regalloc__used_registers,
00215                 ptr< ::lestes::std::set< ulint > > a__linscan_regalloc__all_registers,
00216                 ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::ge_operand_reg >, srp< ::lestes::md::registers::tm_register > > > a__linscan_regalloc__destroyers)
00217         : worker_base(a__worker_base__data), active_intervals(checked(a__linscan_regalloc__active_intervals)), expired_intervals(checked(a__linscan_regalloc__expired_intervals)), waiting_intervals(a__linscan_regalloc__waiting_intervals), register_owners(checked(a__linscan_regalloc__register_owners)), free_registers(checked(a__linscan_regalloc__free_registers)), used_registers(checked(a__linscan_regalloc__used_registers)), all_registers(checked(a__linscan_regalloc__all_registers)), destroyers(checked(a__linscan_regalloc__destroyers))
00218 {}
00219 
00220 ptr< object::reflection_list > linscan_regalloc::reflection_get() const
00221 {
00222         if (!reflection) {
00223                 typedef class_reflection::field_metadata md;
00224                 typedef class_reflection::field_metadata_list mdlist;
00225                 ptr<mdlist> mdl = mdlist::create();
00226                 mdl->push_back( md::create( "active_intervals", "vector&lt; srp&lt; ::lestes::backend_v2::workers::alloc_interval &gt; &gt;" ) );
00227                 mdl->push_back( md::create( "expired_intervals", "vector&lt; srp&lt; ::lestes::backend_v2::workers::alloc_interval &gt; &gt;" ) );
00228                 mdl->push_back( md::create( "waiting_intervals", "vector&lt; srp&lt; ::lestes::backend_v2::workers::alloc_interval &gt; &gt;" ) );
00229                 mdl->push_back( md::create( "register_owners", "map&lt; ulint, srp&lt; ::lestes::backend_v2::workers::alloc_interval &gt; &gt;" ) );
00230                 mdl->push_back( md::create( "free_registers", "set&lt; ulint &gt;" ) );
00231                 mdl->push_back( md::create( "used_registers", "set&lt; ulint &gt;" ) );
00232                 mdl->push_back( md::create( "all_registers", "set&lt; ulint &gt;" ) );
00233                 mdl->push_back( md::create( "destroyers", "map&lt; srp&lt; ::lestes::backend_v2::intercode::ge_operand_reg &gt;, srp&lt; ::lestes::md::registers::tm_register &gt; &gt;" ) );
00234                 reflection = reflection_list::create( worker_base::reflection_get() );
00235                 reflection->push_back( class_reflection::create( "linscan_regalloc", mdl ) );
00236         }
00237         return reflection;
00238 }
00239 
00240 ptr< object::field_list_list > linscan_regalloc::field_values_get() const
00241 {
00242         ptr < field_list_list > result = worker_base::field_values_get();
00243         result->push_back( value_list::create() );
00244         result->back()->push_back( this->active_intervals );
00245         result->push_back( value_list::create() );
00246         result->back()->push_back( this->expired_intervals );
00247         result->push_back( value_list::create() );
00248         result->back()->push_back( this->waiting_intervals );
00249         result->push_back( value_list::create() );
00250         result->back()->push_back( this->register_owners );
00251         result->push_back( value_list::create() );
00252         result->back()->push_back( this->free_registers );
00253         result->push_back( value_list::create() );
00254         result->back()->push_back( this->used_registers );
00255         result->push_back( value_list::create() );
00256         result->back()->push_back( this->all_registers );
00257         result->push_back( value_list::create() );
00258         result->back()->push_back( this->destroyers );
00259         return result;
00260 }
00261 
00262 
00263 /*!
00264    Marking routine is used for garbage collection.
00265    \author lsg
00266  */
00267 void linscan_regalloc::gc_mark()
00268 {
00269         worker_base::gc_mark();
00270 }
00271 
00272 // End of class linscan_regalloc.
00273 
00274 
00275 // static data members follow 
00276 ptr<object::reflection_list> linscan_regalloc::reflection = reflection;
00277 
00278 end_package(workers);
00279 end_package(backend_v2);
00280 end_package(lestes);
00281 

Generated on Mon Feb 12 18:22:37 2007 for lestes by doxygen 1.5.1-20070107