Title: [204698] trunk
Revision
204698
Author
[email protected]
Date
2016-08-21 13:36:49 -0700 (Sun, 21 Aug 2016)

Log Message

Unreviewed, rolling out r204697
https://bugs.webkit.org/show_bug.cgi?id=161029

JSTests:

* typeProfiler/int52-dfg.js: Removed.
(test): Deleted.
* typeProfiler/number-filter-dfg.js: Removed.
(test): Deleted.

Source/_javascript_Core:

32bit is OK. DFGSpeculativeJIT64.cpp shortcut also need some cares.

* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):

Modified Paths

Removed Paths

Diff

Modified: trunk/JSTests/ChangeLog (204697 => 204698)


--- trunk/JSTests/ChangeLog	2016-08-21 19:45:50 UTC (rev 204697)
+++ trunk/JSTests/ChangeLog	2016-08-21 20:36:49 UTC (rev 204698)
@@ -1,5 +1,15 @@
 2016-08-21  Yusuke Suzuki  <[email protected]>
 
+        Unreviewed, rolling out r204697
+        https://bugs.webkit.org/show_bug.cgi?id=161029
+
+        * typeProfiler/int52-dfg.js: Removed.
+        (test): Deleted.
+        * typeProfiler/number-filter-dfg.js: Removed.
+        (test): Deleted.
+
+2016-08-21  Yusuke Suzuki  <[email protected]>
+
         [DFG] Should not fixup AnyIntUse in 32_64
         https://bugs.webkit.org/show_bug.cgi?id=161029
 

Deleted: trunk/JSTests/typeProfiler/int52-dfg.js (204697 => 204698)


--- trunk/JSTests/typeProfiler/int52-dfg.js	2016-08-21 19:45:50 UTC (rev 204697)
+++ trunk/JSTests/typeProfiler/int52-dfg.js	2016-08-21 20:36:49 UTC (rev 204698)
@@ -1,15 +0,0 @@
-load("./driver/driver.js");
-
-function test()
-{
-    var ok = 0;
-    for (var i = 0; i < 1e4; ++i) {
-        ok += 0xfffffffff;  // Int52
-    }
-    return ok;
-}
-test();
-
-var types = findTypeForExpression(test, "ok += 0x");
-assert(types.instructionTypeSet.primitiveTypeNames.length === 1, "Primitive type names should one candidate.");
-assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Integer) !== -1, "Primitive type names should contain 'Integer'");

Deleted: trunk/JSTests/typeProfiler/number-filter-dfg.js (204697 => 204698)


--- trunk/JSTests/typeProfiler/number-filter-dfg.js	2016-08-21 19:45:50 UTC (rev 204697)
+++ trunk/JSTests/typeProfiler/number-filter-dfg.js	2016-08-21 20:36:49 UTC (rev 204698)
@@ -1,16 +0,0 @@
-load("./driver/driver.js");
-
-function test(value)
-{
-    var ok = 0.5;
-    ok += value;
-    return ok;
-}
-noInline(test);
-for (var i = 0; i < 1e4; ++i)
-    test(1.2);
-test(0.5);
-var types = findTypeForExpression(test, "ok += value");
-assert(types.instructionTypeSet.primitiveTypeNames.length === 2, "Primitive type names should two candidates.");
-assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Integer) !== -1, "Primitive type names should contain 'Integer'");
-assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Number) !== -1, "Primitive type names should contain 'Number'");

Modified: trunk/Source/_javascript_Core/ChangeLog (204697 => 204698)


--- trunk/Source/_javascript_Core/ChangeLog	2016-08-21 19:45:50 UTC (rev 204697)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-08-21 20:36:49 UTC (rev 204698)
@@ -1,5 +1,15 @@
 2016-08-21  Yusuke Suzuki  <[email protected]>
 
+        Unreviewed, rolling out r204697
+        https://bugs.webkit.org/show_bug.cgi?id=161029
+
+        32bit is OK. DFGSpeculativeJIT64.cpp shortcut also need some cares.
+
+        * dfg/DFGFixupPhase.cpp:
+        (JSC::DFG::FixupPhase::fixupNode):
+
+2016-08-21  Yusuke Suzuki  <[email protected]>
+
         [DFG] Should not fixup AnyIntUse in 32_64
         https://bugs.webkit.org/show_bug.cgi?id=161029
 

Modified: trunk/Source/_javascript_Core/dfg/DFGFixupPhase.cpp (204697 => 204698)


--- trunk/Source/_javascript_Core/dfg/DFGFixupPhase.cpp	2016-08-21 19:45:50 UTC (rev 204697)
+++ trunk/Source/_javascript_Core/dfg/DFGFixupPhase.cpp	2016-08-21 20:36:49 UTC (rev 204698)
@@ -1459,23 +1459,12 @@
             RefPtr<TypeSet> typeSet = node->typeLocation()->m_instructionTypeSet;
             RuntimeTypeMask seenTypes = typeSet->seenTypes();
             if (typeSet->doesTypeConformTo(TypeAnyInt)) {
-                if (node->child1()->shouldSpeculateInt32()) {
+                if (node->child1()->shouldSpeculateInt32())
                     fixEdge<Int32Use>(node->child1());
-                    node->remove();
-                    break;
-                }
-
-                if (enableInt52()) {
+                else
                     fixEdge<AnyIntUse>(node->child1());
-                    node->remove();
-                    break;
-                }
-
-                // Must not perform fixEdge<NumberUse> here since the type set only includes TypeAnyInt. Double values should be logged.
-            }
-
-            if (typeSet->doesTypeConformTo(TypeNumber | TypeAnyInt) && ((seenTypes & TypeNumber) && (seenTypes & TypeAnyInt))) {
-                // NumberUse can pass TypeNumber and TypeAnyInt. Thus, this node removal is allowed only if both TypeNumber and TypeAnyInt are logged in the type set.
+                node->remove();
+            } else if (typeSet->doesTypeConformTo(TypeNumber | TypeAnyInt)) {
                 fixEdge<NumberUse>(node->child1());
                 node->remove();
             } else if (typeSet->doesTypeConformTo(TypeString)) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to