Changeset 47186 in webkit for trunk/JavaScriptCore/assembler/MacroAssemblerARM.h
- Timestamp:
- Aug 12, 2009, 10:58:36 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/assembler/MacroAssemblerARM.h
r46832 r47186 325 325 } 326 326 327 Jump branch32(Condition cond, RegisterID left, RegisterID right )327 Jump branch32(Condition cond, RegisterID left, RegisterID right, int useConstantPool = 0) 328 328 { 329 329 m_assembler.cmp_r(left, right); 330 return Jump(m_assembler.jmp(ARMCondition(cond) ));331 } 332 333 Jump branch32(Condition cond, RegisterID left, Imm32 right )330 return Jump(m_assembler.jmp(ARMCondition(cond), useConstantPool)); 331 } 332 333 Jump branch32(Condition cond, RegisterID left, Imm32 right, int useConstantPool = 0) 334 334 { 335 335 if (right.m_isPointer) { … … 338 338 } else 339 339 m_assembler.cmp_r(left, m_assembler.getImm(right.m_value, ARM::S0)); 340 return Jump(m_assembler.jmp(ARMCondition(cond) ));340 return Jump(m_assembler.jmp(ARMCondition(cond), useConstantPool)); 341 341 } 342 342 … … 498 498 { 499 499 prepareCall(); 500 return Call(m_assembler.jmp( ), Call::LinkableNear);500 return Call(m_assembler.jmp(ARMAssembler::AL, true), Call::LinkableNear); 501 501 } 502 502 … … 588 588 { 589 589 prepareCall(); 590 return Call(m_assembler.jmp( ), Call::Linkable);590 return Call(m_assembler.jmp(ARMAssembler::AL, true), Call::Linkable); 591 591 } 592 592 … … 611 611 { 612 612 dataLabel = moveWithPatch(initialRightValue, ARM::S1); 613 Jump jump = branch32(cond, left, ARM::S1); 614 jump.enableLatePatch(); 613 Jump jump = branch32(cond, left, ARM::S1, true); 615 614 return jump; 616 615 } … … 620 619 load32(left, ARM::S1); 621 620 dataLabel = moveWithPatch(initialRightValue, ARM::S0); 622 Jump jump = branch32(cond, ARM::S0, ARM::S1); 623 jump.enableLatePatch(); 621 Jump jump = branch32(cond, ARM::S0, ARM::S1, true); 624 622 return jump; 625 623 } … … 723 721 } 724 722 723 void ensureSpace(int insnSpace, int constSpace) 724 { 725 m_assembler.ensureSpace(insnSpace, constSpace); 726 } 727 728 int sizeOfConstantPool() 729 { 730 return m_assembler.sizeOfConstantPool(); 731 } 732 725 733 void prepareCall() 726 734 { 727 m_assembler.ensureSpace(3 * sizeof(ARMWord), sizeof(ARMWord));735 ensureSpace(3 * sizeof(ARMWord), sizeof(ARMWord)); 728 736 729 737 // S0 might be used for parameter passing
Note:
See TracChangeset
for help on using the changeset viewer.