Changeset 46832 in webkit for trunk/JavaScriptCore/assembler/ARMAssembler.cpp
- Timestamp:
- Aug 5, 2009, 10:33:27 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/assembler/ARMAssembler.cpp
r46831 r46832 335 335 } 336 336 337 void ARMAssembler::doubleTransfer(bool isLoad, FPRegisterID srcDst, RegisterID base, int32_t offset) 338 { 339 if (offset & 0x3) { 340 if (offset <= 0x3ff && offset >= 0) { 341 fdtr_u(isLoad, srcDst, base, offset >> 2); 342 return; 343 } 344 if (offset <= 0x3ffff && offset >= 0) { 345 add_r(ARM::S0, base, OP2_IMM | (offset >> 10) | (11 << 8)); 346 fdtr_u(isLoad, srcDst, ARM::S0, (offset >> 2) & 0xff); 347 return; 348 } 349 offset = -offset; 350 351 if (offset <= 0x3ff && offset >= 0) { 352 fdtr_d(isLoad, srcDst, base, offset >> 2); 353 return; 354 } 355 if (offset <= 0x3ffff && offset >= 0) { 356 sub_r(ARM::S0, base, OP2_IMM | (offset >> 10) | (11 << 8)); 357 fdtr_d(isLoad, srcDst, ARM::S0, (offset >> 2) & 0xff); 358 return; 359 } 360 offset = -offset; 361 } 362 363 ldr_un_imm(ARM::S0, offset); 364 add_r(ARM::S0, ARM::S0, base); 365 fdtr_u(isLoad, srcDst, ARM::S0, 0); 366 } 367 337 368 void* ARMAssembler::executableCopy(ExecutablePool* allocator) 338 369 {
Note:
See TracChangeset
for help on using the changeset viewer.