Changeset 183 in dev for trunk/abdev/BasicCompiler64/NumOpe.cpp
- Timestamp:
- Jun 24, 2007, 6:50:40 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler64/NumOpe.cpp
r159 r183 1 #include <jenga/include/smoothie/Smoothie.h> 2 #include <jenga/include/smoothie/LexicalAnalysis.h> 3 4 #include <Compiler.h> 5 1 6 #include "../BasicCompiler_Common/common.h" 2 7 #include "Opcode.h" … … 18 23 SetStringQuotes( parameter ); 19 24 20 Operator_New( * pobj_DBClass->GetStringClassPtr(), "", parameter, Type( DEF_OBJECT, *pobj_DBClass->GetStringClassPtr() ) );25 Operator_New( *Smoothie::GetMeta().GetClasses().GetStringClassPtr(), "", parameter, Type( DEF_OBJECT, *Smoothie::GetMeta().GetClasses().GetStringClassPtr() ) ); 21 26 22 27 free( parameter ); … … 241 246 char member[VN_SIZE]; 242 247 CClass::RefType refType; 243 if( SplitMemberName( termFull, termLeft, member, refType ) ){248 if( CClass::SplitName( termFull, termLeft, member, refType ) ){ 244 249 /////////////////////////////////////////////////////////////////// 245 250 // オブジェクトとメンバに分解できるとき … … 253 258 Type leftType; 254 259 if( GetTermType( termLeft, leftType, isLiteral, &isClassName ) ){ 255 if( isClassName == false && Smoothie:: meta.blittableTypes.IsExist( leftType ) ){260 if( isClassName == false && Smoothie::GetMeta().blittableTypes.IsExist( leftType ) ){ 256 261 // 左側のオブジェクト部分がBlittable型のとき 257 262 … … 259 264 lstrcpy( temporary, termLeft ); 260 265 sprintf( termLeft, "%s(%s)", 261 Smoothie:: meta.blittableTypes.Find( leftType ).GetCreateStaticMethodFullName().c_str(),266 Smoothie::GetMeta().blittableTypes.Find( leftType ).GetCreateStaticMethodFullName().c_str(), 262 267 temporary ); 263 268 } … … 287 292 288 293 if( pIsClassName ){ 289 if( pobj_DBClass->Find( termFull ) ){294 if( Smoothie::GetMeta().GetClasses().Find( termFull ) ){ 290 295 *pIsClassName = true; 291 296 return true; … … 304 309 if(lstrcmpi(termFull,"This")==0 && isProcedureCallOnly == false ){ 305 310 //Thisオブジェクト 306 resultType.SetType( DEF_OBJECT, pobj_CompilingClass );311 resultType.SetType( DEF_OBJECT, Smoothie::Temp::pCompilingClass ); 307 312 308 313 SetThisPtrToReg( UseReg ); … … 588 593 } 589 594 590 i2 = dataTable.AddBinary( binary, num * tempBaseType.GetSize() );595 i2 = Compiler::GetNativeCode().GetDataTable().AddBinary( binary, num * tempBaseType.GetSize() ); 591 596 592 597 //mov reg,i2 … … 768 773 769 774 type_stack[sp]=DEF_OBJECT; 770 index_stack[sp]=(LONG_PTR) pobj_DBClass->GetStringClassPtr();775 index_stack[sp]=(LONG_PTR)Smoothie::GetMeta().GetClasses().GetStringClassPtr(); 771 776 bLiteralCalculation=0; 772 777 … … 781 786 bLiteralCalculation=0; 782 787 783 i2 = dataTable.AddString( term, i3 );788 i2 = Compiler::GetNativeCode().GetDataTable().AddString( term, i3 ); 784 789 785 790 //mov reg,i2 … … 877 882 } 878 883 else{ 879 index_stack[sp] = (LONG_PTR) pobj_DBClass->GetObjectClassPtr();884 index_stack[sp] = (LONG_PTR)Smoothie::GetMeta().GetClasses().GetObjectClassPtr(); 880 885 } 881 886 … … 966 971 } 967 972 else{ 968 i3 = dataTable.Add( i64data );973 i3 = Compiler::GetNativeCode().GetDataTable().Add( i64data ); 969 974 970 975 //movlpd xmm_reg,qword ptr[data table offset] … … 995 1000 } 996 1001 else{ 997 i3= dataTable.Add( i32data );1002 i3=Compiler::GetNativeCode().GetDataTable().Add( i32data ); 998 1003 999 1004 //movss xmm_reg,dword ptr[data table offset] … … 1134 1139 1135 1140 if(resultType.IsDouble()){ 1136 i3 = dataTable.Add( i64data );1141 i3 = Compiler::GetNativeCode().GetDataTable().Add( i64data ); 1137 1142 1138 1143 //movlpd xmm_reg,qword ptr[data table offset] … … 1154 1159 memcpy(&i32data,&flt,sizeof(long)); 1155 1160 1156 i3 = dataTable.Add( i32data );1161 i3 = Compiler::GetNativeCode().GetDataTable().Add( i32data ); 1157 1162 1158 1163 //movss xmm_reg,dword ptr[data table offset]
Note:
See TracChangeset
for help on using the changeset viewer.