Changeset 319 in dev for trunk/abdev/BasicCompiler32/Compile_ProcOp.cpp
- Timestamp:
- Sep 9, 2007, 12:37:48 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler32/Compile_ProcOp.cpp
r316 r319 536 536 } 537 537 } 538 539 //仮想関数テーブルを初期化540 if( compiler.pCompilingClass->IsExistVirtualFunctions()541 && !compiler.pCompilingClass->IsAbstract() )542 {543 // mov eax,vtblAddress544 compiler.codeGenerator.op_mov_RV_vtbl( REG_EAX, compiler.pCompilingClass );545 546 //Thisポインタをecxにコピー547 SetThisPtrToReg(REG_ECX);548 549 //mov dword ptr[ecx],eax550 compiler.codeGenerator.op_mov_MR( sizeof(long), REG_EAX, REG_ECX, 0, MOD_BASE );551 552 553 // 仮想関数になるメソッドに使用チェックをつける554 BOOST_FOREACH( const CMethod *pMethod, compiler.pCompilingClass->GetMethods() )555 {556 if( pMethod->IsVirtual() )557 {558 pMethod->GetUserProc().Using();559 }560 }561 }562 538 } 563 539 else if( pUserProc->IsDestructor() ){
Note:
See TracChangeset
for help on using the changeset viewer.