Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (280003 => 280004)
--- trunk/Source/_javascript_Core/ChangeLog 2021-07-16 22:07:20 UTC (rev 280003)
+++ trunk/Source/_javascript_Core/ChangeLog 2021-07-16 22:18:46 UTC (rev 280004)
@@ -1,3 +1,16 @@
+2021-07-16 Commit Queue <commit-qu...@webkit.org>
+
+ Unreviewed, reverting r279916.
+ https://bugs.webkit.org/show_bug.cgi?id=228037
+
+ some of tests are timing out
+
+ Reverted changeset:
+
+ "Convert small JIT pool tests into executable fuzzing"
+ https://bugs.webkit.org/show_bug.cgi?id=226279
+ https://commits.webkit.org/r279916
+
2021-07-16 Yusuke Suzuki <ysuz...@apple.com>
[JSC] RegExp::dumpToStream must not ref Strings since it is called concurrently
Modified: trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp (280003 => 280004)
--- trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp 2021-07-16 22:07:20 UTC (rev 280003)
+++ trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp 2021-07-16 22:18:46 UTC (rev 280004)
@@ -2481,10 +2481,6 @@
unsigned CodeBlock::numberOfDFGCompiles()
{
ASSERT(JITCode::isBaselineCode(jitType()));
-
- // FIXME: We don't really do a good job tracking when a compilation failed because of executable allocation fuzzing. https://bugs.webkit.org/show_bug.cgi?id=226276
- if (Options::useExecutableAllocationFuzz())
- return 1000000;
if (Options::testTheFTL()) {
if (m_didFailFTLCompilation)
return 1000000;
Modified: trunk/Source/_javascript_Core/jit/ExecutableAllocationFuzz.cpp (280003 => 280004)
--- trunk/Source/_javascript_Core/jit/ExecutableAllocationFuzz.cpp 2021-07-16 22:07:20 UTC (rev 280003)
+++ trunk/Source/_javascript_Core/jit/ExecutableAllocationFuzz.cpp 2021-07-16 22:18:46 UTC (rev 280004)
@@ -41,8 +41,6 @@
ExecutableAllocationFuzzResult doExecutableAllocationFuzzing()
{
- static WeakRandom random(Options::seedOfVMRandomForFuzzer() ? Options::seedOfVMRandomForFuzzer() : cryptographicallyRandomNumber());
-
ASSERT(Options::useExecutableAllocationFuzz());
if (Options::fireExecutableAllocationFuzzRandomly()) {
@@ -61,9 +59,14 @@
return AllowNormalExecutableAllocation;
}
- unsigned numChecks = s_numberOfExecutableAllocationFuzzChecks.value++;
-
- if (numChecks == Options::fireExecutableAllocationFuzzAt()) {
+ unsigned oldValue;
+ unsigned newValue;
+ do {
+ oldValue = s_numberOfExecutableAllocationFuzzChecks.load();
+ newValue = oldValue + 1;
+ } while (!s_numberOfExecutableAllocationFuzzChecks.compareExchangeWeak(oldValue, newValue));
+
+ if (newValue == Options::fireExecutableAllocationFuzzAt()) {
if (Options::verboseExecutableAllocationFuzz()) {
dataLog("Will pretend to fail executable allocation.\n");
WTFReportBacktrace();
@@ -70,16 +73,15 @@
}
return PretendToFailExecutableAllocation;
}
-
+
if (Options::fireExecutableAllocationFuzzAtOrAfter()
- && numChecks >= Options::fireExecutableAllocationFuzzAtOrAfter()) {
+ && newValue >= Options::fireExecutableAllocationFuzzAtOrAfter()) {
if (Options::verboseExecutableAllocationFuzz()) {
dataLog("Will pretend to fail executable allocation.\n");
WTFReportBacktrace();
}
return PretendToFailExecutableAllocation;
- } else if (!Options::fireExecutableAllocationFuzzAt() && random.getUint32() < UINT_MAX * Options::randomIntegrityAuditRate())
- return PretendToFailExecutableAllocation;
+ }
return AllowNormalExecutableAllocation;
}
Modified: trunk/Tools/ChangeLog (280003 => 280004)
--- trunk/Tools/ChangeLog 2021-07-16 22:07:20 UTC (rev 280003)
+++ trunk/Tools/ChangeLog 2021-07-16 22:18:46 UTC (rev 280004)
@@ -1,3 +1,16 @@
+2021-07-16 Commit Queue <commit-qu...@webkit.org>
+
+ Unreviewed, reverting r279916.
+ https://bugs.webkit.org/show_bug.cgi?id=228037
+
+ some of tests are timing out
+
+ Reverted changeset:
+
+ "Convert small JIT pool tests into executable fuzzing"
+ https://bugs.webkit.org/show_bug.cgi?id=226279
+ https://commits.webkit.org/r279916
+
2021-07-16 Jonathan Bedard <jbed...@apple.com>
[webkitscmpy] Provide API to access SVN cache
Modified: trunk/Tools/Scripts/jsc-stress-test-helpers/js-executable-allocation-fuzz (280003 => 280004)
--- trunk/Tools/Scripts/jsc-stress-test-helpers/js-executable-allocation-fuzz 2021-07-16 22:07:20 UTC (rev 280003)
+++ trunk/Tools/Scripts/jsc-stress-test-helpers/js-executable-allocation-fuzz 2021-07-16 22:18:46 UTC (rev 280004)
@@ -69,7 +69,7 @@
die "Ignoring garbage arguments; only the first non-option argument is used as the command string.";
}
-open (my $testInput, "$commandString --useExecutableAllocationFuzz=true --verboseExecutableAllocationFuzz=true |") or fail("Cannot execute initial command when getting check count");
+open (my $testInput, "$commandString --useExecutableAllocationFuzz=true |") or fail("Cannot execute initial command when getting check count");
while (my $inputLine = <$testInput>) {
chomp($inputLine);
my $handled = 0;
Modified: trunk/Tools/Scripts/run-jsc-stress-tests (280003 => 280004)
--- trunk/Tools/Scripts/run-jsc-stress-tests 2021-07-16 22:07:20 UTC (rev 280003)
+++ trunk/Tools/Scripts/run-jsc-stress-tests 2021-07-16 22:18:46 UTC (rev 280004)
@@ -189,7 +189,7 @@
puts "--basic Run with default and these additional modes: no-llint,"
puts " no-cjit-validate-phases, no-cjit-collect-continuously, dfg-eager"
puts " and for FTL platforms: no-ftl, ftl-eager-no-cjit and"
- puts " ftl-no-cjit-fuzz."
+ puts " ftl-no-cjit-small-pool."
exit 1
end
@@ -852,8 +852,8 @@
run("ftl-no-cjit-no-access-inlining", "--useAccessInlining=false", *(FTL_OPTIONS + NO_CJIT_OPTIONS + optionalTestSpecificOptions))
end
-def runFTLNoCJITFuzz(*optionalTestSpecificOptions)
- run("ftl-no-cjit-fuzz", "--useExecutableAllocationFuzz=true", *(FTL_OPTIONS + NO_CJIT_OPTIONS + optionalTestSpecificOptions))
+def runFTLNoCJITSmallPool(*optionalTestSpecificOptions)
+ run("ftl-no-cjit-small-pool", "--jitMemoryReservationSize=102400", *(FTL_OPTIONS + NO_CJIT_OPTIONS + optionalTestSpecificOptions))
end
def runNoCJIT(*optionalTestSpecificOptions)
@@ -898,7 +898,7 @@
runNoFTL
runFTLEager
runFTLEagerNoCJITValidate
- runFTLNoCJITFuzz
+ runFTLNoCJITSmallPool
return if $mode == "basic"
@@ -929,7 +929,7 @@
runNoFTL
runFTLNoCJITValidate
- runFTLNoCJITFuzz
+ runFTLNoCJITSmallPool
return if $mode == "basic"
@@ -1009,7 +1009,7 @@
runFTLNoCJITNoInlineValidate
runFTLEager
runFTLEagerNoCJITValidate
- runFTLNoCJITFuzz
+ runFTLNoCJITSmallPool
end
end
@@ -1161,7 +1161,7 @@
run("ftl-no-cjit-no-inline-validate-modules", "-m", "--validateGraph=true", "--maximumInliningDepth=1", *(FTL_OPTIONS + NO_CJIT_OPTIONS))
run("ftl-eager-modules", "-m", *(FTL_OPTIONS + EAGER_OPTIONS))
run("ftl-eager-no-cjit-modules", "-m", "--validateGraph=true", *(FTL_OPTIONS + NO_CJIT_OPTIONS + EAGER_OPTIONS))
- run("ftl-no-cjit-fuzz-modules", "-m", "--useExecutableAllocationFuzz=true", *(FTL_OPTIONS + NO_CJIT_OPTIONS))
+ run("ftl-no-cjit-small-pool-modules", "-m", "--jitMemoryReservationSize=102400", *(FTL_OPTIONS + NO_CJIT_OPTIONS))
end
def noNoLLIntRunModules