Changeset 254 in dev for trunk/abdev/BasicCompiler64/Compile_Set_Var.cpp
- Timestamp:
- Jul 31, 2007, 4:30:31 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler64/Compile_Set_Var.cpp
r242 r254 126 126 (char)0x1C 127 127 ); 128 compiler.codeGenerator.PutOld( 129 (long)pRelative->offset, 130 Schedule::LocalVar 128 compiler.codeGenerator.localVarPertialSchedules.push_back( 129 compiler.codeGenerator.PutOld( (long)pRelative->offset, true ) 131 130 ); 132 131 } 133 132 else{ 134 133 //movsd qword ptr[rsp+offset],xmm0 135 compiler.codeGenerator.op_movsd_MR( REG_XMM0, REG_RSP, (long)pRelative->offset, MOD_BASE_DISP32, Schedule::LocalVar ); 134 compiler.codeGenerator.localVarPertialSchedules.push_back( 135 compiler.codeGenerator.op_movsd_MR( REG_XMM0, REG_RSP, (long)pRelative->offset, MOD_BASE_DISP32, Schedule::None, true ) 136 ); 136 137 } 137 138 } … … 139 140 if(pRelative->bOffsetOffset){ 140 141 //add r11,qword ptr[rsp+offset] 141 compiler.codeGenerator.op_add_RM(sizeof(_int64),REG_R11,REG_RSP,(int)pRelative->offset,MOD_BASE_DISP32, Schedule::LocalVar ); 142 compiler.codeGenerator.localVarPertialSchedules.push_back( 143 compiler.codeGenerator.op_add_RM(sizeof(_int64),REG_R11,REG_RSP,(int)pRelative->offset,MOD_BASE_DISP32, Schedule::None, true ) 144 ); 142 145 } 143 146 else{ 144 147 //mov r11,qword ptr[rsp+offset] 145 compiler.codeGenerator.op_mov_RM(sizeof(_int64),REG_R11,REG_RSP,(int)pRelative->offset,MOD_BASE_DISP32, Schedule::LocalVar ); 148 compiler.codeGenerator.localVarPertialSchedules.push_back( 149 compiler.codeGenerator.op_mov_RM(sizeof(_int64),REG_R11,REG_RSP,(int)pRelative->offset,MOD_BASE_DISP32, Schedule::None, true ) 150 ); 146 151 } 147 152 … … 186 191 (char)0x1C 187 192 ); 188 compiler.codeGenerator.PutOld( 189 (long)pRelative->offset, 190 Schedule::LocalVar 193 compiler.codeGenerator.localVarPertialSchedules.push_back( 194 compiler.codeGenerator.PutOld( (long)pRelative->offset, true ) 191 195 ); 192 196 } 193 197 else{ 194 198 //movss dword ptr[rsp+offset],xmm0 195 compiler.codeGenerator.op_movss_MR( REG_XMM0, REG_RSP, (long)pRelative->offset, MOD_BASE_DISP32, Schedule::LocalVar ); 199 compiler.codeGenerator.localVarPertialSchedules.push_back( 200 compiler.codeGenerator.op_movss_MR( REG_XMM0, REG_RSP, (long)pRelative->offset, MOD_BASE_DISP32, Schedule::None, true ) 201 ); 196 202 } 197 203 } … … 199 205 if(pRelative->bOffsetOffset){ 200 206 //add r11,qword ptr[rsp+offset] 201 compiler.codeGenerator.op_add_RM(sizeof(_int64),REG_R11,REG_RSP,(int)pRelative->offset,MOD_BASE_DISP32, Schedule::LocalVar ); 207 compiler.codeGenerator.localVarPertialSchedules.push_back( 208 compiler.codeGenerator.op_add_RM(sizeof(_int64),REG_R11,REG_RSP,(int)pRelative->offset,MOD_BASE_DISP32, Schedule::None, true ) 209 ); 202 210 } 203 211 else{ 204 212 //mov r11,qword ptr[rsp+offset] 205 compiler.codeGenerator.op_mov_RM(sizeof(_int64),REG_R11,REG_RSP,(int)pRelative->offset,MOD_BASE_DISP32, Schedule::LocalVar ); 213 compiler.codeGenerator.localVarPertialSchedules.push_back( 214 compiler.codeGenerator.op_mov_RM(sizeof(_int64),REG_R11,REG_RSP,(int)pRelative->offset,MOD_BASE_DISP32, Schedule::None, true ) 215 ); 206 216 } 207 217 … … 302 312 if(pRelative->bOffsetOffset){ 303 313 //mov ptr[rsp+r11+offset],rax/eax/ax/al 304 compiler.codeGenerator.op_mov_MR_ex(varSize,REG_RAX,REG_RSP,REG_R11,(int)pRelative->offset,USE_OFFSET, Schedule::LocalVar ); 314 compiler.codeGenerator.localVarPertialSchedules.push_back( 315 compiler.codeGenerator.op_mov_MR_ex(varSize,REG_RAX,REG_RSP,REG_R11,(int)pRelative->offset,USE_OFFSET, Schedule::None, true ) 316 ); 305 317 } 306 318 else{ 307 319 //mov ptr[rsp+offset],rax/eax/ax/al 308 compiler.codeGenerator.op_mov_MR(varSize,REG_RAX,REG_RSP,(int)pRelative->offset,MOD_BASE_DISP32, Schedule::LocalVar ); 320 compiler.codeGenerator.localVarPertialSchedules.push_back( 321 compiler.codeGenerator.op_mov_MR(varSize,REG_RAX,REG_RSP,(int)pRelative->offset,MOD_BASE_DISP32, Schedule::None, true ) 322 ); 309 323 } 310 324 } … … 312 326 if(pRelative->bOffsetOffset){ 313 327 //add r11,qword ptr[rsp+offset] 314 compiler.codeGenerator.op_add_RM( sizeof(_int64), REG_R11, REG_RSP, (int)pRelative->offset, MOD_BASE_DISP32, Schedule::LocalVar ); 328 compiler.codeGenerator.localVarPertialSchedules.push_back( 329 compiler.codeGenerator.op_add_RM( sizeof(_int64), REG_R11, REG_RSP, (int)pRelative->offset, MOD_BASE_DISP32, Schedule::None, true ) 330 ); 315 331 } 316 332 else{ 317 333 //mov r11,qword ptr[rsp+offset] 318 compiler.codeGenerator.op_mov_RM(sizeof(_int64),REG_R11,REG_RSP,(int)pRelative->offset,MOD_BASE_DISP32, Schedule::LocalVar ); 334 compiler.codeGenerator.localVarPertialSchedules.push_back( 335 compiler.codeGenerator.op_mov_RM(sizeof(_int64),REG_R11,REG_RSP,(int)pRelative->offset,MOD_BASE_DISP32, Schedule::None, true ) 336 ); 319 337 } 320 338
Note:
See TracChangeset
for help on using the changeset viewer.