diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.asm b/Source/JavaScriptCore/llint/LowLevelInterpreter.asm index 94c5690c347c6..ea69cae16a0a4 100644 --- a/Source/JavaScriptCore/llint/LowLevelInterpreter.asm +++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.asm @@ -2005,8 +2005,7 @@ else tagCodePtr t3, BytecodePtrTag, AddressDiversified, t4 storep t3, [t4] elsif ARMv7 - mvlbl (label - _%kind%_relativePCBase), t4 - addp t4, t3, t4 + mvlbl label, t4 move index, t5 storep t4, [map, t5, 4] end diff --git a/Source/JavaScriptCore/offlineasm/arm.rb b/Source/JavaScriptCore/offlineasm/arm.rb index ac7a651da41c2..b8bbd9c3232ae 100644 --- a/Source/JavaScriptCore/offlineasm/arm.rb +++ b/Source/JavaScriptCore/offlineasm/arm.rb @@ -755,8 +755,10 @@ def lowerARMCommon armMoveImmediate(operands[0].value >> 32, operands[1]) armMoveImmediate(operands[0].value & 0xffffffff, operands[2]) when "mvlbl" - $asm.puts "movw #{operands[1].armOperand}, \#:lower16:#{operands[0].value}" - $asm.puts "movt #{operands[1].armOperand}, \#:upper16:#{operands[0].value}" + $asm.puts ".align 4" + $asm.puts "b.w #+4" + $asm.puts ".word #{operands[0].value}" + $asm.puts "ldr.w #{operands[1].armOperand}, [pc, #-8]" when "sxb2i" $asm.puts "sxtb #{armFlippedOperands(operands)}" when "sxh2i" @@ -1000,4 +1002,3 @@ def lowerARMCommon end end end -