Title: [278699] trunk
Revision
278699
Author
ysuz...@apple.com
Date
2021-06-10 04:34:04 -0700 (Thu, 10 Jun 2021)

Log Message

[JSC] Remove useDataICInOptimizingJIT option
https://bugs.webkit.org/show_bug.cgi?id=226862

Reviewed by Mark Lam.

Source/_javascript_Core:

Originally this option is added to fix performance problem when using DataIC in DFG / FTL.
But it turned out that that performance regression was caused due to disablement of InlineAccess when
using DataIC. With the configuration using DataIC and InlineAccess, we do not observe performance regression.
So, let's just drop this option.

* jit/JITCode.h:
(JSC::JITCode::useDataIC):
* runtime/Options.cpp:
(JSC::Options::recomputeDependentOptions):
* runtime/OptionsList.h:

Tools:

* Scripts/run-jsc-stress-tests:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (278698 => 278699)


--- trunk/Source/_javascript_Core/ChangeLog	2021-06-10 08:36:18 UTC (rev 278698)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-06-10 11:34:04 UTC (rev 278699)
@@ -1,3 +1,21 @@
+2021-06-10  Yusuke Suzuki  <ysuz...@apple.com>
+
+        [JSC] Remove useDataICInOptimizingJIT option
+        https://bugs.webkit.org/show_bug.cgi?id=226862
+
+        Reviewed by Mark Lam.
+
+        Originally this option is added to fix performance problem when using DataIC in DFG / FTL.
+        But it turned out that that performance regression was caused due to disablement of InlineAccess when
+        using DataIC. With the configuration using DataIC and InlineAccess, we do not observe performance regression.
+        So, let's just drop this option.
+
+        * jit/JITCode.h:
+        (JSC::JITCode::useDataIC):
+        * runtime/Options.cpp:
+        (JSC::Options::recomputeDependentOptions):
+        * runtime/OptionsList.h:
+
 2021-06-10  Adrian Perez de Castro  <ape...@igalia.com>
 
         Non-unified build fixes, early May 2021 edition

Modified: trunk/Source/_javascript_Core/jit/JITCode.h (278698 => 278699)


--- trunk/Source/_javascript_Core/jit/JITCode.h	2021-06-10 08:36:18 UTC (rev 278698)
+++ trunk/Source/_javascript_Core/jit/JITCode.h	2021-06-10 11:34:04 UTC (rev 278699)
@@ -157,13 +157,9 @@
         return jitType == JITType::InterpreterThunk || jitType == JITType::BaselineJIT;
     }
 
-    static bool useDataIC(JITType jitType)
+    static bool useDataIC(JITType)
     {
-        if (!Options::useDataIC())
-            return false;
-        if (JITCode::isBaselineCode(jitType))
-            return true;
-        return Options::useDataICInOptimizingJIT();
+        return Options::useDataIC();
     }
 
     virtual const DOMJIT::Signature* signature() const { return nullptr; }

Modified: trunk/Source/_javascript_Core/runtime/Options.cpp (278698 => 278699)


--- trunk/Source/_javascript_Core/runtime/Options.cpp	2021-06-10 08:36:18 UTC (rev 278698)
+++ trunk/Source/_javascript_Core/runtime/Options.cpp	2021-06-10 11:34:04 UTC (rev 278699)
@@ -435,8 +435,6 @@
 
     if (!isARM64())
         Options::useDataIC() = false;
-    if (!Options::useDataIC())
-        Options::useDataICInOptimizingJIT() = false;
 
     // At initialization time, we may decide that useJIT should be false for any
     // number of reasons (including failing to allocate JIT memory), and therefore,

Modified: trunk/Source/_javascript_Core/runtime/OptionsList.h (278698 => 278699)


--- trunk/Source/_javascript_Core/runtime/OptionsList.h	2021-06-10 08:36:18 UTC (rev 278698)
+++ trunk/Source/_javascript_Core/runtime/OptionsList.h	2021-06-10 11:34:04 UTC (rev 278699)
@@ -539,7 +539,6 @@
     v(Bool, useTopLevelAwait, true, Normal, "allow the await keyword at the top level of a module.") \
     v(Bool, verboseExecutablePoolAllocation, false, Normal, nullptr) \
     v(Bool, useDataIC, isARM64(), Normal, nullptr) \
-    v(Bool, useDataICInOptimizingJIT, false, Normal, nullptr) \
 
 
 enum OptionEquivalence {

Modified: trunk/Tools/ChangeLog (278698 => 278699)


--- trunk/Tools/ChangeLog	2021-06-10 08:36:18 UTC (rev 278698)
+++ trunk/Tools/ChangeLog	2021-06-10 11:34:04 UTC (rev 278699)
@@ -1,3 +1,12 @@
+2021-06-10  Yusuke Suzuki  <ysuz...@apple.com>
+
+        [JSC] Remove useDataICInOptimizingJIT option
+        https://bugs.webkit.org/show_bug.cgi?id=226862
+
+        Reviewed by Mark Lam.
+
+        * Scripts/run-jsc-stress-tests:
+
 2021-06-09  Sergio Villar Senin  <svil...@igalia.com>
 
         Add email address for Igalia's WebKit layout team to contributors.json

Modified: trunk/Tools/Scripts/run-jsc-stress-tests (278698 => 278699)


--- trunk/Tools/Scripts/run-jsc-stress-tests	2021-06-10 08:36:18 UTC (rev 278698)
+++ trunk/Tools/Scripts/run-jsc-stress-tests	2021-06-10 11:34:04 UTC (rev 278699)
@@ -552,7 +552,7 @@
 EAGER_OPTIONS = ["--thresholdForJITAfterWarmUp=10", "--thresholdForJITSoon=10", "--thresholdForOptimizeAfterWarmUp=20", "--thresholdForOptimizeAfterLongWarmUp=20", "--thresholdForOptimizeSoon=20", "--thresholdForFTLOptimizeAfterWarmUp=20", "--thresholdForFTLOptimizeSoon=20", "--thresholdForOMGOptimizeAfterWarmUp=20", "--thresholdForOMGOptimizeSoon=20", "--maximumEvalCacheableSourceLength=150000", "--useEagerCodeBlockJettisonTiming=true", "--repatchBufferingCountdown=0"]
 # NOTE: Tests rely on this using scribbleFreeCells.
 NO_CJIT_OPTIONS = ["--useConcurrentJIT=false", "--thresholdForJITAfterWarmUp=100", "--scribbleFreeCells=true"]
-B3O1_OPTIONS = ["--defaultB3OptLevel=1", "--useDataICInOptimizingJIT=1"]
+B3O1_OPTIONS = ["--defaultB3OptLevel=1"]
 B3O0_OPTIONS = ["--maxDFGNodesInBasicBlockForPreciseAnalysis=100", "--defaultB3OptLevel=0"]
 FTL_OPTIONS = ["--useFTLJIT=true"]
 FORCE_LLINT_EXIT_OPTIONS = ["--forceOSRExitToLLInt=true"]
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to