Changeset 93277 in webkit for trunk/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h
- Timestamp:
- Aug 17, 2011, 7:56:13 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h
r90237 r93277 46 46 static const RegisterID scratchReg3 = SH4Registers::r13; 47 47 48 static const int MaximumCompactPtrAlignedAddressOffset = 0x7FFFFFFF;48 static const int MaximumCompactPtrAlignedAddressOffset = 60; 49 49 50 50 enum RelationalCondition { … … 237 237 } 238 238 239 void rshift32(RegisterID src, TrustedImm32 imm, RegisterID dest) 240 { 241 if (src != dest) 242 move(src, dest); 243 rshift32(imm, dest); 244 } 245 239 246 void sub32(RegisterID src, RegisterID dest) 240 247 { … … 712 719 m_assembler.loadConstant((imm.m_value), scr); 713 720 m_assembler.loadConstant(reinterpret_cast<uint32_t>(address), scr1); 714 m_assembler.movl MemReg(scr, scr1);721 m_assembler.movlRegMem(scr, scr1); 715 722 releaseScratch(scr); 716 723 releaseScratch(scr1); … … 721 728 RegisterID scr = claimScratch(); 722 729 m_assembler.loadConstant(reinterpret_cast<uint32_t>(address), scr); 723 m_assembler.movl MemReg(src, scr);730 m_assembler.movlRegMem(src, scr); 724 731 releaseScratch(scr); 725 732 } … … 736 743 } 737 744 738 DataLabel32 load32WithAddressOffsetPatch(Address address, RegisterID dest)739 {740 RegisterID scr = claimScratch();741 DataLabelCompact label(this);742 m_assembler.loadConstantUnReusable(address.offset, scr);743 m_assembler.addlRegReg(address.base, scr);744 m_assembler.movlMemReg(scr, dest);745 releaseScratch(scr);746 return label;747 }748 749 745 DataLabel32 store32WithAddressOffsetPatch(RegisterID src, Address address) 750 746 { … … 756 752 releaseScratch(scr); 757 753 return label; 754 } 755 756 DataLabelCompact load32WithCompactAddressOffsetPatch(Address address, RegisterID dest) 757 { 758 DataLabelCompact dataLabel(this); 759 ASSERT(address.offset <= MaximumCompactPtrAlignedAddressOffset); 760 ASSERT(address.offset >= 0); 761 m_assembler.movlMemRegCompact(address.offset >> 2, address.base, dest); 762 return dataLabel; 758 763 } 759 764 … … 1195 1200 DataLabelPtr moveWithPatch(TrustedImmPtr initialValue, RegisterID dest) 1196 1201 { 1202 m_assembler.ensureSpace(m_assembler.maxInstructionSize, sizeof(uint32_t)); 1197 1203 DataLabelPtr dataLabel(this); 1198 m_assembler.loadConstantUnReusable(reinterpret_cast<uint32_t>(initialValue.m_value), dest , true);1204 m_assembler.loadConstantUnReusable(reinterpret_cast<uint32_t>(initialValue.m_value), dest); 1199 1205 return dataLabel; 1200 1206 }
Note:
See TracChangeset
for help on using the changeset viewer.