Ignore:
Timestamp:
Dec 28, 2006, 5:24:48 AM (18 years ago)
Author:
dai_9181
Message:

参照型パラメータに関数の戻り値オブジェクトを指定した場合などの、一時オブジェクトの扱いを可能にした。
Dimで指定される初期値を見分けることで、As指定を省略できるようにした。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler64/Compile_CallProc.cpp

    r19 r20  
    180180    pobj_parameter->BackupParameter(pi->ParmNum);
    181181
     182    //一時オブジェクトを生成
     183    pobj_parameter->NewTempParameters( variable,pi->pParmInfo,pi->ParmNum,pi->ParmNum );
     184
    182185    //レジスタ、スタックフレームにセット
    183186    pobj_parameter->SetParameter(variable,pi->pParmInfo,pi->ParmNum,pi->ParmNum);
     
    200203    //レジスタのブロッキングを解除        ※パラメータセット時にロックされたレジスタ
    201204    pobj_BlockReg->clear();
     205
     206    //一時オブジェクトを破棄
     207    pobj_parameter->DeleteTempParameters();
    202208
    203209    //スタックフレームに存在する既存のパラメータを復元
     
    355361    pobj_parameter->BackupParameter(psi->RealParmNum);
    356362
     363    //一時オブジェクトを生成
     364    pobj_parameter->NewTempParameters( psi->name,psi->pRealParmInfo,psi->RealParmNum,psi->RealSecondParmNum );
     365
    357366    //レジスタ、スタックフレームにセット
    358367    pobj_parameter->SetParameter(psi->name,psi->pRealParmInfo,psi->RealParmNum,psi->RealSecondParmNum);
     
    490499    pobj_BlockReg->clear();
    491500
     501    //一時オブジェクトを破棄
     502    pobj_parameter->DeleteTempParameters();
     503
    492504    //スタックフレームに存在する既存のパラメータを復元
    493505    pobj_parameter->RestoreParameter(psi->RealParmNum);
Note: See TracChangeset for help on using the changeset viewer.