Changeset 292540 in webkit for trunk/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h
- Timestamp:
- Apr 7, 2022, 10:03:19 AM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h
r291339 r292540 39 39 40 40 class MacroAssemblerARMv7 : public AbstractMacroAssembler<Assembler> { 41 public: 42 static constexpr size_t nearJumpRange = 16 * MB; 43 44 private: 41 45 static constexpr RegisterID dataTempRegister = ARMRegisters::ip; 42 46 static constexpr RegisterID addressTempRegister = ARMRegisters::r6; … … 2238 2242 ALWAYS_INLINE Call nearCall() 2239 2243 { 2240 moveFixedWidthEncoding(TrustedImm32(0), dataTempRegister);2241 2244 invalidateAllTempRegisters(); 2242 return Call(m_assembler.bl x(dataTempRegister), Call::LinkableNear);2245 return Call(m_assembler.bl(), Call::LinkableNear); 2243 2246 } 2244 2247 2245 2248 ALWAYS_INLINE Call nearTailCall() 2246 2249 { 2247 moveFixedWidthEncoding(TrustedImm32(0), dataTempRegister);2248 2250 invalidateAllTempRegisters(); 2249 return Call(m_assembler.b x(dataTempRegister), Call::LinkableNearTail);2251 return Call(m_assembler.b(), Call::LinkableNearTail); 2250 2252 } 2251 2253 … … 2655 2657 static void linkCall(void* code, Call call, FunctionPtr<tag> function) 2656 2658 { 2657 if (call.isFlagSet(Call::Tail)) 2658 ARMv7Assembler::linkJump(code, call.m_label, function.executableAddress()); 2659 if (!call.isFlagSet(Call::Near)) 2660 Assembler::linkPointer(code, call.m_label.labelAtOffset(-2), function.executableAddress()); 2661 else if (call.isFlagSet(Call::Tail)) 2662 Assembler::linkTailCall(code, call.m_label, function.executableAddress()); 2659 2663 else 2660 A RMv7Assembler::linkCall(code, call.m_label, function.executableAddress());2664 Assembler::linkCall(code, call.m_label, function.executableAddress()); 2661 2665 } 2662 2666
Note:
See TracChangeset
for help on using the changeset viewer.