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

Reply via email to