Title: [234853] trunk/Source/_javascript_Core
Revision
234853
Author
[email protected]
Date
2018-08-14 10:23:50 -0700 (Tue, 14 Aug 2018)

Log Message

[DFG] DFGPredictionPropagation should set PrimaryPass when processing invariants
https://bugs.webkit.org/show_bug.cgi?id=188557

Reviewed by Mark Lam.

DFGPredictionPropagationPhase should set PrimaryPass before processing invariants since
processing for ArithRound etc.'s invariants requires `m_pass` load. This issue is found
in UBSan's result.

* dfg/DFGPredictionPropagationPhase.cpp:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (234852 => 234853)


--- trunk/Source/_javascript_Core/ChangeLog	2018-08-14 17:16:31 UTC (rev 234852)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-08-14 17:23:50 UTC (rev 234853)
@@ -1,5 +1,18 @@
 2018-08-14  Yusuke Suzuki  <[email protected]>
 
+        [DFG] DFGPredictionPropagation should set PrimaryPass when processing invariants
+        https://bugs.webkit.org/show_bug.cgi?id=188557
+
+        Reviewed by Mark Lam.
+
+        DFGPredictionPropagationPhase should set PrimaryPass before processing invariants since
+        processing for ArithRound etc.'s invariants requires `m_pass` load. This issue is found
+        in UBSan's result.
+
+        * dfg/DFGPredictionPropagationPhase.cpp:
+
+2018-08-14  Yusuke Suzuki  <[email protected]>
+
         [JSC] Should not rotate constant with 64
         https://bugs.webkit.org/show_bug.cgi?id=188556
 

Modified: trunk/Source/_javascript_Core/dfg/DFGPredictionPropagationPhase.cpp (234852 => 234853)


--- trunk/Source/_javascript_Core/dfg/DFGPredictionPropagationPhase.cpp	2018-08-14 17:16:31 UTC (rev 234852)
+++ trunk/Source/_javascript_Core/dfg/DFGPredictionPropagationPhase.cpp	2018-08-14 17:23:50 UTC (rev 234853)
@@ -50,11 +50,12 @@
         ASSERT(m_graph.m_form == ThreadedCPS);
         ASSERT(m_graph.m_unificationState == GloballyUnified);
 
+        m_pass = PrimaryPass;
+
         propagateThroughArgumentPositions();
 
         processInvariants();
 
-        m_pass = PrimaryPass;
         propagateToFixpoint();
         
         m_pass = RareCasePass;
@@ -1263,8 +1264,8 @@
 
     Vector<Node*> m_dependentNodes;
     Node* m_currentNode;
-    bool m_changed;
-    PredictionPass m_pass; // We use different logic for considering predictions depending on how far along we are in propagation.
+    bool m_changed { false };
+    PredictionPass m_pass { PrimaryPass }; // We use different logic for considering predictions depending on how far along we are in propagation.
 };
 
 } // Anonymous namespace.
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to