Ignore:
Timestamp:
Jul 23, 2007, 3:24:20 AM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler64/Compile_Calc_PushVar.cpp

    r226 r228  
    185185        if(pRelativeVar->bOffsetOffset){
    186186            //mov reg, ptr[r11+offset]
    187             compiler.codeGenerator.op_mov_RM(varSize,reg,REG_R11,(int)pRelativeVar->offset,MOD_BASE_DISP32);
    188             obp-=sizeof(long);
    189             pobj_GlobalVarSchedule->add();
    190             obp+=sizeof(long);
     187            compiler.codeGenerator.op_mov_RM(varSize,reg,REG_R11,(int)pRelativeVar->offset,MOD_BASE_DISP32, Schedule::GlobalVar );
    191188        }
    192189        else{
    193190            //mov reg, ptr[offset]
    194             compiler.codeGenerator.op_mov_RM(varSize,reg,0,(int)pRelativeVar->offset,MOD_DISP32);
    195             obp-=sizeof(long);
    196             pobj_GlobalVarSchedule->add();
    197             obp+=sizeof(long);
     191            compiler.codeGenerator.op_mov_RM(varSize,reg,0,(int)pRelativeVar->offset,MOD_DISP32, Schedule::GlobalVar );
    198192        }
    199193    }
     
    201195        if(pRelativeVar->bOffsetOffset){
    202196            //add r11,qword ptr[offset]
    203             compiler.codeGenerator.op_add_RM(sizeof(_int64),REG_R11,REG_NON,(int)pRelativeVar->offset,MOD_DISP32);
    204             obp-=sizeof(long);
    205             pobj_GlobalVarSchedule->add();
    206             obp+=sizeof(long);
     197            compiler.codeGenerator.op_add_RM(sizeof(_int64),REG_R11,REG_NON,(int)pRelativeVar->offset,MOD_DISP32, Schedule::GlobalVar );
    207198        }
    208199        else{
    209200            //mov r11,qword ptr[offset]
    210             compiler.codeGenerator.op_mov_RM(sizeof(_int64),REG_R11,REG_NON,(int)pRelativeVar->offset,MOD_DISP32);
    211             obp-=sizeof(long);
    212             pobj_GlobalVarSchedule->add();
    213             obp+=sizeof(long);
     201            compiler.codeGenerator.op_mov_RM(sizeof(_int64),REG_R11,REG_NON,(int)pRelativeVar->offset,MOD_DISP32, Schedule::GlobalVar );
    214202        }
    215203
     
    219207        if(pRelativeVar->bOffsetOffset){
    220208            //mov reg, ptr[rsp+r11+offset]
    221             compiler.codeGenerator.op_mov_RM_ex(varSize,reg,REG_RSP,REG_R11,(int)pRelativeVar->offset,USE_OFFSET);
    222             obp-=sizeof(long);
    223             AddLocalVarAddrSchedule();
    224             obp+=sizeof(long);
     209            compiler.codeGenerator.op_mov_RM_ex(varSize,reg,REG_RSP,REG_R11,(int)pRelativeVar->offset,USE_OFFSET, Schedule::LocalVar );
    225210        }
    226211        else{
    227212            //mov reg, ptr[rsp+offset]
    228             compiler.codeGenerator.op_mov_RM(varSize,reg,REG_RSP,(int)pRelativeVar->offset,MOD_BASE_DISP32);
    229             obp-=sizeof(long);
    230             AddLocalVarAddrSchedule();
    231             obp+=sizeof(long);
     213            compiler.codeGenerator.op_mov_RM(varSize,reg,REG_RSP,(int)pRelativeVar->offset,MOD_BASE_DISP32, Schedule::LocalVar );
    232214        }
    233215    }
     
    235217        if(pRelativeVar->bOffsetOffset){
    236218            //add r11,qword ptr[rsp+offset]
    237             compiler.codeGenerator.op_add_RM(sizeof(_int64),REG_R11,REG_RSP,(int)pRelativeVar->offset,MOD_BASE_DISP32);
    238             obp-=sizeof(long);
    239             AddLocalVarAddrSchedule();
    240             obp+=sizeof(long);
     219            compiler.codeGenerator.op_add_RM(sizeof(_int64),REG_R11,REG_RSP,(int)pRelativeVar->offset,MOD_BASE_DISP32, Schedule::LocalVar );
    241220        }
    242221        else{
    243222            //mov r11,qword ptr[rsp+offset]
    244             compiler.codeGenerator.op_mov_RM(sizeof(_int64),REG_R11,REG_RSP,(int)pRelativeVar->offset,MOD_BASE_DISP32);
    245             obp-=sizeof(long);
    246             AddLocalVarAddrSchedule();
    247             obp+=sizeof(long);
     223            compiler.codeGenerator.op_mov_RM(sizeof(_int64),REG_R11,REG_RSP,(int)pRelativeVar->offset,MOD_BASE_DISP32, Schedule::LocalVar );
    248224        }
    249225
Note: See TracChangeset for help on using the changeset viewer.