Title: [97940] trunk/Source/_javascript_Core
Revision
97940
Author
fpi...@apple.com
Date
2011-10-19 23:33:33 -0700 (Wed, 19 Oct 2011)

Log Message

Optimization triggers in the old JIT may sometimes fire repeatedly even
though there is no optimization to be done
https://bugs.webkit.org/show_bug.cgi?id=70467

Reviewed by Oliver Hunt.
        
If optimize_from_ret does nothing, it delays the next optimization trigger.
This is performance-neutral.

* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* runtime/Heuristics.cpp:
(JSC::Heuristics::initializeHeuristics):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (97939 => 97940)


--- trunk/Source/_javascript_Core/ChangeLog	2011-10-20 06:02:42 UTC (rev 97939)
+++ trunk/Source/_javascript_Core/ChangeLog	2011-10-20 06:33:33 UTC (rev 97940)
@@ -1,3 +1,19 @@
+2011-10-19  Filip Pizlo  <fpi...@apple.com>
+
+        Optimization triggers in the old JIT may sometimes fire repeatedly even
+        though there is no optimization to be done
+        https://bugs.webkit.org/show_bug.cgi?id=70467
+
+        Reviewed by Oliver Hunt.
+        
+        If optimize_from_ret does nothing, it delays the next optimization trigger.
+        This is performance-neutral.
+
+        * jit/JITStubs.cpp:
+        (JSC::DEFINE_STUB_FUNCTION):
+        * runtime/Heuristics.cpp:
+        (JSC::Heuristics::initializeHeuristics):
+
 2011-10-19  Yuqiang Xian  <yuqiang.x...@intel.com>
 
         DFG JIT 32_64 - remove unnecessary double unboxings in fillDouble/fillSpeculateDouble

Modified: trunk/Source/_javascript_Core/jit/JITStubs.cpp (97939 => 97940)


--- trunk/Source/_javascript_Core/jit/JITStubs.cpp	2011-10-20 06:02:42 UTC (rev 97939)
+++ trunk/Source/_javascript_Core/jit/JITStubs.cpp	2011-10-20 06:33:33 UTC (rev 97940)
@@ -2023,6 +2023,7 @@
             codeBlock->reoptimize(callFrame->globalData());
         }
 
+        codeBlock->optimizeSoon();
         return;
     }
     

Modified: trunk/Source/_javascript_Core/runtime/Heuristics.cpp (97939 => 97940)


--- trunk/Source/_javascript_Core/runtime/Heuristics.cpp	2011-10-20 06:02:42 UTC (rev 97939)
+++ trunk/Source/_javascript_Core/runtime/Heuristics.cpp	2011-10-20 06:33:33 UTC (rev 97940)
@@ -102,7 +102,7 @@
     SET(executionCounterValueForOptimizeAfterWarmUp,     -1000);
     SET(executionCounterValueForOptimizeAfterLongWarmUp, -5000);
     SET(executionCounterValueForDontOptimizeAnytimeSoon, std::numeric_limits<int32_t>::min());
-    SET(executionCounterValueForOptimizeSoon,            -100);
+    SET(executionCounterValueForOptimizeSoon,            -1000);
     SET(executionCounterValueForOptimizeNextInvocation,  0);
 
     SET(executionCounterIncrementForLoop,   1);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to