Title: [139068] trunk/Source/_javascript_Core
Revision
139068
Author
[email protected]
Date
2013-01-08 09:56:22 -0800 (Tue, 08 Jan 2013)

Log Message

DFG should backwards-propagate NodeUsedAsValue for Phantom
https://bugs.webkit.org/show_bug.cgi?id=106299

Reviewed by Mark Hahnenberg.
        
This is currently benign because Phantom is only inserted by the bytecode parser for
things that already happen to be used in contexts that backwards propagate
NodeUsedAsValue. But that doesn't change the fact that the semantics of Phantom are
that the value can be arbitrarily used by the baseline JIT.

* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (139067 => 139068)


--- trunk/Source/_javascript_Core/ChangeLog	2013-01-08 17:51:48 UTC (rev 139067)
+++ trunk/Source/_javascript_Core/ChangeLog	2013-01-08 17:56:22 UTC (rev 139068)
@@ -1,5 +1,20 @@
 2013-01-07  Filip Pizlo  <[email protected]>
 
+        DFG should backwards-propagate NodeUsedAsValue for Phantom
+        https://bugs.webkit.org/show_bug.cgi?id=106299
+
+        Reviewed by Mark Hahnenberg.
+        
+        This is currently benign because Phantom is only inserted by the bytecode parser for
+        things that already happen to be used in contexts that backwards propagate
+        NodeUsedAsValue. But that doesn't change the fact that the semantics of Phantom are
+        that the value can be arbitrarily used by the baseline JIT.
+
+        * dfg/DFGPredictionPropagationPhase.cpp:
+        (JSC::DFG::PredictionPropagationPhase::propagate):
+
+2013-01-07  Filip Pizlo  <[email protected]>
+
         Rationalize closure call heuristics and profiling
         https://bugs.webkit.org/show_bug.cgi?id=106270
 

Modified: trunk/Source/_javascript_Core/dfg/DFGPredictionPropagationPhase.cpp (139067 => 139068)


--- trunk/Source/_javascript_Core/dfg/DFGPredictionPropagationPhase.cpp	2013-01-08 17:51:48 UTC (rev 139067)
+++ trunk/Source/_javascript_Core/dfg/DFGPredictionPropagationPhase.cpp	2013-01-08 17:56:22 UTC (rev 139068)
@@ -800,11 +800,11 @@
         case GlobalVarWatchpoint:
         case GarbageValue:
         case InheritorIDWatchpoint:
+        case Phantom:
             changed |= mergeDefaultFlags(node);
             break;
             
         // These gets ignored because it doesn't do anything.
-        case Phantom:
         case InlineStart:
         case Nop:
         case CountExecution:
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to