Changeset 244 in dev for trunk/abdev/BasicCompiler32


Ignore:
Timestamp:
Jul 27, 2007, 12:14:00 PM (17 years ago)
Author:
dai_9181
Message:
 
Location:
trunk/abdev/BasicCompiler32
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler32/Compile_Object.cpp

    r235 r244  
    191191
    192192    //mov ecx,DestructorProcAddr
    193     OpBuffer[obp++]=(char)0xB9;
    194     pobj_SubAddrSchedule->add(&method->GetUserProc(),0);
    195     method->GetUserProc().Using();
    196     obp+=sizeof(long);
     193    compiler.codeGenerator.op_addressof( REG_ECX, &method->GetUserProc() );
    197194
    198195    //mov dword ptr[eax],ecx(デストラクタの関数ポインタ)
  • trunk/abdev/BasicCompiler32/MakePeHdr.cpp

    r241 r244  
    206206    compiler.GetMeta().GetDllProcs().Iterator_Init();
    207207
    208 
     208/*
    209209    if( !compiler.GetMeta().WriteXml( Jenga::Common::Environment::GetAppDir() + "\\meta_test.xml" ) )
    210210    {
     
    216216        MessageBox(0,"XML読み込みに失敗","test",0);
    217217    }
    218 /*
     218
    219219    if( !compiler.GetMeta().WriteBinaly( Jenga::Common::Environment::GetAppDir() + "\\meta_test.dat" ) )
    220220    {
     
    234234    {
    235235        MessageBox(0,"バイナリ読み込みに失敗","test",0);
    236     }*/
    237     compiler.GetMeta() = (*pTempMeta);
     236    }
     237    compiler.GetMeta() = (*pTempMeta);*/
    238238
    239239
  • trunk/abdev/BasicCompiler32/x86CodeGenerator.cpp

    r240 r244  
    11831183
    11841184    pNativeCode->Put( (char)0xE8 );
    1185     pobj_SubAddrSchedule->add(pUserProc,1);
    1186     pNativeCode->Put( (long)0 );
     1185    pNativeCode->PutUserProcSchedule( pUserProc, true );
    11871186}
    11881187void CodeGenerator::op_ret(){
     
    11941193    pNativeCode->Put( stackFrameSize );
    11951194}
     1195void CodeGenerator::op_addressof( int reg, const UserProc *pUserProc )
     1196{
     1197    //mov reg,userProcAddress
     1198
     1199    //オペコード、レジスタ
     1200    pNativeCode->Put( (char)(0xB8|REGISTER_OPERAND(reg)) );
     1201
     1202    //DISP32
     1203    pNativeCode->PutUserProcSchedule( pUserProc, false );
     1204}
Note: See TracChangeset for help on using the changeset viewer.