- 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"]