Title: [261293] trunk/Source/_javascript_Core
Revision
261293
Author
ryanhad...@apple.com
Date
2020-05-07 09:19:18 -0700 (Thu, 07 May 2020)

Log Message

Unreviewed, reverting r261260.

Caused 26 JSC test failures

Reverted changeset:

"DFG ByVal nodes with ArrayModes should clobberTop until Fixup
phase runs."
https://bugs.webkit.org/show_bug.cgi?id=211531
https://trac.webkit.org/changeset/261260

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (261292 => 261293)


--- trunk/Source/_javascript_Core/ChangeLog	2020-05-07 16:14:10 UTC (rev 261292)
+++ trunk/Source/_javascript_Core/ChangeLog	2020-05-07 16:19:18 UTC (rev 261293)
@@ -1,3 +1,16 @@
+2020-05-07  Ryan Haddad  <ryanhad...@apple.com>
+
+        Unreviewed, reverting r261260.
+
+        Caused 26 JSC test failures
+
+        Reverted changeset:
+
+        "DFG ByVal nodes with ArrayModes should clobberTop until Fixup
+        phase runs."
+        https://bugs.webkit.org/show_bug.cgi?id=211531
+        https://trac.webkit.org/changeset/261260
+
 2020-05-07  Mark Lam  <mark....@apple.com>
 
         Fix broken exceptionFuzz tests.

Modified: trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp (261292 => 261293)


--- trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp	2020-05-07 16:14:10 UTC (rev 261292)
+++ trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp	2020-05-07 16:19:18 UTC (rev 261293)
@@ -6901,9 +6901,6 @@
                     Node* iterable = get(bytecode.m_iterable);
                     Node* butterfly = addToGraph(GetButterfly, iterable);
                     Node* length = addToGraph(GetArrayLength, OpInfo(arrayMode.asWord()), iterable, butterfly);
-                    // GetArrayLength is pessimized prior to fixup.
-                    m_exitOK = true;
-                    addToGraph(ExitOK);
                     Node* isOutOfBounds = addToGraph(CompareGreaterEq, Edge(index, Int32Use), Edge(length, Int32Use));
 
                     isDone = addToGraph(ArithBitOr, isDone, isOutOfBounds);

Modified: trunk/Source/_javascript_Core/dfg/DFGClobberize.h (261292 => 261293)


--- trunk/Source/_javascript_Core/dfg/DFGClobberize.h	2020-05-07 16:14:10 UTC (rev 261292)
+++ trunk/Source/_javascript_Core/dfg/DFGClobberize.h	2020-05-07 16:19:18 UTC (rev 261293)
@@ -155,11 +155,6 @@
         read(World);
         write(Heap);
     };
-
-    // Since Fixup can widen our ArrayModes based on profiling from other nodes we pessimistically assume
-    // all nodes with an ArrayMode can clobber top.
-    if (graph.m_planStage < PlanStage::AfterFixup && node->hasArrayMode())
-        return clobberTop();
     
     switch (node->op()) {
     case JSConstant:

Modified: trunk/Source/_javascript_Core/dfg/DFGFixupPhase.cpp (261292 => 261293)


--- trunk/Source/_javascript_Core/dfg/DFGFixupPhase.cpp	2020-05-07 16:14:10 UTC (rev 261292)
+++ trunk/Source/_javascript_Core/dfg/DFGFixupPhase.cpp	2020-05-07 16:19:18 UTC (rev 261293)
@@ -180,10 +180,6 @@
     {
         NodeType op = node->op();
 
-#if ASSERT_ENABLED
-        bool usedToClobberExitState = clobbersExitState(m_graph, node);
-#endif
-
         switch (op) {
         case SetLocal: {
             // This gets handled by fixupGetAndSetLocalsInBlock().
@@ -1285,7 +1281,7 @@
                 node->setArrayMode(ArrayMode(Array::Generic, node->arrayMode().action()));
                 break;
             }
-
+            
             node->setArrayMode(
                 node->arrayMode().refine(
                     m_graph, node, base->prediction(), index->prediction()));
@@ -2724,12 +2720,6 @@
             break;
 #endif // not ASSERT_ENABLED
         }
-
-#if ASSERT_ENABLED
-        // It would be invalid for Fixup to take a node that didn't clobber exit state and mark it as clobbering afterwords.
-        DFG_ASSERT(m_graph, node, usedToClobberExitState || !clobbersExitState(m_graph, node));
-#endif
-
     }
 
     void watchHavingABadTime(Node* node)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to