Title: [205601] releases/WebKitGTK/webkit-2.14/Source/_javascript_Core
Revision
205601
Author
[email protected]
Date
2016-09-08 00:57:23 -0700 (Thu, 08 Sep 2016)

Log Message

Merge r205216 - [JSC] Some arith nodes are too pessimistic with the types supported on the fast path
https://bugs.webkit.org/show_bug.cgi?id=161410

Patch by Benjamin Poulain <[email protected]> on 2016-08-30
Reviewed by Geoffrey Garen.

* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
DoubleRep is able to convert numbers, undefined, booleans and null.
I was too pessimistic when I gated the double implementations
on number-or-boolean speculation. We can just let DoubleRep convert
the other cases as long as it is not a Cell.

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/ChangeLog (205600 => 205601)


--- releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/ChangeLog	2016-09-08 07:56:05 UTC (rev 205600)
+++ releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/ChangeLog	2016-09-08 07:57:23 UTC (rev 205601)
@@ -1,3 +1,17 @@
+2016-08-30  Benjamin Poulain  <[email protected]>
+
+        [JSC] Some arith nodes are too pessimistic with the types supported on the fast path
+        https://bugs.webkit.org/show_bug.cgi?id=161410
+
+        Reviewed by Geoffrey Garen.
+
+        * dfg/DFGFixupPhase.cpp:
+        (JSC::DFG::FixupPhase::fixupNode):
+        DoubleRep is able to convert numbers, undefined, booleans and null.
+        I was too pessimistic when I gated the double implementations
+        on number-or-boolean speculation. We can just let DoubleRep convert
+        the other cases as long as it is not a Cell.
+
 2016-08-30  Chris Dumez  <[email protected]>
 
         Object.setPrototypeOf() should throw when used on a cross-origin Window / Location object

Modified: releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/dfg/DFGFixupPhase.cpp (205600 => 205601)


--- releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/dfg/DFGFixupPhase.cpp	2016-09-08 07:56:05 UTC (rev 205600)
+++ releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/dfg/DFGFixupPhase.cpp	2016-09-08 07:57:23 UTC (rev 205601)
@@ -343,7 +343,7 @@
                 break;
             }
 
-            if (node->child1()->shouldSpeculateNumberOrBoolean()) {
+            if (node->child1()->shouldSpeculateNotCell()) {
                 fixDoubleOrBooleanEdge(node->child1());
                 node->clearFlags(NodeMustGenerate);
             } else
@@ -400,7 +400,7 @@
         case ArithSin:
         case ArithSqrt: {
             Edge& child1 = node->child1();
-            if (child1->shouldSpeculateNumberOrBoolean()) {
+            if (child1->shouldSpeculateNotCell()) {
                 fixDoubleOrBooleanEdge(child1);
                 node->clearFlags(NodeMustGenerate);
             } else
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to