00001
00002
00003
00004
00005
00006
00007
00008 #include <lestes/md/instructions/execution_info.g.hh>
00009
00010 #include <lestes/std/list.hh>
00011 #include <lestes/std/pair.hh>
00012 #include <lestes/std/reflect.hh>
00013
00014 #include <lestes/md/instructions/tm_instr.g.hh>
00015
00016 package(lestes);
00017 package(md);
00018 package(instructions);
00019
00020
00021
00022
00023
00024
00025
00026
00027 ptr< ::lestes::std::map< ulint, srp< tm_instr > > > tm_instr::id_to_instance_get()
00028 {
00029 return id_to_instance;
00030 }
00031
00032
00033
00034
00035
00036 void tm_instr::id_to_instance_set(const ptr< ::lestes::std::map< ulint, srp< tm_instr > > > & x)
00037 {
00038 tm_instr::id_to_instance = x;
00039 }
00040
00041
00042
00043
00044
00045 ptr< tm_instr > tm_instr::create(ulint a__tm_instr_base__id,
00046 ptr< ::lestes::std::vector< srp< tm_instr_op_base > > > a__tm_instr_base__operands_input,
00047 ptr< ::lestes::std::vector< srp< tm_instr_op_base > > > a__tm_instr_base__operands_output,
00048 lstring a__tm_instr_base__asm_output,
00049 ptr< ::lestes::std::map< ulint, lstring > > a__tm_instr_base__properties,
00050 ptr< ::lestes::std::set< ulint > > a__tm_instr_base__versions,
00051 ulint a__tm_instr_base__flags,
00052 ptr< ::lestes::md::instructions::execution_info > a__tm_instr_base__exec_info)
00053 {
00054 return ptr< tm_instr > ( new tm_instr(a__tm_instr_base__id,
00055 a__tm_instr_base__operands_input,
00056 a__tm_instr_base__operands_output,
00057 a__tm_instr_base__asm_output,
00058 a__tm_instr_base__properties,
00059 a__tm_instr_base__versions,
00060 a__tm_instr_base__flags,
00061 a__tm_instr_base__exec_info) );
00062 }
00063
00064
00065
00066
00067
00068 tm_instr::tm_instr (ulint a__tm_instr_base__id,
00069 ptr< ::lestes::std::vector< srp< tm_instr_op_base > > > a__tm_instr_base__operands_input,
00070 ptr< ::lestes::std::vector< srp< tm_instr_op_base > > > a__tm_instr_base__operands_output,
00071 lstring a__tm_instr_base__asm_output,
00072 ptr< ::lestes::std::map< ulint, lstring > > a__tm_instr_base__properties,
00073 ptr< ::lestes::std::set< ulint > > a__tm_instr_base__versions,
00074 ulint a__tm_instr_base__flags,
00075 ptr< ::lestes::md::instructions::execution_info > a__tm_instr_base__exec_info)
00076 : tm_instr_base(a__tm_instr_base__id,
00077 a__tm_instr_base__operands_input,
00078 a__tm_instr_base__operands_output,
00079 a__tm_instr_base__asm_output,
00080 a__tm_instr_base__properties,
00081 a__tm_instr_base__versions,
00082 a__tm_instr_base__flags,
00083 a__tm_instr_base__exec_info)
00084 {}
00085
00086 ptr< object::reflection_list > tm_instr::reflection_get() const
00087 {
00088 if (!reflection) {
00089 typedef class_reflection::field_metadata md;
00090 typedef class_reflection::field_metadata_list mdlist;
00091 ptr<mdlist> mdl = mdlist::create();
00092 mdl->push_back( md::create( "id_to_instance", "map< ulint, srp< tm_instr > >" ) );
00093 reflection = reflection_list::create( tm_instr_base::reflection_get() );
00094 reflection->push_back( class_reflection::create( "tm_instr", mdl ) );
00095 }
00096 return reflection;
00097 }
00098
00099 ptr< object::field_list_list > tm_instr::field_values_get() const
00100 {
00101 ptr < field_list_list > result = tm_instr_base::field_values_get();
00102 result->push_back( value_list::create() );
00103 result->back()->push_back( this->id_to_instance );
00104 return result;
00105 }
00106
00107
00108
00109
00110
00111
00112 void tm_instr::gc_mark()
00113 {
00114 tm_instr_base::gc_mark();
00115 }
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125 ptr< tm_instr_op_mem > tm_instr_op_mem::create(ulint a__tm_instr_op_base__id,
00126 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types,
00127 ptr< ::lestes::std::vector< ulint > > a__tm_instr_op_base__destroyed_by,
00128 ulint a__tm_instr_op_base__destroys)
00129 {
00130 return ptr< tm_instr_op_mem > ( new tm_instr_op_mem(a__tm_instr_op_base__id,
00131 a__tm_instr_op_base__allowed_types,
00132 a__tm_instr_op_base__destroyed_by,
00133 a__tm_instr_op_base__destroys) );
00134 }
00135
00136
00137
00138
00139
00140 ptr< tm_instr_op_mem > tm_instr_op_mem::create(ulint a__tm_instr_op_base__id,
00141 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types)
00142 {
00143 return ptr< tm_instr_op_mem > ( new tm_instr_op_mem(a__tm_instr_op_base__id, a__tm_instr_op_base__allowed_types, ::lestes::std::vector< ulint > ::create(), 0) );
00144 }
00145
00146
00147
00148
00149
00150 tm_instr_op_mem::tm_instr_op_mem (ulint a__tm_instr_op_base__id,
00151 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types,
00152 ptr< ::lestes::std::vector< ulint > > a__tm_instr_op_base__destroyed_by,
00153 ulint a__tm_instr_op_base__destroys)
00154 : tm_instr_op_mem_base(a__tm_instr_op_base__id,
00155 a__tm_instr_op_base__allowed_types,
00156 a__tm_instr_op_base__destroyed_by,
00157 a__tm_instr_op_base__destroys)
00158 {}
00159
00160 ptr< object::reflection_list > tm_instr_op_mem::reflection_get() const
00161 {
00162 if (!reflection) {
00163 typedef class_reflection::field_metadata md;
00164 typedef class_reflection::field_metadata_list mdlist;
00165 ptr<mdlist> mdl = mdlist::create();
00166 reflection = reflection_list::create( tm_instr_op_mem_base::reflection_get() );
00167 reflection->push_back( class_reflection::create( "tm_instr_op_mem", mdl ) );
00168 }
00169 return reflection;
00170 }
00171
00172 ptr< object::field_list_list > tm_instr_op_mem::field_values_get() const
00173 {
00174 ptr < field_list_list > result = tm_instr_op_mem_base::field_values_get();
00175 return result;
00176 }
00177
00178
00179
00180
00181
00182
00183 void tm_instr_op_mem::gc_mark()
00184 {
00185 tm_instr_op_mem_base::gc_mark();
00186 }
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196 ptr< tm_instr_op_reg > tm_instr_op_reg::create(ulint a__tm_instr_op_base__id,
00197 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types,
00198 ptr< ::lestes::std::vector< ulint > > a__tm_instr_op_base__destroyed_by,
00199 ulint a__tm_instr_op_base__destroys,
00200 ptr< ::lestes::std::set< ::lestes::md::registers::tm_register_base::id_type > > a__tm_instr_op_reg_base__allowed_registers)
00201 {
00202 return ptr< tm_instr_op_reg > ( new tm_instr_op_reg(a__tm_instr_op_base__id,
00203 a__tm_instr_op_base__allowed_types,
00204 a__tm_instr_op_base__destroyed_by,
00205 a__tm_instr_op_base__destroys,
00206 a__tm_instr_op_reg_base__allowed_registers) );
00207 }
00208
00209
00210
00211
00212
00213 ptr< tm_instr_op_reg > tm_instr_op_reg::create(ulint a__tm_instr_op_base__id,
00214 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types,
00215 ptr< ::lestes::std::set< ::lestes::md::registers::tm_register_base::id_type > > a__tm_instr_op_reg_base__allowed_registers)
00216 {
00217 return ptr< tm_instr_op_reg > ( new tm_instr_op_reg(a__tm_instr_op_base__id, a__tm_instr_op_base__allowed_types, ::lestes::std::vector< ulint > ::create(), 0, a__tm_instr_op_reg_base__allowed_registers) );
00218 }
00219
00220
00221
00222
00223
00224 tm_instr_op_reg::tm_instr_op_reg (ulint a__tm_instr_op_base__id,
00225 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types,
00226 ptr< ::lestes::std::vector< ulint > > a__tm_instr_op_base__destroyed_by,
00227 ulint a__tm_instr_op_base__destroys,
00228 ptr< ::lestes::std::set< ::lestes::md::registers::tm_register_base::id_type > > a__tm_instr_op_reg_base__allowed_registers)
00229 : tm_instr_op_reg_base(a__tm_instr_op_base__id,
00230 a__tm_instr_op_base__allowed_types,
00231 a__tm_instr_op_base__destroyed_by,
00232 a__tm_instr_op_base__destroys,
00233 a__tm_instr_op_reg_base__allowed_registers)
00234 {}
00235
00236 ptr< object::reflection_list > tm_instr_op_reg::reflection_get() const
00237 {
00238 if (!reflection) {
00239 typedef class_reflection::field_metadata md;
00240 typedef class_reflection::field_metadata_list mdlist;
00241 ptr<mdlist> mdl = mdlist::create();
00242 reflection = reflection_list::create( tm_instr_op_reg_base::reflection_get() );
00243 reflection->push_back( class_reflection::create( "tm_instr_op_reg", mdl ) );
00244 }
00245 return reflection;
00246 }
00247
00248 ptr< object::field_list_list > tm_instr_op_reg::field_values_get() const
00249 {
00250 ptr < field_list_list > result = tm_instr_op_reg_base::field_values_get();
00251 return result;
00252 }
00253
00254
00255
00256
00257
00258
00259 void tm_instr_op_reg::gc_mark()
00260 {
00261 tm_instr_op_reg_base::gc_mark();
00262 }
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272 ptr< tm_instr_op_imm > tm_instr_op_imm::create(ulint a__tm_instr_op_base__id,
00273 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types,
00274 ptr< ::lestes::std::vector< ulint > > a__tm_instr_op_base__destroyed_by,
00275 ulint a__tm_instr_op_base__destroys)
00276 {
00277 return ptr< tm_instr_op_imm > ( new tm_instr_op_imm(a__tm_instr_op_base__id,
00278 a__tm_instr_op_base__allowed_types,
00279 a__tm_instr_op_base__destroyed_by,
00280 a__tm_instr_op_base__destroys) );
00281 }
00282
00283
00284
00285
00286
00287 ptr< tm_instr_op_imm > tm_instr_op_imm::create(ulint a__tm_instr_op_base__id,
00288 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types)
00289 {
00290 return ptr< tm_instr_op_imm > ( new tm_instr_op_imm(a__tm_instr_op_base__id, a__tm_instr_op_base__allowed_types, ::lestes::std::vector< ulint > ::create(), 0) );
00291 }
00292
00293
00294
00295
00296
00297 tm_instr_op_imm::tm_instr_op_imm (ulint a__tm_instr_op_base__id,
00298 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types,
00299 ptr< ::lestes::std::vector< ulint > > a__tm_instr_op_base__destroyed_by,
00300 ulint a__tm_instr_op_base__destroys)
00301 : tm_instr_op_imm_base(a__tm_instr_op_base__id,
00302 a__tm_instr_op_base__allowed_types,
00303 a__tm_instr_op_base__destroyed_by,
00304 a__tm_instr_op_base__destroys)
00305 {}
00306
00307 ptr< object::reflection_list > tm_instr_op_imm::reflection_get() const
00308 {
00309 if (!reflection) {
00310 typedef class_reflection::field_metadata md;
00311 typedef class_reflection::field_metadata_list mdlist;
00312 ptr<mdlist> mdl = mdlist::create();
00313 reflection = reflection_list::create( tm_instr_op_imm_base::reflection_get() );
00314 reflection->push_back( class_reflection::create( "tm_instr_op_imm", mdl ) );
00315 }
00316 return reflection;
00317 }
00318
00319 ptr< object::field_list_list > tm_instr_op_imm::field_values_get() const
00320 {
00321 ptr < field_list_list > result = tm_instr_op_imm_base::field_values_get();
00322 return result;
00323 }
00324
00325
00326
00327
00328
00329
00330 void tm_instr_op_imm::gc_mark()
00331 {
00332 tm_instr_op_imm_base::gc_mark();
00333 }
00334
00335
00336
00337
00338
00339 ptr< ::lestes::std::map< ulint, srp< tm_instr > > > tm_instr::id_to_instance = ::lestes::std::map< ulint, srp< tm_instr > > ::create();
00340 ptr<object::reflection_list> tm_instr::reflection = reflection;
00341 ptr<object::reflection_list> tm_instr_op_mem::reflection = reflection;
00342 ptr<object::reflection_list> tm_instr_op_reg::reflection = reflection;
00343 ptr<object::reflection_list> tm_instr_op_imm::reflection = reflection;
00344
00345 end_package(instructions);
00346 end_package(md);
00347 end_package(lestes);
00348