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