Title: [102302] trunk/Source/_javascript_Core
Revision
102302
Author
[email protected]
Date
2011-12-07 19:11:13 -0800 (Wed, 07 Dec 2011)

Log Message

DFG CSE should know that CheckFunction is pure
https://bugs.webkit.org/show_bug.cgi?id=74044

Reviewed by Oliver Hunt.
        
Possible slight win on V8, no regressions.

* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::checkFunctionElimination):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (102301 => 102302)


--- trunk/Source/_javascript_Core/ChangeLog	2011-12-08 03:03:47 UTC (rev 102301)
+++ trunk/Source/_javascript_Core/ChangeLog	2011-12-08 03:11:13 UTC (rev 102302)
@@ -1,3 +1,15 @@
+2011-12-07  Filip Pizlo  <[email protected]>
+
+        DFG CSE should know that CheckFunction is pure
+        https://bugs.webkit.org/show_bug.cgi?id=74044
+
+        Reviewed by Oliver Hunt.
+        
+        Possible slight win on V8, no regressions.
+
+        * dfg/DFGPropagator.cpp:
+        (JSC::DFG::Propagator::checkFunctionElimination):
+
 2011-12-07  Michael Saboff  <[email protected]>
 
         StringBuilderTest.Append and StringBuilderTest.ToStringPreserveCapacity are failing.

Modified: trunk/Source/_javascript_Core/dfg/DFGPropagator.cpp (102301 => 102302)


--- trunk/Source/_javascript_Core/dfg/DFGPropagator.cpp	2011-12-08 03:03:47 UTC (rev 102301)
+++ trunk/Source/_javascript_Core/dfg/DFGPropagator.cpp	2011-12-08 03:11:13 UTC (rev 102302)
@@ -1085,19 +1085,10 @@
     bool checkFunctionElimination(JSFunction* function, NodeIndex child1)
     {
         NodeIndex start = startIndexForChildren(child1);
-        for (NodeIndex index = m_compileIndex; index-- > start;) {
+        for (NodeIndex index = endIndexForPureCSE(); index-- > start;) {
             Node& node = m_graph[index];
-            switch (node.op) {
-            case CheckFunction:
-                if (node.child1() == child1 && node.function() == function)
-                    return true;
-                break;
-                
-            default:
-                if (clobbersWorld(index))
-                    return false;
-                break;
-            }
+            if (node.op == CheckFunction && node.child1() == child1 && node.function() == function)
+                return true;
         }
         return false;
     }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to