Title: [154095] trunk
Revision
154095
Author
[email protected]
Date
2013-08-15 04:28:55 -0700 (Thu, 15 Aug 2013)

Log Message

REGRESSION(r148790) Made 7 tests fail on x86 32bit
https://bugs.webkit.org/show_bug.cgi?id=114913

Reviewed by Filip Pizlo.

Source/_javascript_Core:

The X87 register was not freed before some calls. Instead
of inserting resetX87Registers to the last call sites,
the two X87 registers are now freed in every call.

* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* offlineasm/instructions.rb:
* offlineasm/x86.rb:

LayoutTests:

Unskip the five tests now passsing again.

* platform/qt/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (154094 => 154095)


--- trunk/LayoutTests/ChangeLog	2013-08-15 10:35:37 UTC (rev 154094)
+++ trunk/LayoutTests/ChangeLog	2013-08-15 11:28:55 UTC (rev 154095)
@@ -1,3 +1,14 @@
+2013-08-15  Allan Sandfeld Jensen  <[email protected]>
+
+        REGRESSION(r148790) Made 7 tests fail on x86 32bit
+        https://bugs.webkit.org/show_bug.cgi?id=114913
+
+        Reviewed by Filip Pizlo.
+
+        Unskip the five tests now passsing again.
+
+        * platform/qt/TestExpectations:
+
 2013-08-15  Simon Pena  <[email protected]>
 
         [GTK] Unreviewed gardening. Rebaseline after r154057.

Modified: trunk/LayoutTests/platform/qt/TestExpectations (154094 => 154095)


--- trunk/LayoutTests/platform/qt/TestExpectations	2013-08-15 10:35:37 UTC (rev 154094)
+++ trunk/LayoutTests/platform/qt/TestExpectations	2013-08-15 11:28:55 UTC (rev 154095)
@@ -1385,11 +1385,6 @@
 inspector/console/console-filter-test.html
 
 # REGRESSION(r148790) Made 7 tests fail on x86 32bit
-webkit.org/b/114913 fast/canvas/canvas-arc-360-winding.html [ Skip ]
-webkit.org/b/114913 fast/canvas/canvas-fillPath-alpha-shadow.html [ Skip ]
-webkit.org/b/114913 fast/canvas/canvas-fillPath-gradient-shadow.html [ Skip ]
-webkit.org/b/114913 fast/canvas/canvas-fillPath-pattern-shadow.html [ Skip ]
-webkit.org/b/114913 fast/canvas/canvas-strokePath-alpha-shadow.html [ Skip ]
 webkit.org/b/114913 sputnik/Conformance/15_Native_Objects/15.8_Math/15.8.2/15.8.2.13_pow/S15.8.2.13_A24.html [ Skip ]
 webkit.org/b/114913 sputnik/Conformance/15_Native_Objects/15.8_Math/15.8.2/15.8.2.8_exp/S15.8.2.8_A6.html [ Skip ]
 

Modified: trunk/Source/_javascript_Core/ChangeLog (154094 => 154095)


--- trunk/Source/_javascript_Core/ChangeLog	2013-08-15 10:35:37 UTC (rev 154094)
+++ trunk/Source/_javascript_Core/ChangeLog	2013-08-15 11:28:55 UTC (rev 154095)
@@ -1,3 +1,19 @@
+2013-08-15  Allan Sandfeld Jensen  <[email protected]>
+
+        REGRESSION(r148790) Made 7 tests fail on x86 32bit
+        https://bugs.webkit.org/show_bug.cgi?id=114913
+
+        Reviewed by Filip Pizlo.
+
+        The X87 register was not freed before some calls. Instead
+        of inserting resetX87Registers to the last call sites,
+        the two X87 registers are now freed in every call.
+
+        * llint/LowLevelInterpreter32_64.asm:
+        * llint/LowLevelInterpreter64.asm:
+        * offlineasm/instructions.rb:
+        * offlineasm/x86.rb:
+
 2013-08-14  Michael Saboff  <[email protected]>
 
         Fixed jit on Win64.

Modified: trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm (154094 => 154095)


--- trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm	2013-08-15 10:35:37 UTC (rev 154094)
+++ trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm	2013-08-15 11:28:55 UTC (rev 154095)
@@ -102,7 +102,6 @@
         move arg2, t1
         call function
     elsif X86
-        resetX87Stack
         poke arg1, 0
         poke arg2, 1
         call function
@@ -126,7 +125,6 @@
         move arg4, t3
         call function
     elsif X86
-        resetX87Stack
         poke arg1, 0
         poke arg2, 1
         poke arg3, 2

Modified: trunk/Source/_javascript_Core/llint/LowLevelInterpreter64.asm (154094 => 154095)


--- trunk/Source/_javascript_Core/llint/LowLevelInterpreter64.asm	2013-08-15 10:35:37 UTC (rev 154094)
+++ trunk/Source/_javascript_Core/llint/LowLevelInterpreter64.asm	2013-08-15 11:28:55 UTC (rev 154095)
@@ -81,9 +81,6 @@
 macro prepareStateForCCall()
     leap [PB, PC, 8], PC
     move PB, t3
-    if X86_64
-        resetX87Stack
-    end
 end
 
 macro restoreStateAfterCCall()

Modified: trunk/Source/_javascript_Core/offlineasm/instructions.rb (154094 => 154095)


--- trunk/Source/_javascript_Core/offlineasm/instructions.rb	2013-08-15 10:35:37 UTC (rev 154094)
+++ trunk/Source/_javascript_Core/offlineasm/instructions.rb	2013-08-15 11:28:55 UTC (rev 154095)
@@ -254,8 +254,7 @@
 X86_INSTRUCTIONS =
     [
      "cdqi",
-     "idivi",
-     "resetX87Stack"
+     "idivi"
     ]
 
 ARM_INSTRUCTIONS =

Modified: trunk/Source/_javascript_Core/offlineasm/x86.rb (154094 => 154095)


--- trunk/Source/_javascript_Core/offlineasm/x86.rb	2013-08-15 10:35:37 UTC (rev 154094)
+++ trunk/Source/_javascript_Core/offlineasm/x86.rb	2013-08-15 11:28:55 UTC (rev 154095)
@@ -1149,6 +1149,12 @@
         when "break"
             $asm.puts "int $3"
         when "call"
+            if useX87
+                2.times {
+                    | offset |
+                    $asm.puts "ffree %st(#{offset})"
+                }
+            end
             $asm.puts "call #{operands[0].x86CallOperand(:ptr)}"
         when "ret"
             $asm.puts "ret"
@@ -1336,13 +1342,6 @@
             $asm.puts "leal #{operands[0].x86AddressOperand(:int)}, #{operands[1].x86Operand(:int)}"
         when "leap"
             $asm.puts "lea#{x86Suffix(:ptr)} #{operands[0].x86AddressOperand(:ptr)}, #{operands[1].x86Operand(:ptr)}"
-        when "resetX87Stack"
-            if useX87
-                2.times {
-                    | offset |
-                    $asm.puts "ffree %st(#{offset})"
-                }
-            end
         else
             lowerDefault
         end
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to