Diff
Modified: branches/safari-612.1.22.0-branch/JSTests/ChangeLog (279604 => 279605)
--- branches/safari-612.1.22.0-branch/JSTests/ChangeLog 2021-07-06 19:25:04 UTC (rev 279604)
+++ branches/safari-612.1.22.0-branch/JSTests/ChangeLog 2021-07-06 19:30:34 UTC (rev 279605)
@@ -1,3 +1,53 @@
+2021-07-06 Ruben Turcios <rubent...@apple.com>
+
+ Cherry-pick r279449. rdar://problem/80212096
+
+ Turn off data ICs by default
+ https://bugs.webkit.org/show_bug.cgi?id=227334
+ <rdar://problem/79802812>
+
+ Reviewed by Yusuke Suzuki.
+
+ JSTests:
+
+ * microbenchmarks/deltablue-varargs.js:
+ * microbenchmarks/richards-try-catch.js:
+
+ Source/_javascript_Core:
+
+ There are GC crashes that are caused by access data IC sharing. This
+ patch is both turning off data IC sharing by default, and turning off data
+ ICs by default.
+
+ We should re-enable this once we figure out the issue:
+ https://bugs.webkit.org/show_bug.cgi?id=227551
+
+ Some of our testing modes are still running with data ICs on, so the code doesn't
+ bit rot. And a select few tests are running with data IC sharing on, for
+ similar reasons, even though we know it has issues. If those tests start
+ crashing, we'll just disable sharing completely until the issue is resolved.
+
+ * bytecode/PolymorphicAccess.cpp:
+ (JSC::PolymorphicAccess::regenerate):
+ * runtime/OptionsList.h:
+
+ Tools:
+
+ * Scripts/run-jsc-stress-tests:
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279449 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2021-06-30 Saam Barati <sbar...@apple.com>
+
+ Turn off data ICs by default
+ https://bugs.webkit.org/show_bug.cgi?id=227334
+ <rdar://problem/79802812>
+
+ Reviewed by Yusuke Suzuki.
+
+ * microbenchmarks/deltablue-varargs.js:
+ * microbenchmarks/richards-try-catch.js:
+
2021-06-25 Guillaume Emont <guijem...@igalia.com>
Unskip stress/call-apply-exponential-bytecode-size.js on most platforms
Modified: branches/safari-612.1.22.0-branch/JSTests/microbenchmarks/deltablue-varargs.js (279604 => 279605)
--- branches/safari-612.1.22.0-branch/JSTests/microbenchmarks/deltablue-varargs.js 2021-07-06 19:25:04 UTC (rev 279604)
+++ branches/safari-612.1.22.0-branch/JSTests/microbenchmarks/deltablue-varargs.js 2021-07-06 19:30:34 UTC (rev 279605)
@@ -1,4 +1,6 @@
//@ skip if $model == "Apple Watch Series 3" # added by mark-jsc-stress-test.py
+//@ requireOptions("--useDataIC=true", "--useDataICSharing=true")
+
// Copyright 2008 the V8 project authors. All rights reserved.
// Copyright 1996 John Maloney and Mario Wolczko.
Modified: branches/safari-612.1.22.0-branch/JSTests/microbenchmarks/richards-try-catch.js (279604 => 279605)
--- branches/safari-612.1.22.0-branch/JSTests/microbenchmarks/richards-try-catch.js 2021-07-06 19:25:04 UTC (rev 279604)
+++ branches/safari-612.1.22.0-branch/JSTests/microbenchmarks/richards-try-catch.js 2021-07-06 19:30:34 UTC (rev 279605)
@@ -1,4 +1,6 @@
//@ skip if $model == "Apple Watch Series 3" # added by mark-jsc-stress-test.py
+//@ requireOptions("--useDataIC=true", "--useDataICSharing=true")
+
// Copyright 2006-2008 the V8 project authors. All rights reserved.
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
Modified: branches/safari-612.1.22.0-branch/Source/_javascript_Core/ChangeLog (279604 => 279605)
--- branches/safari-612.1.22.0-branch/Source/_javascript_Core/ChangeLog 2021-07-06 19:25:04 UTC (rev 279604)
+++ branches/safari-612.1.22.0-branch/Source/_javascript_Core/ChangeLog 2021-07-06 19:30:34 UTC (rev 279605)
@@ -1,5 +1,68 @@
2021-07-06 Ruben Turcios <rubent...@apple.com>
+ Cherry-pick r279449. rdar://problem/80212096
+
+ Turn off data ICs by default
+ https://bugs.webkit.org/show_bug.cgi?id=227334
+ <rdar://problem/79802812>
+
+ Reviewed by Yusuke Suzuki.
+
+ JSTests:
+
+ * microbenchmarks/deltablue-varargs.js:
+ * microbenchmarks/richards-try-catch.js:
+
+ Source/_javascript_Core:
+
+ There are GC crashes that are caused by access data IC sharing. This
+ patch is both turning off data IC sharing by default, and turning off data
+ ICs by default.
+
+ We should re-enable this once we figure out the issue:
+ https://bugs.webkit.org/show_bug.cgi?id=227551
+
+ Some of our testing modes are still running with data ICs on, so the code doesn't
+ bit rot. And a select few tests are running with data IC sharing on, for
+ similar reasons, even though we know it has issues. If those tests start
+ crashing, we'll just disable sharing completely until the issue is resolved.
+
+ * bytecode/PolymorphicAccess.cpp:
+ (JSC::PolymorphicAccess::regenerate):
+ * runtime/OptionsList.h:
+
+ Tools:
+
+ * Scripts/run-jsc-stress-tests:
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279449 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2021-06-30 Saam Barati <sbar...@apple.com>
+
+ Turn off data ICs by default
+ https://bugs.webkit.org/show_bug.cgi?id=227334
+ <rdar://problem/79802812>
+
+ Reviewed by Yusuke Suzuki.
+
+ There are GC crashes that are caused by access data IC sharing. This
+ patch is both turning off data IC sharing by default, and turning off data
+ ICs by default.
+
+ We should re-enable this once we figure out the issue:
+ https://bugs.webkit.org/show_bug.cgi?id=227551
+
+ Some of our testing modes are still running with data ICs on, so the code doesn't
+ bit rot. And a select few tests are running with data IC sharing on, for
+ similar reasons, even though we know it has issues. If those tests start
+ crashing, we'll just disable sharing completely until the issue is resolved.
+
+ * bytecode/PolymorphicAccess.cpp:
+ (JSC::PolymorphicAccess::regenerate):
+ * runtime/OptionsList.h:
+
+2021-07-06 Ruben Turcios <rubent...@apple.com>
+
Cherry-pick r279560. rdar://problem/80212171
ActiveScratchBufferScope should take the buffer as argument
Modified: branches/safari-612.1.22.0-branch/Source/_javascript_Core/bytecode/PolymorphicAccess.cpp (279604 => 279605)
--- branches/safari-612.1.22.0-branch/Source/_javascript_Core/bytecode/PolymorphicAccess.cpp 2021-07-06 19:25:04 UTC (rev 279604)
+++ branches/safari-612.1.22.0-branch/Source/_javascript_Core/bytecode/PolymorphicAccess.cpp 2021-07-06 19:30:34 UTC (rev 279605)
@@ -522,7 +522,7 @@
bool doesCalls = false;
bool doesJSGetterSetterCalls = false;
- bool canBeShared = true;
+ bool canBeShared = Options::useDataICSharing();
Vector<JSCell*> cellsToMark;
FixedVector<RefPtr<AccessCase>> keys(cases.size());
unsigned index = 0;
Modified: branches/safari-612.1.22.0-branch/Source/_javascript_Core/runtime/OptionsList.h (279604 => 279605)
--- branches/safari-612.1.22.0-branch/Source/_javascript_Core/runtime/OptionsList.h 2021-07-06 19:25:04 UTC (rev 279604)
+++ branches/safari-612.1.22.0-branch/Source/_javascript_Core/runtime/OptionsList.h 2021-07-06 19:30:34 UTC (rev 279605)
@@ -546,8 +546,9 @@
v(Bool, useSharedArrayBuffer, false, Normal, nullptr) \
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, useDataIC, false, Normal, nullptr) \
v(Bool, useDataICInOptimizingJIT, false, Normal, nullptr) \
+ v(Bool, useDataICSharing, false, Normal, nullptr) \
enum OptionEquivalence {
Modified: branches/safari-612.1.22.0-branch/Tools/ChangeLog (279604 => 279605)
--- branches/safari-612.1.22.0-branch/Tools/ChangeLog 2021-07-06 19:25:04 UTC (rev 279604)
+++ branches/safari-612.1.22.0-branch/Tools/ChangeLog 2021-07-06 19:30:34 UTC (rev 279605)
@@ -1,3 +1,52 @@
+2021-07-06 Ruben Turcios <rubent...@apple.com>
+
+ Cherry-pick r279449. rdar://problem/80212096
+
+ Turn off data ICs by default
+ https://bugs.webkit.org/show_bug.cgi?id=227334
+ <rdar://problem/79802812>
+
+ Reviewed by Yusuke Suzuki.
+
+ JSTests:
+
+ * microbenchmarks/deltablue-varargs.js:
+ * microbenchmarks/richards-try-catch.js:
+
+ Source/_javascript_Core:
+
+ There are GC crashes that are caused by access data IC sharing. This
+ patch is both turning off data IC sharing by default, and turning off data
+ ICs by default.
+
+ We should re-enable this once we figure out the issue:
+ https://bugs.webkit.org/show_bug.cgi?id=227551
+
+ Some of our testing modes are still running with data ICs on, so the code doesn't
+ bit rot. And a select few tests are running with data IC sharing on, for
+ similar reasons, even though we know it has issues. If those tests start
+ crashing, we'll just disable sharing completely until the issue is resolved.
+
+ * bytecode/PolymorphicAccess.cpp:
+ (JSC::PolymorphicAccess::regenerate):
+ * runtime/OptionsList.h:
+
+ Tools:
+
+ * Scripts/run-jsc-stress-tests:
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279449 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2021-06-30 Saam Barati <sbar...@apple.com>
+
+ Turn off data ICs by default
+ https://bugs.webkit.org/show_bug.cgi?id=227334
+ <rdar://problem/79802812>
+
+ Reviewed by Yusuke Suzuki.
+
+ * Scripts/run-jsc-stress-tests:
+
2021-06-29 Alan Coon <alanc...@apple.com>
Cherry-pick r279361. rdar://problem/79923766
Modified: branches/safari-612.1.22.0-branch/Tools/Scripts/run-jsc-stress-tests (279604 => 279605)
--- branches/safari-612.1.22.0-branch/Tools/Scripts/run-jsc-stress-tests 2021-07-06 19:25:04 UTC (rev 279604)
+++ branches/safari-612.1.22.0-branch/Tools/Scripts/run-jsc-stress-tests 2021-07-06 19:30:34 UTC (rev 279605)
@@ -788,7 +788,7 @@
end
def runFTLNoCJIT(*optionalTestSpecificOptions)
- run("misc-ftl-no-cjit", *(FTL_OPTIONS + NO_CJIT_OPTIONS + optionalTestSpecificOptions))
+ run("misc-ftl-no-cjit", "--useDataIC=true", *(FTL_OPTIONS + NO_CJIT_OPTIONS + optionalTestSpecificOptions))
end
def runFTLNoCJITB3O0(*optionalTestSpecificOptions)
@@ -796,7 +796,7 @@
end
def runFTLNoCJITValidate(*optionalTestSpecificOptions)
- run("ftl-no-cjit-validate-sampling-profiler", "--validateGraph=true", "--validateBCE=true", "--useSamplingProfiler=true", "--airForceIRCAllocator=true", *(FTL_OPTIONS + NO_CJIT_OPTIONS + optionalTestSpecificOptions))
+ run("ftl-no-cjit-validate-sampling-profiler", "--validateGraph=true", "--validateBCE=true", "--useSamplingProfiler=true", "--airForceIRCAllocator=true", "--useDataIC=true", *(FTL_OPTIONS + NO_CJIT_OPTIONS + optionalTestSpecificOptions))
end
def runFTLNoCJITNoPutStackValidate(*optionalTestSpecificOptions)
@@ -820,7 +820,7 @@
end
def runFTLEager(*optionalTestSpecificOptions)
- run("ftl-eager", "--airForceBriggsAllocator=true", "--useRandomizingExecutableIslandAllocation=true", "--forcePolyProto=true", *(FTL_OPTIONS + EAGER_OPTIONS + COLLECT_CONTINUOUSLY_OPTIONS + optionalTestSpecificOptions))
+ run("ftl-eager", "--airForceBriggsAllocator=true", "--useRandomizingExecutableIslandAllocation=true", "--forcePolyProto=true", "--useDataIC=true", *(FTL_OPTIONS + EAGER_OPTIONS + COLLECT_CONTINUOUSLY_OPTIONS + optionalTestSpecificOptions))
end
def runFTLEagerWatchdog(*optionalTestSpecificOptions)