Modified: trunk/Source/_javascript_Core/ChangeLog (166165 => 166166)
--- trunk/Source/_javascript_Core/ChangeLog 2014-03-24 13:46:39 UTC (rev 166165)
+++ trunk/Source/_javascript_Core/ChangeLog 2014-03-24 15:24:02 UTC (rev 166166)
@@ -1,3 +1,15 @@
+2014-03-24 Gabor Rapcsanyi <rga...@webkit.org>
+
+ [ARM64] GNU assembler doesn't work with LLInt arm64 backend.
+ https://bugs.webkit.org/show_bug.cgi?id=130453
+
+ Reviewed by Filip Pizlo.
+
+ Change fp and lr to x29 and x30. Add both operand kinds to emitARM64()
+ at sxtw and uxtw instructions.
+
+ * offlineasm/arm64.rb:
+
2014-03-23 Hyowon Kim <hw1008....@samsung.com>
Move all EFL typedefs into EflTypedefs.h.
Modified: trunk/Source/_javascript_Core/offlineasm/arm64.rb (166165 => 166166)
--- trunk/Source/_javascript_Core/offlineasm/arm64.rb 2014-03-24 13:46:39 UTC (rev 166165)
+++ trunk/Source/_javascript_Core/offlineasm/arm64.rb 2014-03-24 15:24:02 UTC (rev 166166)
@@ -129,7 +129,7 @@
when 'sp'
'sp'
when 'lr'
- 'lr'
+ 'x30'
else
raise "Bad register name #{@name} at #{codeOriginString}"
end
@@ -587,9 +587,9 @@
$asm.puts "stp #{ops[0].arm64Operand(:ptr)}, #{ops[1].arm64Operand(:ptr)}, [sp, #-16]!"
}
when "popLRAndFP"
- $asm.puts "ldp fp, lr, [sp], #16"
+ $asm.puts "ldp x29, x30, [sp], #16"
when "pushLRAndFP"
- $asm.puts "stp fp, lr, [sp, #-16]!"
+ $asm.puts "stp x29, x30, [sp, #-16]!"
when "popCalleeSaves"
$asm.puts "ldp x28, x27, [sp], #16"
$asm.puts "ldp x26, x25, [sp], #16"
@@ -609,13 +609,13 @@
emitARM64("mov", operands, :ptr)
end
when "sxi2p"
- emitARM64("sxtw", operands, :ptr)
+ emitARM64("sxtw", operands, [:int, :ptr])
when "sxi2q"
- emitARM64("sxtw", operands, :ptr)
+ emitARM64("sxtw", operands, [:int, :ptr])
when "zxi2p"
- emitARM64("uxtw", operands, :ptr)
+ emitARM64("uxtw", operands, [:int, :ptr])
when "zxi2q"
- emitARM64("uxtw", operands, :ptr)
+ emitARM64("uxtw", operands, [:int, :ptr])
when "nop"
$asm.puts "nop"
when "bieq", "bbeq"