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