Ignore:
Timestamp:
Jul 29, 2007, 9:30:14 PM (17 years ago)
Author:
dai_9181
Message:

Selectステートメントのスケジュール機構をリファクタリング

File:
1 edited

Legend:

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

    r235 r250  
    329329        //call dword ptr[edx+func_index]
    330330        if(i2*PTR_SIZE<=0x7F){
    331             OpBuffer[obp++]=(char)0xFF;
    332             OpBuffer[obp++]=(char)0x52;
    333             OpBuffer[obp++]=(char)(i2*PTR_SIZE);
     331            compiler.codeGenerator.PutOld(
     332                (char)0xFF,
     333                (char)0x52,
     334                (char)(i2*PTR_SIZE)
     335            );
    334336        }
    335337        else{
    336             OpBuffer[obp++]=(char)0xFF;
    337             OpBuffer[obp++]=(char)0x92;
    338             *((long *)(OpBuffer+obp))=i2*PTR_SIZE;
    339             obp+=sizeof(long);
     338            compiler.codeGenerator.PutOld(
     339                (char)0xFF,
     340                (char)0x92
     341            );
     342            compiler.codeGenerator.PutOld( (long)(i2*PTR_SIZE), Schedule::None );
    340343        }
    341344    }
     
    361364}
    362365
    363 bool Opcode_CallDllProc( const char *lpszParms, DllProc *pDllProc ){
     366bool Opcode_CallDllProc( const char *lpszParms, const DllProc *pDllProc ){
    364367
    365368    extern BOOL bDebugCompile;
     
    397400
    398401    //call dword ptr[LookupTable]
    399     pDllProc->Using();
    400     OpBuffer[obp++]=(char)0xFF;
    401     OpBuffer[obp++]=(char)0x15;
    402     pobj_ImportAddrSchedule->add(pDllProc);
    403     obp+=sizeof(long);
     402    compiler.codeGenerator.op_call( pDllProc );
    404403
    405404    if(pDllProc->IsCdecl()){
Note: See TracChangeset for help on using the changeset viewer.