Title: [280004] trunk
Revision
280004
Author
commit-qu...@webkit.org
Date
2021-07-16 15:18:46 -0700 (Fri, 16 Jul 2021)

Log Message

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

Modified Paths

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
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to