00001
00002
00003
00004
00005
00006
00007
00008 #include <lestes/md/instructions/pi_operand2ge_operand.g.hh>
00009 #include <lestes/backend_v2/intercode/pi.g.hh>
00010 #include <lestes/backend_v2/intercode/ge.g.hh>
00011
00012 #include <lestes/std/list.hh>
00013 #include <lestes/std/pair.hh>
00014 #include <lestes/std/reflect.hh>
00015
00016 #include <lestes/md/instructions/pi_pi2ge_pi.g.hh>
00017
00018 package(lestes);
00019 package(md);
00020 package(instructions);
00021
00022
00023
00024
00025
00026
00027
00028
00029 ptr< ::lestes::backend_v2::intercode::ge_sp > pi_pi2ge_pi::first_sp_get() const
00030 {
00031 return first_sp;
00032 }
00033
00034
00035
00036
00037
00038 void pi_pi2ge_pi::first_sp_set(const ptr< ::lestes::backend_v2::intercode::ge_sp > & x)
00039 {
00040 pi_pi2ge_pi::first_sp = x;
00041 }
00042
00043
00044
00045
00046
00047 ptr< ::lestes::backend_v2::intercode::ge_sp > pi_pi2ge_pi::last_sp_get() const
00048 {
00049 return last_sp;
00050 }
00051
00052
00053
00054
00055
00056 void pi_pi2ge_pi::last_sp_set(const ptr< ::lestes::backend_v2::intercode::ge_sp > & x)
00057 {
00058 pi_pi2ge_pi::last_sp = x;
00059 }
00060
00061
00062
00063
00064
00065 ptr< ::lestes::backend_v2::intercode::ge_operand_reg > pi_pi2ge_pi::preserved_reg_edi_get() const
00066 {
00067 return preserved_reg_edi;
00068 }
00069
00070
00071
00072
00073
00074 void pi_pi2ge_pi::preserved_reg_edi_set(const ptr< ::lestes::backend_v2::intercode::ge_operand_reg > & x)
00075 {
00076 pi_pi2ge_pi::preserved_reg_edi = x;
00077 }
00078
00079
00080
00081
00082
00083 ptr< ::lestes::backend_v2::intercode::ge_operand_reg > pi_pi2ge_pi::preserved_reg_esi_get() const
00084 {
00085 return preserved_reg_esi;
00086 }
00087
00088
00089
00090
00091
00092 void pi_pi2ge_pi::preserved_reg_esi_set(const ptr< ::lestes::backend_v2::intercode::ge_operand_reg > & x)
00093 {
00094 pi_pi2ge_pi::preserved_reg_esi = x;
00095 }
00096
00097
00098
00099
00100
00101 ptr< ::lestes::backend_v2::intercode::ge_operand_reg > pi_pi2ge_pi::preserved_reg_ebx_get() const
00102 {
00103 return preserved_reg_ebx;
00104 }
00105
00106
00107
00108
00109
00110 void pi_pi2ge_pi::preserved_reg_ebx_set(const ptr< ::lestes::backend_v2::intercode::ge_operand_reg > & x)
00111 {
00112 pi_pi2ge_pi::preserved_reg_ebx = x;
00113 }
00114
00115
00116
00117
00118
00119 ptr< pi_pi2ge_pi > pi_pi2ge_pi::create(ptr< ::lestes::backend_v2::intercode::visitor_pi_pi2pi_operands > a__pi_pi2ge_pi_base__pi_operands_getter,
00120 ptr< ::lestes::backend_v2::intercode::visitor_pi_pi2id > a__pi_pi2ge_pi_base__pi_id_getter,
00121 ptr< ::lestes::md::instructions::pi_operand2ge_operand > a__pi_pi2ge_pi_base__pi_op2ge_op_convertor,
00122 ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_sp >, srp< ::lestes::backend_v2::intercode::ge_sp > > > a__pi_pi2ge_pi_base__pi_sp2ge_sp,
00123 ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_operand >, ulint > > a__pi_pi2ge_pi_base__pi_op2count,
00124 ptr< ::lestes::backend_v2::intercode::ge_sp > a__pi_pi2ge_pi__first_sp,
00125 ptr< ::lestes::backend_v2::intercode::ge_sp > a__pi_pi2ge_pi__last_sp,
00126 ptr< ::lestes::backend_v2::intercode::ge_operand_reg > a__pi_pi2ge_pi__preserved_reg_edi,
00127 ptr< ::lestes::backend_v2::intercode::ge_operand_reg > a__pi_pi2ge_pi__preserved_reg_esi,
00128 ptr< ::lestes::backend_v2::intercode::ge_operand_reg > a__pi_pi2ge_pi__preserved_reg_ebx)
00129 {
00130 return ptr< pi_pi2ge_pi > ( new pi_pi2ge_pi(a__pi_pi2ge_pi_base__pi_operands_getter,
00131 a__pi_pi2ge_pi_base__pi_id_getter,
00132 a__pi_pi2ge_pi_base__pi_op2ge_op_convertor,
00133 a__pi_pi2ge_pi_base__pi_sp2ge_sp,
00134 a__pi_pi2ge_pi_base__pi_op2count,
00135 a__pi_pi2ge_pi__first_sp,
00136 a__pi_pi2ge_pi__last_sp,
00137 a__pi_pi2ge_pi__preserved_reg_edi,
00138 a__pi_pi2ge_pi__preserved_reg_esi,
00139 a__pi_pi2ge_pi__preserved_reg_ebx) );
00140 }
00141
00142
00143
00144
00145
00146 ptr< pi_pi2ge_pi > pi_pi2ge_pi::create(ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_operand >, ulint > > a__pi_pi2ge_pi_base__pi_op2count)
00147 {
00148 return ptr< pi_pi2ge_pi > ( new pi_pi2ge_pi(::lestes::backend_v2::intercode::visitor_pi_pi2pi_operands::create(), ::lestes::backend_v2::intercode::visitor_pi_pi2id::create(), ::lestes::md::instructions::pi_operand2ge_operand::create(), ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_sp >, srp< ::lestes::backend_v2::intercode::ge_sp > > ::create(), a__pi_pi2ge_pi_base__pi_op2count, NULL, NULL, NULL, NULL, NULL) );
00149 }
00150
00151
00152
00153
00154
00155 pi_pi2ge_pi::pi_pi2ge_pi (ptr< ::lestes::backend_v2::intercode::visitor_pi_pi2pi_operands > a__pi_pi2ge_pi_base__pi_operands_getter,
00156 ptr< ::lestes::backend_v2::intercode::visitor_pi_pi2id > a__pi_pi2ge_pi_base__pi_id_getter,
00157 ptr< ::lestes::md::instructions::pi_operand2ge_operand > a__pi_pi2ge_pi_base__pi_op2ge_op_convertor,
00158 ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_sp >, srp< ::lestes::backend_v2::intercode::ge_sp > > > a__pi_pi2ge_pi_base__pi_sp2ge_sp,
00159 ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_operand >, ulint > > a__pi_pi2ge_pi_base__pi_op2count,
00160 ptr< ::lestes::backend_v2::intercode::ge_sp > a__pi_pi2ge_pi__first_sp,
00161 ptr< ::lestes::backend_v2::intercode::ge_sp > a__pi_pi2ge_pi__last_sp,
00162 ptr< ::lestes::backend_v2::intercode::ge_operand_reg > a__pi_pi2ge_pi__preserved_reg_edi,
00163 ptr< ::lestes::backend_v2::intercode::ge_operand_reg > a__pi_pi2ge_pi__preserved_reg_esi,
00164 ptr< ::lestes::backend_v2::intercode::ge_operand_reg > a__pi_pi2ge_pi__preserved_reg_ebx)
00165 : pi_pi2ge_pi_base(a__pi_pi2ge_pi_base__pi_operands_getter,
00166 a__pi_pi2ge_pi_base__pi_id_getter,
00167 a__pi_pi2ge_pi_base__pi_op2ge_op_convertor,
00168 a__pi_pi2ge_pi_base__pi_sp2ge_sp,
00169 a__pi_pi2ge_pi_base__pi_op2count), first_sp(a__pi_pi2ge_pi__first_sp), last_sp(a__pi_pi2ge_pi__last_sp), preserved_reg_edi(a__pi_pi2ge_pi__preserved_reg_edi), preserved_reg_esi(a__pi_pi2ge_pi__preserved_reg_esi), preserved_reg_ebx(a__pi_pi2ge_pi__preserved_reg_ebx)
00170 {}
00171
00172 ptr< object::reflection_list > pi_pi2ge_pi::reflection_get() const
00173 {
00174 if (!reflection) {
00175 typedef class_reflection::field_metadata md;
00176 typedef class_reflection::field_metadata_list mdlist;
00177 ptr<mdlist> mdl = mdlist::create();
00178 mdl->push_back( md::create( "first_sp", "ge_sp" ) );
00179 mdl->push_back( md::create( "last_sp", "ge_sp" ) );
00180 mdl->push_back( md::create( "preserved_reg_edi", "ge_operand_reg" ) );
00181 mdl->push_back( md::create( "preserved_reg_esi", "ge_operand_reg" ) );
00182 mdl->push_back( md::create( "preserved_reg_ebx", "ge_operand_reg" ) );
00183 reflection = reflection_list::create( pi_pi2ge_pi_base::reflection_get() );
00184 reflection->push_back( class_reflection::create( "pi_pi2ge_pi", mdl ) );
00185 }
00186 return reflection;
00187 }
00188
00189 ptr< object::field_list_list > pi_pi2ge_pi::field_values_get() const
00190 {
00191 ptr < field_list_list > result = pi_pi2ge_pi_base::field_values_get();
00192 result->push_back( value_list::create() );
00193 result->back()->push_back( this->first_sp );
00194 result->push_back( value_list::create() );
00195 result->back()->push_back( this->last_sp );
00196 result->push_back( value_list::create() );
00197 result->back()->push_back( this->preserved_reg_edi );
00198 result->push_back( value_list::create() );
00199 result->back()->push_back( this->preserved_reg_esi );
00200 result->push_back( value_list::create() );
00201 result->back()->push_back( this->preserved_reg_ebx );
00202 return result;
00203 }
00204
00205
00206
00207
00208
00209
00210 void pi_pi2ge_pi::gc_mark()
00211 {
00212 pi_pi2ge_pi_base::gc_mark();
00213 }
00214
00215
00216
00217
00218
00219 ptr<object::reflection_list> pi_pi2ge_pi::reflection = reflection;
00220
00221 end_package(instructions);
00222 end_package(md);
00223 end_package(lestes);
00224