Changeset 319 in dev for trunk/abdev/BasicCompiler64/Compile_ProcOp.cpp
- Timestamp:
- Sep 9, 2007, 12:37:48 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler64/Compile_ProcOp.cpp
r318 r319 507 507 } 508 508 } 509 510 //仮想関数テーブルを初期化511 if( compiler.pCompilingClass->IsExistVirtualFunctions()512 && !compiler.pCompilingClass->IsAbstract() )513 {514 // mov rax,vtblAddress515 compiler.codeGenerator.op_mov_RV_vtbl( REG_RAX, compiler.pCompilingClass );516 517 //Thisポインタをrcxにコピー518 SetThisPtrToReg(REG_RCX);519 520 //mov qword ptr[rcx],rax521 compiler.codeGenerator.op_mov_MR(sizeof(_int64),REG_RAX,REG_RCX,0,MOD_BASE);522 523 524 // 仮想関数になるメソッドに使用チェックをつける525 BOOST_FOREACH( const CMethod *pMethod, compiler.pCompilingClass->GetMethods() )526 {527 if( pMethod->IsVirtual() )528 {529 pMethod->GetUserProc().Using();530 }531 }532 }533 509 } 534 510 else if( pUserProc->IsDestructor() ){
Note:
See TracChangeset
for help on using the changeset viewer.