Changeset 319 in dev for trunk/abdev/BasicCompiler32/Compile_Object.cpp
- Timestamp:
- Sep 9, 2007, 12:37:48 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler32/Compile_Object.cpp
r303 r319 205 205 206 206 207 //仮想関数テーブルを初期化 208 if( classObj.IsExistVirtualFunctions() 209 && !classObj.IsAbstract() ) 210 { 211 // mov ecx,vtblAddress 212 compiler.codeGenerator.op_mov_RV_vtbl( REG_ECX, &classObj ); 213 214 //mov dword ptr[eax],ecx 215 compiler.codeGenerator.op_mov_MR( sizeof(long), REG_ECX, REG_EAX, 0, MOD_BASE ); 216 217 // 仮想関数になるメソッドに使用チェックをつける 218 BOOST_FOREACH( const CMethod *pMethod, classObj.GetMethods() ) 219 { 220 if( pMethod->IsVirtual() ) 221 { 222 pMethod->GetUserProc().Using(); 223 } 224 } 225 } 226 227 207 228 // ※ここでプッシュされた値はNew演算子の戻り値となる 208 229 //push eax
Note:
See TracChangeset
for help on using the changeset viewer.