Title: [166166] trunk/Source/_javascript_Core
Revision
166166
Author
rga...@webkit.org
Date
2014-03-24 08:24:02 -0700 (Mon, 24 Mar 2014)

Log Message

[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:

Modified Paths

Diff

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"
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to