Changeset 116233 in webkit for trunk/Source/JavaScriptCore/assembler/MacroAssemblerARM.h
- Timestamp:
- May 5, 2012, 10:27:29 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/assembler/MacroAssemblerARM.h
r115929 r116233 377 377 void store32(TrustedImm32 imm, ImplicitAddress address) 378 378 { 379 if (imm.m_isPointer) 380 m_assembler.ldr_un_imm(ARMRegisters::S1, imm.m_value); 381 else 382 move(imm, ARMRegisters::S1); 379 move(imm, ARMRegisters::S1); 383 380 store32(ARMRegisters::S1, address); 384 381 } … … 393 390 { 394 391 m_assembler.ldr_un_imm(ARMRegisters::S0, reinterpret_cast<ARMWord>(address)); 395 if (imm.m_isPointer) 396 m_assembler.ldr_un_imm(ARMRegisters::S1, imm.m_value); 397 else 398 m_assembler.moveImm(imm.m_value, ARMRegisters::S1); 392 m_assembler.moveImm(imm.m_value, ARMRegisters::S1); 399 393 m_assembler.dtr_u(false, ARMRegisters::S1, ARMRegisters::S0, 0); 400 394 } … … 424 418 void move(TrustedImm32 imm, RegisterID dest) 425 419 { 426 if (imm.m_isPointer) 427 m_assembler.ldr_un_imm(dest, imm.m_value); 428 else 429 m_assembler.moveImm(imm.m_value, dest); 420 m_assembler.moveImm(imm.m_value, dest); 430 421 } 431 422 … … 480 471 Jump branch32(RelationalCondition cond, RegisterID left, TrustedImm32 right, int useConstantPool = 0) 481 472 { 482 if (right.m_isPointer) { 483 m_assembler.ldr_un_imm(ARMRegisters::S0, right.m_value); 484 m_assembler.cmp_r(left, ARMRegisters::S0); 485 } else { 486 ARMWord tmp = (right.m_value == 0x80000000) ? ARMAssembler::INVALID_IMM : m_assembler.getOp2(-right.m_value); 487 if (tmp != ARMAssembler::INVALID_IMM) 488 m_assembler.cmn_r(left, tmp); 489 else 490 m_assembler.cmp_r(left, m_assembler.getImm(right.m_value, ARMRegisters::S0)); 491 } 473 ARMWord tmp = (right.m_value == 0x80000000) ? ARMAssembler::INVALID_IMM : m_assembler.getOp2(-right.m_value); 474 if (tmp != ARMAssembler::INVALID_IMM) 475 m_assembler.cmn_r(left, tmp); 476 else 477 m_assembler.cmp_r(left, m_assembler.getImm(right.m_value, ARMRegisters::S0)); 492 478 return Jump(m_assembler.jmp(ARMCondition(cond), useConstantPool)); 493 479 }
Note:
See TracChangeset
for help on using the changeset viewer.