Title: [144373] trunk/Source/_javascript_Core
- Revision
- 144373
- Author
- [email protected]
- Date
- 2013-02-28 14:48:33 -0800 (Thu, 28 Feb 2013)
Log Message
DFG Phantom node should be honest about the fact that it can exit
https://bugs.webkit.org/show_bug.cgi?id=111115
Reviewed by Mark Hahnenberg.
The chances of this having cause serious issues are low, since most clients of the
NodeDoesNotExit flag run after CFA and CFA updates this properly. But one possible
case of badness is if the ByteCodeParser inserted a Phantom with a type check in
between a LogicalNot and a Branch; then that peephole optimization in Fixup might
go slightly wrong.
* dfg/DFGNodeType.h:
(DFG):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (144372 => 144373)
--- trunk/Source/_javascript_Core/ChangeLog 2013-02-28 22:46:32 UTC (rev 144372)
+++ trunk/Source/_javascript_Core/ChangeLog 2013-02-28 22:48:33 UTC (rev 144373)
@@ -1,3 +1,19 @@
+2013-02-28 Filip Pizlo <[email protected]>
+
+ DFG Phantom node should be honest about the fact that it can exit
+ https://bugs.webkit.org/show_bug.cgi?id=111115
+
+ Reviewed by Mark Hahnenberg.
+
+ The chances of this having cause serious issues are low, since most clients of the
+ NodeDoesNotExit flag run after CFA and CFA updates this properly. But one possible
+ case of badness is if the ByteCodeParser inserted a Phantom with a type check in
+ between a LogicalNot and a Branch; then that peephole optimization in Fixup might
+ go slightly wrong.
+
+ * dfg/DFGNodeType.h:
+ (DFG):
+
2013-02-28 Mark Hahnenberg <[email protected]>
Add casts in DFGGPRInfo.h to suppress warnings
Modified: trunk/Source/_javascript_Core/dfg/DFGNodeType.h (144372 => 144373)
--- trunk/Source/_javascript_Core/dfg/DFGNodeType.h 2013-02-28 22:46:32 UTC (rev 144372)
+++ trunk/Source/_javascript_Core/dfg/DFGNodeType.h 2013-02-28 22:48:33 UTC (rev 144373)
@@ -59,7 +59,7 @@
/* VariableAccessData, and thus will share predictions. */\
macro(GetLocal, NodeResultJS) \
macro(SetLocal, NodeExitsForward) \
- macro(Phantom, NodeMustGenerate | NodeDoesNotExit) \
+ macro(Phantom, NodeMustGenerate) \
macro(Nop, NodeDoesNotExit) \
macro(Phi, NodeDoesNotExit | NodeRelevantToOSR) \
macro(Flush, NodeMustGenerate | NodeDoesNotExit) \
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes