Changeset 19 in dev for BasicCompiler64/Register.cpp


Ignore:
Timestamp:
Dec 26, 2006, 8:17:10 AM (17 years ago)
Author:
dai_9181
Message:

64ビットコンパイラでローカル変数の0初期化に対応。
raxまたはrdxを一時保存レジスタとして利用する際に、Mod演算子、\演算子が正常に動作しないバグを修正。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler64/Register.cpp

    r3 r19  
    226226    return GetNextXmmReg();
    227227}
     228bool CRegister::IsUsing( int reg ){
     229    int i;
     230
     231    //汎用レジスタを調べる
     232    for(i=init_sp_reg;i>sp_UseReg;i--){
     233        if( array_UseReg[i] == reg ) return true;
     234    }
     235
     236    //XMMレジスタを調べる
     237    for(i=init_sp_xmm_reg;i>sp_XmmReg;i--){
     238        if( array_XmmReg[i] == reg ) return true;
     239    }
     240
     241    //ブロックされている場合を考慮
     242    if( pobj_BlockReg->check( reg ) ) return true;
     243
     244    //使用中でないとき
     245    return false;
     246}
    228247void CRegister::backup(){
    229248    int i;
Note: See TracChangeset for help on using the changeset viewer.