Title: [254517] trunk/Source/_javascript_Core
Revision
254517
Author
[email protected]
Date
2020-01-14 10:08:40 -0800 (Tue, 14 Jan 2020)

Log Message

Add an option that enables/disables throwing away baseline JIT code
https://bugs.webkit.org/show_bug.cgi?id=206244

Reviewed by Robin Morisset.

This option is now set to false as I investigate a perf regression with
the original patch.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finalizeUnconditionally):
* runtime/OptionsList.h:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (254516 => 254517)


--- trunk/Source/_javascript_Core/ChangeLog	2020-01-14 17:48:50 UTC (rev 254516)
+++ trunk/Source/_javascript_Core/ChangeLog	2020-01-14 18:08:40 UTC (rev 254517)
@@ -1,3 +1,17 @@
+2020-01-14  Saam Barati  <[email protected]>
+
+        Add an option that enables/disables throwing away baseline JIT code
+        https://bugs.webkit.org/show_bug.cgi?id=206244
+
+        Reviewed by Robin Morisset.
+
+        This option is now set to false as I investigate a perf regression with
+        the original patch.
+
+        * bytecode/CodeBlock.cpp:
+        (JSC::CodeBlock::finalizeUnconditionally):
+        * runtime/OptionsList.h:
+
 2020-01-13  Darin Adler  <[email protected]>
 
         Use even more "shortest form" formatting, and less "fixed precision" and "fixed width"

Modified: trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp (254516 => 254517)


--- trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp	2020-01-14 17:48:50 UTC (rev 254516)
+++ trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp	2020-01-14 18:08:40 UTC (rev 254517)
@@ -1386,7 +1386,7 @@
 #if ENABLE(JIT)
     // If BaselineJIT code is not executing, and an optimized replacement exists, we attempt
     // to discard baseline JIT code and reinstall LLInt code to save JIT memory.
-    if (!Options::forceBaseline() && jitType() == JITType::BaselineJIT && !m_vm->heap.codeBlockSet().isCurrentlyExecuting(this)) {
+    if (!Options::forceBaseline() && Options::enableThrowingAwayBaselineCode() && jitType() == JITType::BaselineJIT && !m_vm->heap.codeBlockSet().isCurrentlyExecuting(this)) {
         if (CodeBlock* optimizedCodeBlock = optimizedReplacement()) {
             if (!optimizedCodeBlock->m_osrExitCounter) {
                 m_jitCode = nullptr;

Modified: trunk/Source/_javascript_Core/runtime/OptionsList.h (254516 => 254517)


--- trunk/Source/_javascript_Core/runtime/OptionsList.h	2020-01-14 17:48:50 UTC (rev 254516)
+++ trunk/Source/_javascript_Core/runtime/OptionsList.h	2020-01-14 18:08:40 UTC (rev 254517)
@@ -495,6 +495,7 @@
     v(Double, dumpJITMemoryFlushInterval, 10, Restricted, "Maximum time in between flushes of the JIT memory dump in seconds.") \
     v(Bool, useUnlinkedCodeBlockJettisoning, false, Normal, "If true, UnlinkedCodeBlock can be jettisoned.") \
     v(Unsigned, getByValICMaxNumberOfIdentifiers, 4, Normal, "Number of identifiers we see in the LLInt that could cause us to bail on generating an IC for get_by_val.") \
+    v(Bool, enableThrowingAwayBaselineCode, false, Normal, nullptr) \
 
 enum OptionEquivalence {
     SameOption,
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to