Title: [91429] trunk
Revision
91429
Author
[email protected]
Date
2011-07-20 17:42:30 -0700 (Wed, 20 Jul 2011)

Log Message

https://bugs.webkit.org/show_bug.cgi?id=64909
DFG JIT - Missing ToInt32 conversions for double constants.

Reviewed by Sam Weinig.

Source/_javascript_Core: 

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::toInt32):
    - We cannot trivially omit ToInt32 conversions on double constants.

LayoutTests: 

* fast/js/bitops-type-tag-expected.txt:
* fast/js/script-tests/bitops-type-tag.js:
    - Test case for DFG JIT.

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (91428 => 91429)


--- trunk/LayoutTests/ChangeLog	2011-07-21 00:24:01 UTC (rev 91428)
+++ trunk/LayoutTests/ChangeLog	2011-07-21 00:42:30 UTC (rev 91429)
@@ -1,3 +1,14 @@
+2011-07-20  Gavin Barraclough  <[email protected]>
+
+        https://bugs.webkit.org/show_bug.cgi?id=64909
+        DFG JIT - Missing ToInt32 conversions for double constants.
+
+        Reviewed by Sam Weinig.
+
+        * fast/js/bitops-type-tag-expected.txt:
+        * fast/js/script-tests/bitops-type-tag.js:
+            - Test case for DFG JIT.
+
 2011-07-20  Stephen White  <[email protected]>
 
         Remove some more passing tests from chromium GPU expectations

Modified: trunk/LayoutTests/fast/js/bitops-type-tag-expected.txt (91428 => 91429)


--- trunk/LayoutTests/fast/js/bitops-type-tag-expected.txt	2011-07-21 00:24:01 UTC (rev 91428)
+++ trunk/LayoutTests/fast/js/bitops-type-tag-expected.txt	2011-07-21 00:42:30 UTC (rev 91429)
@@ -8,6 +8,7 @@
 PASS aDouble>>0 is 100000000
 PASS aDouble>>0|0 is 100000000
 PASS aDouble|0 is 100000000
+PASS (function(x){ return 2147483648>>>x; })(31) is 1
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/LayoutTests/fast/js/script-tests/bitops-type-tag.js (91428 => 91429)


--- trunk/LayoutTests/fast/js/script-tests/bitops-type-tag.js	2011-07-21 00:24:01 UTC (rev 91428)
+++ trunk/LayoutTests/fast/js/script-tests/bitops-type-tag.js	2011-07-21 00:42:30 UTC (rev 91429)
@@ -7,4 +7,6 @@
 shouldBe("aDouble>>0|0", "100000000");
 shouldBe("aDouble|0", "100000000");
 
+shouldBe("(function(x){ return 2147483648>>>x; })(31)", "1");
+
 var successfullyParsed = true;

Modified: trunk/Source/_javascript_Core/ChangeLog (91428 => 91429)


--- trunk/Source/_javascript_Core/ChangeLog	2011-07-21 00:24:01 UTC (rev 91428)
+++ trunk/Source/_javascript_Core/ChangeLog	2011-07-21 00:42:30 UTC (rev 91429)
@@ -1,3 +1,14 @@
+2011-07-20  Gavin Barraclough  <[email protected]>
+
+        https://bugs.webkit.org/show_bug.cgi?id=64909
+        DFG JIT - Missing ToInt32 conversions for double constants.
+
+        Reviewed by Sam Weinig.
+
+        * dfg/DFGByteCodeParser.cpp:
+        (JSC::DFG::ByteCodeParser::toInt32):
+            - We cannot trivially omit ToInt32 conversions on double constants.
+
 2011-07-20  Filip Pizlo  <[email protected]>
 
         DFG speculative JIT sometimes claims to use compare operands twice, leading to

Modified: trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp (91428 => 91429)


--- trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp	2011-07-21 00:24:01 UTC (rev 91428)
+++ trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp	2011-07-21 00:42:30 UTC (rev 91429)
@@ -200,8 +200,7 @@
             JSValue v = valueOfJSConstant(index);
             if (v.isInt32())
                 return getJSConstant(node.constantNumber());
-            if (v.isNumber())
-                return getJSConstant(node.constantNumber());
+            // FIXME: We could convert the double ToInteger at this point.
         }
 
         return addToGraph(ValueToInt32, index);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to