Changeset 358 in dev for trunk/abdev/BasicCompiler64
- Timestamp:
- Nov 6, 2007, 2:35:15 AM (17 years ago)
- Location:
- trunk/abdev/BasicCompiler64
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler64/Compile_Func.cpp
r357 r358 17 17 if( lstrcmpi( FuncName, "__delegate_staticmethod_call" ) == 0 ) return FUNC_DELEGATE_STATICMETHOD_CALL; 18 18 if( lstrcmpi( FuncName, "_System_GetNowScopeCatchAddresses" ) == 0 )return FUNC_SYSTEM_GET_NOW_SCOPE_CATCH_ADDRESS; 19 if( lstrcmpi( FuncName, "_System_GetBp" ) == 0 ) return FUNC_SYSTEM_GET_BP; 20 if( lstrcmpi( FuncName, "_System_GetSp" ) == 0 ) return FUNC_SYSTEM_GET_SP; 19 21 if( lstrcmpi( FuncName, "GetDouble" ) == 0 ) return FUNC_GETDOUBLE; 20 22 if( lstrcmpi( FuncName, "GetSingle" ) == 0 ) return FUNC_GETSINGLE; … … 447 449 compiler.codeGenerator.op_mov_RR(REG_RAX,REG_RBP); 448 450 } 451 void Opcode_Func_System_Get_Sp() 452 { 453 //mov rax,rsp 454 compiler.codeGenerator.op_mov_RR(REG_RAX,REG_RSP); 455 } 449 456 450 457 void Opcode_Func_GetPtrData( const char *Parameter, const int type ){ … … 501 508 case FUNC_SYSTEM_GET_NOW_SCOPE_CATCH_ADDRESS: 502 509 if( isCallOn ) Exception::Opcode_Func_System_GetNowScopeCatchAddress(); 503 resultType.SetBasicType( DEF_ LONG);510 resultType.SetBasicType( DEF_PTR_VOID ); 504 511 break; 505 512 case FUNC_SYSTEM_GET_BP: 506 513 if( isCallOn ) Opcode_Func_System_Get_Bp(); 507 resultType.SetBasicType( DEF_LONG ); 514 resultType.SetBasicType( DEF_INT64 ); 515 break; 516 case FUNC_SYSTEM_GET_SP: 517 if( isCallOn ) Opcode_Func_System_Get_Sp(); 518 resultType.SetBasicType( DEF_INT64 ); 508 519 break; 509 520 -
trunk/abdev/BasicCompiler64/Compile_ProcOp.cpp
r355 r358 117 117 //add rsp,8 118 118 compiler.codeGenerator.op_add_RV(REG_RSP,0x8); 119 120 //ret121 compiler.codeGenerator.op_ret();122 }123 else if( userProc.GetName() == "_System_GetSp" ){124 //mov rax,rsp125 compiler.codeGenerator.op_mov_RR(REG_RAX,REG_RSP);126 127 //add rax,PTR_SIZE128 compiler.codeGenerator.op_add_RV(REG_RAX,PTR_SIZE);129 119 130 120 //ret -
trunk/abdev/BasicCompiler64/FunctionValue.h
r357 r358 18 18 #define FUNC_SYSTEM_GET_NOW_SCOPE_CATCH_ADDRESS 0x0623 19 19 #define FUNC_SYSTEM_GET_BP 0x0624 20 #define FUNC_SYSTEM_GET_SP 0x0625 20 21 21 22 //ポインタ -
trunk/abdev/BasicCompiler64/MakePeHdr.cpp
r357 r358 33 33 *pSub_System_Call_Destructor_of_GlobalObject, 34 34 *pSub_System_End, 35 *pSub_System_GetSp,36 35 *pSub_pow, 37 36 *pSub_calloc, … … 245 244 if(pSub_System_End=GetSubHash("_System_End",1)){ 246 245 pSub_System_End->Using(); 247 }248 249 if(pSub_System_GetSp=GetSubHash("_System_GetSp",1)){250 pSub_System_GetSp->Using();251 pSub_System_GetSp->ThisIsSystemProc();252 246 } 253 247
Note:
See TracChangeset
for help on using the changeset viewer.