00001
00002
00003
00004
00005
00006
00007
00008 #include <lestes/md/instructions/execution_info.g.hh>
00009 #include <lestes/backend_v2/intercode/ge.g.hh>
00010
00011 #include <lestes/std/list.hh>
00012 #include <lestes/std/pair.hh>
00013 #include <lestes/std/reflect.hh>
00014
00015 #include <lestes/md/instructions/tm_instr_base.g.hh>
00016
00017 package(lestes);
00018 package(md);
00019 package(instructions);
00020
00021
00022
00023
00024
00025
00026
00027
00028 ulint tm_instr_base::id_get() const
00029 {
00030 return id;
00031 }
00032
00033
00034
00035
00036
00037 void tm_instr_base::id_set(ulint x)
00038 {
00039 tm_instr_base::id = x;
00040 }
00041
00042
00043
00044
00045
00046 ptr< ::lestes::std::vector< srp< tm_instr_op_base > > > tm_instr_base::operands_input_get() const
00047 {
00048 return operands_input;
00049 }
00050
00051
00052
00053
00054
00055 void tm_instr_base::operands_input_set(const ptr< ::lestes::std::vector< srp< tm_instr_op_base > > > & x)
00056 {
00057 tm_instr_base::operands_input = x;
00058 }
00059
00060
00061
00062
00063
00064 ptr< ::lestes::std::vector< srp< tm_instr_op_base > > > tm_instr_base::operands_output_get() const
00065 {
00066 return operands_output;
00067 }
00068
00069
00070
00071
00072
00073 void tm_instr_base::operands_output_set(const ptr< ::lestes::std::vector< srp< tm_instr_op_base > > > & x)
00074 {
00075 tm_instr_base::operands_output = x;
00076 }
00077
00078
00079
00080
00081
00082 lstring tm_instr_base::asm_output_get() const
00083 {
00084 return asm_output;
00085 }
00086
00087
00088
00089
00090
00091 void tm_instr_base::asm_output_set(lstring x)
00092 {
00093 tm_instr_base::asm_output = x;
00094 }
00095
00096
00097
00098
00099
00100 ptr< ::lestes::std::map< ulint, lstring > > tm_instr_base::properties_get() const
00101 {
00102 return properties;
00103 }
00104
00105
00106
00107
00108
00109 void tm_instr_base::properties_set(const ptr< ::lestes::std::map< ulint, lstring > > & x)
00110 {
00111 tm_instr_base::properties = x;
00112 }
00113
00114
00115
00116
00117
00118 ptr< ::lestes::std::set< ulint > > tm_instr_base::versions_get() const
00119 {
00120 return versions;
00121 }
00122
00123
00124
00125
00126
00127 void tm_instr_base::versions_set(const ptr< ::lestes::std::set< ulint > > & x)
00128 {
00129 tm_instr_base::versions = x;
00130 }
00131
00132
00133
00134
00135
00136 ulint tm_instr_base::flags_get() const
00137 {
00138 return flags;
00139 }
00140
00141
00142
00143
00144
00145 void tm_instr_base::flags_set(ulint x)
00146 {
00147 tm_instr_base::flags = x;
00148 }
00149
00150
00151
00152
00153
00154 ptr< ::lestes::md::instructions::execution_info > tm_instr_base::exec_info_get() const
00155 {
00156 return exec_info;
00157 }
00158
00159
00160
00161
00162
00163 void tm_instr_base::exec_info_set(const ptr< ::lestes::md::instructions::execution_info > & x)
00164 {
00165 tm_instr_base::exec_info = x;
00166 }
00167
00168
00169
00170
00171
00172 tm_instr_base::tm_instr_base (ulint a__tm_instr_base__id,
00173 ptr< ::lestes::std::vector< srp< tm_instr_op_base > > > a__tm_instr_base__operands_input,
00174 ptr< ::lestes::std::vector< srp< tm_instr_op_base > > > a__tm_instr_base__operands_output,
00175 lstring a__tm_instr_base__asm_output,
00176 ptr< ::lestes::std::map< ulint, lstring > > a__tm_instr_base__properties,
00177 ptr< ::lestes::std::set< ulint > > a__tm_instr_base__versions,
00178 ulint a__tm_instr_base__flags,
00179 ptr< ::lestes::md::instructions::execution_info > a__tm_instr_base__exec_info)
00180 : ::lestes::std::object(), id(a__tm_instr_base__id), operands_input(checked(a__tm_instr_base__operands_input)), operands_output(checked(a__tm_instr_base__operands_output)), asm_output(a__tm_instr_base__asm_output), properties(checked(a__tm_instr_base__properties)), versions(a__tm_instr_base__versions), flags(a__tm_instr_base__flags), exec_info(a__tm_instr_base__exec_info)
00181 {}
00182
00183 ptr< object::reflection_list > tm_instr_base::reflection_get() const
00184 {
00185 if (!reflection) {
00186 typedef class_reflection::field_metadata md;
00187 typedef class_reflection::field_metadata_list mdlist;
00188 ptr<mdlist> mdl = mdlist::create();
00189 mdl->push_back( md::create( "id", "ulint" ) );
00190 mdl->push_back( md::create( "operands_input", "vector< srp< tm_instr_op_base > >" ) );
00191 mdl->push_back( md::create( "operands_output", "vector< srp< tm_instr_op_base > >" ) );
00192 mdl->push_back( md::create( "asm_output", "lstring" ) );
00193 mdl->push_back( md::create( "properties", "map< ulint, lstring >" ) );
00194 mdl->push_back( md::create( "versions", "set< ulint >" ) );
00195 mdl->push_back( md::create( "flags", "ulint" ) );
00196 mdl->push_back( md::create( "exec_info", "execution_info" ) );
00197 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00198 reflection->push_back( class_reflection::create( "tm_instr_base", mdl ) );
00199 }
00200 return reflection;
00201 }
00202
00203 ptr< object::field_list_list > tm_instr_base::field_values_get() const
00204 {
00205 ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00206 result->push_back( value_list::create() );
00207 result->back()->push_back( objectize< ulint > ::create( this->id ) );
00208 result->push_back( value_list::create() );
00209 result->back()->push_back( this->operands_input );
00210 result->push_back( value_list::create() );
00211 result->back()->push_back( this->operands_output );
00212 result->push_back( value_list::create() );
00213 result->back()->push_back( objectize< lstring > ::create( this->asm_output ) );
00214 result->push_back( value_list::create() );
00215 result->back()->push_back( this->properties );
00216 result->push_back( value_list::create() );
00217 result->back()->push_back( this->versions );
00218 result->push_back( value_list::create() );
00219 result->back()->push_back( objectize< ulint > ::create( this->flags ) );
00220 result->push_back( value_list::create() );
00221 result->back()->push_back( this->exec_info );
00222 return result;
00223 }
00224
00225
00226
00227
00228
00229
00230 void tm_instr_base::gc_mark()
00231 {
00232 ::lestes::std::object::gc_mark();
00233 }
00234
00235
00236
00237
00238
00239
00240
00241
00242
00243 ulint tm_instr_op_base::id_get() const
00244 {
00245 return id;
00246 }
00247
00248
00249
00250
00251
00252 void tm_instr_op_base::id_set(ulint x)
00253 {
00254 tm_instr_op_base::id = x;
00255 }
00256
00257
00258
00259
00260
00261 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > tm_instr_op_base::allowed_types_get() const
00262 {
00263 return allowed_types;
00264 }
00265
00266
00267
00268
00269
00270 void tm_instr_op_base::allowed_types_set(const ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > & x)
00271 {
00272 tm_instr_op_base::allowed_types = x;
00273 }
00274
00275
00276
00277
00278
00279 ptr< ::lestes::std::vector< ulint > > tm_instr_op_base::destroyed_by_get() const
00280 {
00281 return destroyed_by;
00282 }
00283
00284
00285
00286
00287
00288 void tm_instr_op_base::destroyed_by_set(const ptr< ::lestes::std::vector< ulint > > & x)
00289 {
00290 tm_instr_op_base::destroyed_by = x;
00291 }
00292
00293
00294
00295
00296
00297 ulint tm_instr_op_base::destroys_get() const
00298 {
00299 return destroys;
00300 }
00301
00302
00303
00304
00305
00306 void tm_instr_op_base::destroys_set(ulint x)
00307 {
00308 tm_instr_op_base::destroys = x;
00309 }
00310
00311
00312
00313
00314
00315 tm_instr_op_base::tm_instr_op_base (ulint a__tm_instr_op_base__id,
00316 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types,
00317 ptr< ::lestes::std::vector< ulint > > a__tm_instr_op_base__destroyed_by,
00318 ulint a__tm_instr_op_base__destroys)
00319 : ::lestes::std::object(), id(a__tm_instr_op_base__id), allowed_types(checked(a__tm_instr_op_base__allowed_types)), destroyed_by(checked(a__tm_instr_op_base__destroyed_by)), destroys(a__tm_instr_op_base__destroys)
00320 {}
00321
00322 ptr< object::reflection_list > tm_instr_op_base::reflection_get() const
00323 {
00324 if (!reflection) {
00325 typedef class_reflection::field_metadata md;
00326 typedef class_reflection::field_metadata_list mdlist;
00327 ptr<mdlist> mdl = mdlist::create();
00328 mdl->push_back( md::create( "id", "ulint" ) );
00329 mdl->push_back( md::create( "allowed_types", "set< ::lestes::md::types::tm_data_type_base::id_type >" ) );
00330 mdl->push_back( md::create( "destroyed_by", "vector< ulint >" ) );
00331 mdl->push_back( md::create( "destroys", "ulint" ) );
00332 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00333 reflection->push_back( class_reflection::create( "tm_instr_op_base", mdl ) );
00334 }
00335 return reflection;
00336 }
00337
00338 ptr< object::field_list_list > tm_instr_op_base::field_values_get() const
00339 {
00340 ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00341 result->push_back( value_list::create() );
00342 result->back()->push_back( objectize< ulint > ::create( this->id ) );
00343 result->push_back( value_list::create() );
00344 result->back()->push_back( this->allowed_types );
00345 result->push_back( value_list::create() );
00346 result->back()->push_back( this->destroyed_by );
00347 result->push_back( value_list::create() );
00348 result->back()->push_back( objectize< ulint > ::create( this->destroys ) );
00349 return result;
00350 }
00351
00352
00353
00354
00355
00356
00357 void tm_instr_op_base::gc_mark()
00358 {
00359 ::lestes::std::object::gc_mark();
00360 }
00361
00362
00363
00364
00365
00366
00367
00368
00369
00370 tm_instr_op_mem_base::tm_instr_op_mem_base (ulint a__tm_instr_op_base__id,
00371 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types,
00372 ptr< ::lestes::std::vector< ulint > > a__tm_instr_op_base__destroyed_by,
00373 ulint a__tm_instr_op_base__destroys)
00374 : tm_instr_op_base(a__tm_instr_op_base__id,
00375 a__tm_instr_op_base__allowed_types,
00376 a__tm_instr_op_base__destroyed_by,
00377 a__tm_instr_op_base__destroys)
00378 {}
00379
00380 ptr< object::reflection_list > tm_instr_op_mem_base::reflection_get() const
00381 {
00382 if (!reflection) {
00383 typedef class_reflection::field_metadata md;
00384 typedef class_reflection::field_metadata_list mdlist;
00385 ptr<mdlist> mdl = mdlist::create();
00386 reflection = reflection_list::create( tm_instr_op_base::reflection_get() );
00387 reflection->push_back( class_reflection::create( "tm_instr_op_mem_base", mdl ) );
00388 }
00389 return reflection;
00390 }
00391
00392 ptr< object::field_list_list > tm_instr_op_mem_base::field_values_get() const
00393 {
00394 ptr < field_list_list > result = tm_instr_op_base::field_values_get();
00395 return result;
00396 }
00397
00398
00399
00400
00401
00402
00403 void tm_instr_op_mem_base::gc_mark()
00404 {
00405 tm_instr_op_base::gc_mark();
00406 }
00407
00408
00409
00410
00411
00412
00413
00414
00415
00416 ptr< ::lestes::std::set< ::lestes::md::registers::tm_register_base::id_type > > tm_instr_op_reg_base::allowed_registers_get() const
00417 {
00418 return allowed_registers;
00419 }
00420
00421
00422
00423
00424
00425 void tm_instr_op_reg_base::allowed_registers_set(const ptr< ::lestes::std::set< ::lestes::md::registers::tm_register_base::id_type > > & x)
00426 {
00427 tm_instr_op_reg_base::allowed_registers = x;
00428 }
00429
00430
00431
00432
00433
00434 tm_instr_op_reg_base::tm_instr_op_reg_base (ulint a__tm_instr_op_base__id,
00435 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types,
00436 ptr< ::lestes::std::vector< ulint > > a__tm_instr_op_base__destroyed_by,
00437 ulint a__tm_instr_op_base__destroys,
00438 ptr< ::lestes::std::set< ::lestes::md::registers::tm_register_base::id_type > > a__tm_instr_op_reg_base__allowed_registers)
00439 : tm_instr_op_base(a__tm_instr_op_base__id,
00440 a__tm_instr_op_base__allowed_types,
00441 a__tm_instr_op_base__destroyed_by,
00442 a__tm_instr_op_base__destroys), allowed_registers(checked(a__tm_instr_op_reg_base__allowed_registers))
00443 {}
00444
00445 ptr< object::reflection_list > tm_instr_op_reg_base::reflection_get() const
00446 {
00447 if (!reflection) {
00448 typedef class_reflection::field_metadata md;
00449 typedef class_reflection::field_metadata_list mdlist;
00450 ptr<mdlist> mdl = mdlist::create();
00451 mdl->push_back( md::create( "allowed_registers", "set< ::lestes::md::registers::tm_register_base::id_type >" ) );
00452 reflection = reflection_list::create( tm_instr_op_base::reflection_get() );
00453 reflection->push_back( class_reflection::create( "tm_instr_op_reg_base", mdl ) );
00454 }
00455 return reflection;
00456 }
00457
00458 ptr< object::field_list_list > tm_instr_op_reg_base::field_values_get() const
00459 {
00460 ptr < field_list_list > result = tm_instr_op_base::field_values_get();
00461 result->push_back( value_list::create() );
00462 result->back()->push_back( this->allowed_registers );
00463 return result;
00464 }
00465
00466
00467
00468
00469
00470
00471 void tm_instr_op_reg_base::gc_mark()
00472 {
00473 tm_instr_op_base::gc_mark();
00474 }
00475
00476
00477
00478
00479
00480
00481
00482
00483
00484 tm_instr_op_imm_base::tm_instr_op_imm_base (ulint a__tm_instr_op_base__id,
00485 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types,
00486 ptr< ::lestes::std::vector< ulint > > a__tm_instr_op_base__destroyed_by,
00487 ulint a__tm_instr_op_base__destroys)
00488 : tm_instr_op_base(a__tm_instr_op_base__id,
00489 a__tm_instr_op_base__allowed_types,
00490 a__tm_instr_op_base__destroyed_by,
00491 a__tm_instr_op_base__destroys)
00492 {}
00493
00494 ptr< object::reflection_list > tm_instr_op_imm_base::reflection_get() const
00495 {
00496 if (!reflection) {
00497 typedef class_reflection::field_metadata md;
00498 typedef class_reflection::field_metadata_list mdlist;
00499 ptr<mdlist> mdl = mdlist::create();
00500 reflection = reflection_list::create( tm_instr_op_base::reflection_get() );
00501 reflection->push_back( class_reflection::create( "tm_instr_op_imm_base", mdl ) );
00502 }
00503 return reflection;
00504 }
00505
00506 ptr< object::field_list_list > tm_instr_op_imm_base::field_values_get() const
00507 {
00508 ptr < field_list_list > result = tm_instr_op_base::field_values_get();
00509 return result;
00510 }
00511
00512
00513
00514
00515
00516
00517 void tm_instr_op_imm_base::gc_mark()
00518 {
00519 tm_instr_op_base::gc_mark();
00520 }
00521
00522
00523
00524
00525
00526 ptr<object::reflection_list> tm_instr_base::reflection = reflection;
00527 ptr<object::reflection_list> tm_instr_op_base::reflection = reflection;
00528 ptr<object::reflection_list> tm_instr_op_mem_base::reflection = reflection;
00529 ptr<object::reflection_list> tm_instr_op_reg_base::reflection = reflection;
00530 ptr<object::reflection_list> tm_instr_op_imm_base::reflection = reflection;
00531
00532 end_package(instructions);
00533 end_package(md);
00534 end_package(lestes);
00535