Changeset 226 in dev for trunk/abdev/BasicCompiler64/Compile_CallProc.cpp
- Timestamp:
- Jul 22, 2007, 4:58:47 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler64/Compile_CallProc.cpp
r206 r226 15 15 //call _System_GetEip 16 16 extern const UserProc *pSub_System_GetEip; 17 op_call(pSub_System_GetEip);17 compiler.codeGenerator.op_call(pSub_System_GetEip); 18 18 19 19 //mov rdx,rax 20 op_mov_RR(REG_RDX,REG_RAX);20 compiler.codeGenerator.op_mov_RR(REG_RDX,REG_RAX); 21 21 22 22 //mov rcx,rsp 23 op_mov_RR(REG_RCX,REG_RSP);23 compiler.codeGenerator.op_mov_RR(REG_RCX,REG_RSP); 24 24 25 25 //call _DebugSys_SaveContext 26 26 extern const UserProc *pSub_DebugSys_SaveContext; 27 op_call(pSub_DebugSys_SaveContext);27 compiler.codeGenerator.op_call(pSub_DebugSys_SaveContext); 28 28 } 29 29 … … 79 79 80 80 //mov rax,qword ptr[rax] 81 op_mov_RM(sizeof(_int64),REG_RAX,REG_RAX,0,MOD_BASE);81 compiler.codeGenerator.op_mov_RM(sizeof(_int64),REG_RAX,REG_RAX,0,MOD_BASE); 82 82 83 83 //call rax … … 278 278 279 279 //mov rcx,object_size 280 op_mov_RV(sizeof(_int64),REG_RCX,object_size);280 compiler.codeGenerator.op_mov_RV(sizeof(_int64),REG_RCX,object_size); 281 281 282 282 //call calloc 283 283 extern const UserProc *pSub_calloc; 284 op_call(pSub_calloc);284 compiler.codeGenerator.op_call(pSub_calloc); 285 285 286 286 //mov r13,rax 287 op_mov_RR(REG_R13,REG_RAX);287 compiler.codeGenerator.op_mov_RR(REG_R13,REG_RAX); 288 288 289 289 ///////////////////////////////////////////// … … 294 294 if( pUserProc->GetParentClassPtr() && isStatic == false ){ 295 295 //mov rdx,r13 296 op_mov_RR(REG_RDX,REG_R13);296 compiler.codeGenerator.op_mov_RR(REG_RDX,REG_R13); 297 297 } 298 298 else{ 299 299 //mov rcx,r13 300 op_mov_RR(REG_RCX,REG_R13);300 compiler.codeGenerator.op_mov_RR(REG_RCX,REG_R13); 301 301 } 302 302 } … … 330 330 // 参照を実体ポインタにする 331 331 //mov rcx,qword ptr[rcx] 332 op_mov_RM(sizeof(_int64),REG_RCX,REG_RCX,0,MOD_BASE);332 compiler.codeGenerator.op_mov_RM(sizeof(_int64),REG_RCX,REG_RCX,0,MOD_BASE); 333 333 } 334 334 } … … 355 355 356 356 //mov r11,qword ptr[rcx] 357 op_mov_RM(sizeof(_int64),REG_R11,REG_RCX,0,MOD_BASE);357 compiler.codeGenerator.op_mov_RM(sizeof(_int64),REG_R11,REG_RCX,0,MOD_BASE); 358 358 359 359 i2 = pobj_c->GetFuncNumInVtbl( pUserProc ); … … 378 378 379 379 //call ProcAddr 380 op_call(pUserProc);380 compiler.codeGenerator.op_call(pUserProc); 381 381 } 382 382 … … 445 445 446 446 //call dword ptr[ImportTable] 447 op_call( pDllProc );447 compiler.codeGenerator.op_call( pDllProc ); 448 448 449 449 /* 64コンパイラでは不要
Note:
See TracChangeset
for help on using the changeset viewer.