Log Message
Enhance run-jsc-stress-test script to allow optional test specific options to be added for all test run configurations. https://bugs.webkit.org/show_bug.cgi?id=164695
Reviewed by Keith Miller. JSTests: Replace use of runMisc* test run configurations with equivalents. * stress/licm-no-pre-header-nested.js: * stress/licm-no-pre-header.js: * stress/licm-pre-header-cannot-exit-nested.js: * stress/licm-pre-header-cannot-exit.js: * stress/make-dictionary-repatch.js: * stress/retry-cache-later.js: * stress/shadow-chicken-reading-from-scope-after-ftl-osr-exit-bytecode-liveness.js: * stress/slow-path-generator-updating-current-node-dfg.js: * stress/unshift-array-storage.js: Tools: This gives us more flexibility when specific tests needs to enable special JSC options in order to exercise specific code paths to be tested. It also saves us from having to create duplicate test run configurations e.g. runMiscFTLNoCJITTest. We can now just use runFTLNoCJIT in its place. Also replaced the ifJSCArgIsntProvidedAreWeReleaseBuild variable with $buildType so that we have the ability to skip certain tests for release or debug builds. This will be needed in the upcoming patch for https://webkit.org/b/155145. * Scripts/run-jsc-stress-tests:
Modified Paths
- trunk/JSTests/ChangeLog
- trunk/JSTests/stress/licm-no-pre-header-nested.js
- trunk/JSTests/stress/licm-no-pre-header.js
- trunk/JSTests/stress/licm-pre-header-cannot-exit-nested.js
- trunk/JSTests/stress/licm-pre-header-cannot-exit.js
- trunk/JSTests/stress/make-dictionary-repatch.js
- trunk/JSTests/stress/retry-cache-later.js
- trunk/JSTests/stress/shadow-chicken-reading-from-scope-after-ftl-osr-exit-bytecode-liveness.js
- trunk/JSTests/stress/slow-path-generator-updating-current-node-dfg.js
- trunk/JSTests/stress/unshift-array-storage.js
- trunk/Tools/ChangeLog
- trunk/Tools/Scripts/run-jsc-stress-tests
Diff
Modified: trunk/JSTests/ChangeLog (208691 => 208692)
--- trunk/JSTests/ChangeLog 2016-11-14 18:20:35 UTC (rev 208691)
+++ trunk/JSTests/ChangeLog 2016-11-14 18:27:41 UTC (rev 208692)
@@ -1,3 +1,22 @@
+2016-11-14 Mark Lam <[email protected]>
+
+ Enhance run-jsc-stress-test script to allow optional test specific options to be added for all test run configurations.
+ https://bugs.webkit.org/show_bug.cgi?id=164695
+
+ Reviewed by Keith Miller.
+
+ Replace use of runMisc* test run configurations with equivalents.
+
+ * stress/licm-no-pre-header-nested.js:
+ * stress/licm-no-pre-header.js:
+ * stress/licm-pre-header-cannot-exit-nested.js:
+ * stress/licm-pre-header-cannot-exit.js:
+ * stress/make-dictionary-repatch.js:
+ * stress/retry-cache-later.js:
+ * stress/shadow-chicken-reading-from-scope-after-ftl-osr-exit-bytecode-liveness.js:
+ * stress/slow-path-generator-updating-current-node-dfg.js:
+ * stress/unshift-array-storage.js:
+
2016-11-11 Joseph Pecoraro <[email protected]>
test262: DataView with explicit undefined byteLength should be the same as it not being present
Modified: trunk/JSTests/stress/licm-no-pre-header-nested.js (208691 => 208692)
--- trunk/JSTests/stress/licm-no-pre-header-nested.js 2016-11-14 18:20:35 UTC (rev 208691)
+++ trunk/JSTests/stress/licm-no-pre-header-nested.js 2016-11-14 18:27:41 UTC (rev 208692)
@@ -1,4 +1,4 @@
-//@ runMiscFTLNoCJITTest("--createPreHeaders=false")
+//@ runFTLNoCJIT("--createPreHeaders=false")
function foo(array, y) {
var x = 0;
Modified: trunk/JSTests/stress/licm-no-pre-header.js (208691 => 208692)
--- trunk/JSTests/stress/licm-no-pre-header.js 2016-11-14 18:20:35 UTC (rev 208691)
+++ trunk/JSTests/stress/licm-no-pre-header.js 2016-11-14 18:27:41 UTC (rev 208692)
@@ -1,4 +1,4 @@
-//@ runMiscFTLNoCJITTest("--createPreHeaders=false")
+//@ runFTLNoCJIT("--createPreHeaders=false")
function foo(array) {
var result = 0;
Modified: trunk/JSTests/stress/licm-pre-header-cannot-exit-nested.js (208691 => 208692)
--- trunk/JSTests/stress/licm-pre-header-cannot-exit-nested.js 2016-11-14 18:20:35 UTC (rev 208691)
+++ trunk/JSTests/stress/licm-pre-header-cannot-exit-nested.js 2016-11-14 18:27:41 UTC (rev 208692)
@@ -1,4 +1,4 @@
-//@ runMiscFTLNoCJITTest("--createPreHeaders=false")
+//@ runFTLNoCJIT("--createPreHeaders=false")
function foo(object, predicate) {
for (var j = 0; j < 10; ++j) {
Modified: trunk/JSTests/stress/licm-pre-header-cannot-exit.js (208691 => 208692)
--- trunk/JSTests/stress/licm-pre-header-cannot-exit.js 2016-11-14 18:20:35 UTC (rev 208691)
+++ trunk/JSTests/stress/licm-pre-header-cannot-exit.js 2016-11-14 18:27:41 UTC (rev 208692)
@@ -1,4 +1,4 @@
-//@ runMiscFTLNoCJITTest("--createPreHeaders=false")
+//@ runFTLNoCJIT("--createPreHeaders=false")
function foo(object, predicate) {
var result = 0;
Modified: trunk/JSTests/stress/make-dictionary-repatch.js (208691 => 208692)
--- trunk/JSTests/stress/make-dictionary-repatch.js 2016-11-14 18:20:35 UTC (rev 208691)
+++ trunk/JSTests/stress/make-dictionary-repatch.js 2016-11-14 18:27:41 UTC (rev 208692)
@@ -1,4 +1,4 @@
-//@ if $jitTests then runMiscNoCJITTest("--useDFGJIT=false", "--useLLInt=false") else skip end
+//@ if $jitTests then runNoCJIT("--useDFGJIT=false", "--useLLInt=false") else skip end
function foo(o) {
return o.f;
Modified: trunk/JSTests/stress/retry-cache-later.js (208691 => 208692)
--- trunk/JSTests/stress/retry-cache-later.js 2016-11-14 18:20:35 UTC (rev 208691)
+++ trunk/JSTests/stress/retry-cache-later.js 2016-11-14 18:27:41 UTC (rev 208692)
@@ -1,4 +1,4 @@
-//@ runMiscNoCJITTest("--useLLInt=false", "--useDFGJIT=false")
+//@ runNoCJIT("--useLLInt=false", "--useDFGJIT=false")
function foo(o) {
return o.i7;
Modified: trunk/JSTests/stress/shadow-chicken-reading-from-scope-after-ftl-osr-exit-bytecode-liveness.js (208691 => 208692)
--- trunk/JSTests/stress/shadow-chicken-reading-from-scope-after-ftl-osr-exit-bytecode-liveness.js 2016-11-14 18:20:35 UTC (rev 208691)
+++ trunk/JSTests/stress/shadow-chicken-reading-from-scope-after-ftl-osr-exit-bytecode-liveness.js 2016-11-14 18:27:41 UTC (rev 208692)
@@ -1,4 +1,4 @@
-//@ runMiscNoCJITTest("--forceDebuggerBytecodeGeneration=true", "--alwaysUseShadowChicken=true")
+//@ runNoCJIT("--forceDebuggerBytecodeGeneration=true", "--alwaysUseShadowChicken=true")
"use strict";
Modified: trunk/JSTests/stress/slow-path-generator-updating-current-node-dfg.js (208691 => 208692)
--- trunk/JSTests/stress/slow-path-generator-updating-current-node-dfg.js 2016-11-14 18:20:35 UTC (rev 208691)
+++ trunk/JSTests/stress/slow-path-generator-updating-current-node-dfg.js 2016-11-14 18:27:41 UTC (rev 208692)
@@ -1,4 +1,4 @@
-//@ runMiscFTLNoCJITTest("--deferGCShouldCollectWithProbability=true", "--deferGCProbability=1.0")
+//@ runFTLNoCJIT("--deferGCShouldCollectWithProbability=true", "--deferGCProbability=1.0")
function foo(a) {
return a.push(25);
Modified: trunk/JSTests/stress/unshift-array-storage.js (208691 => 208692)
--- trunk/JSTests/stress/unshift-array-storage.js 2016-11-14 18:20:35 UTC (rev 208691)
+++ trunk/JSTests/stress/unshift-array-storage.js 2016-11-14 18:27:41 UTC (rev 208692)
@@ -1,4 +1,4 @@
-//@ runMiscFTLNoCJITTest("--scribbleFreeCells=true", "--deferGCShouldCollectWithProbability=true", "--deferGCProbability=1")
+//@ runFTLNoCJIT("--scribbleFreeCells=true", "--deferGCShouldCollectWithProbability=true", "--deferGCProbability=1")
// Create some array storage.
var array = [];
Modified: trunk/Tools/ChangeLog (208691 => 208692)
--- trunk/Tools/ChangeLog 2016-11-14 18:20:35 UTC (rev 208691)
+++ trunk/Tools/ChangeLog 2016-11-14 18:27:41 UTC (rev 208692)
@@ -1,3 +1,21 @@
+2016-11-14 Mark Lam <[email protected]>
+
+ Enhance run-jsc-stress-test script to allow optional test specific options to be added for all test run configurations.
+ https://bugs.webkit.org/show_bug.cgi?id=164695
+
+ Reviewed by Keith Miller.
+
+ This gives us more flexibility when specific tests needs to enable special JSC
+ options in order to exercise specific code paths to be tested. It also saves us
+ from having to create duplicate test run configurations e.g. runMiscFTLNoCJITTest.
+ We can now just use runFTLNoCJIT in its place.
+
+ Also replaced the ifJSCArgIsntProvidedAreWeReleaseBuild variable with $buildType
+ so that we have the ability to skip certain tests for release or debug builds.
+ This will be needed in the upcoming patch for https://webkit.org/b/155145.
+
+ * Scripts/run-jsc-stress-tests:
+
2016-11-14 Joanmarie Diggs <[email protected]>
AX: [ATK] Expose STATE_SINGLE_LINE and STATE_MULTI_LINE for ARIA searchbox role
Modified: trunk/Tools/Scripts/run-jsc-stress-tests (208691 => 208692)
--- trunk/Tools/Scripts/run-jsc-stress-tests 2016-11-14 18:20:35 UTC (rev 208691)
+++ trunk/Tools/Scripts/run-jsc-stress-tests 2016-11-14 18:27:41 UTC (rev 208692)
@@ -117,6 +117,7 @@
$filter = nil
$envVars = []
$quickMode = false
+$buildType = "release"
def usage
@@ -153,7 +154,6 @@
end
jscArg = nil
-ifJSCArgIsntProvidedAreWeReleaseBuild = true
GetoptLong.new(['--help', '-h', GetoptLong::NO_ARGUMENT],
['--jsc', '-j', GetoptLong::REQUIRED_ARGUMENT],
@@ -226,9 +226,9 @@
when '--quick'
$quickMode = true
when '--debug'
- ifJSCArgIsntProvidedAreWeReleaseBuild = false
+ $buildType = "debug"
when '--release'
- ifJSCArgIsntProvidedAreWeReleaseBuild = true
+ $buildType = "release"
end
}
@@ -252,7 +252,7 @@
unless jscArg
# If we're not provided a JSC path, try to come up with a sensible JSC path automagically.
command = SCRIPTS_PATH.join("webkit-build-directory").to_s
- command += ifJSCArgIsntProvidedAreWeReleaseBuild ? " --release" : " --debug"
+ command += ($buildType == "release") ? " --release" : " --debug"
command += " --executablePath"
output = `#{command}`.split("\n")
@@ -791,117 +791,113 @@
addRunCommand(kind, [pathToVM.to_s] + BASE_OPTIONS + options + [$benchmark.to_s], silentOutputHandler, simpleErrorHandler)
end
-def runNoFTL
- run("no-ftl")
+def runNoFTL(*optionalTestSpecificOptions)
+ run("no-ftl", *optionalTestSpecificOptions)
end
-def runWithRAMSize(size)
- run("ram-size-#{size}", "--forceRAMSize=#{size}")
+def runWithRAMSize(size, *optionalTestSpecificOptions)
+ run("ram-size-#{size}", "--forceRAMSize=#{size}", *optionalTestSpecificOptions)
end
-def runOneLargeHeap
+def runOneLargeHeap(*optionalTestSpecificOptions)
if $memoryLimited
$didAddRunCommand = true
puts "Skipping #{$collectionName}/#{$benchmark}"
else
- run("default")
+ run("default", *optionalTestSpecificOptions)
end
end
-def runNoJIT
- run("no-jit", "--useJIT=false")
+def runNoJIT(*optionalTestSpecificOptions)
+ run("no-jit", "--useJIT=false", *optionalTestSpecificOptions)
end
-def runNoLLInt
+def runNoLLInt(*optionalTestSpecificOptions)
if $jitTests
- run("no-llint", "--useLLInt=false")
+ run("no-llint", "--useLLInt=false", *optionalTestSpecificOptions)
end
end
-def runNoCJITValidate
- run("no-cjit", "--validateBytecode=true", "--validateGraph=true", *NO_CJIT_OPTIONS)
+def runNoCJITValidate(*optionalTestSpecificOptions)
+ run("no-cjit", "--validateBytecode=true", "--validateGraph=true", *(NO_CJIT_OPTIONS + optionalTestSpecificOptions))
end
-def runNoCJITValidatePhases
- run("no-cjit-validate-phases", "--validateBytecode=true", "--validateGraphAtEachPhase=true", "--useSourceProviderCache=false", *NO_CJIT_OPTIONS)
+def runNoCJITValidatePhases(*optionalTestSpecificOptions)
+ run("no-cjit-validate-phases", "--validateBytecode=true", "--validateGraphAtEachPhase=true", "--useSourceProviderCache=false", *(NO_CJIT_OPTIONS + optionalTestSpecificOptions))
end
-def runDefault
- run("default", *FTL_OPTIONS)
+def runDefault(*optionalTestSpecificOptions)
+ run("default", *(FTL_OPTIONS + optionalTestSpecificOptions))
end
-def runFTLNoCJIT
- run("ftl-no-cjit", *(FTL_OPTIONS + NO_CJIT_OPTIONS))
+def runFTLNoCJIT(*optionalTestSpecificOptions)
+ run("misc-ftl-no-cjit", *(FTL_OPTIONS + NO_CJIT_OPTIONS + optionalTestSpecificOptions))
end
-def runFTLNoCJITValidate
- run("ftl-no-cjit-validate-sampling-profiler", "--validateGraph=true", "--useSamplingProfiler=true", *(FTL_OPTIONS + NO_CJIT_OPTIONS))
+def runFTLNoCJITValidate(*optionalTestSpecificOptions)
+ run("ftl-no-cjit-validate-sampling-profiler", "--validateGraph=true", "--useSamplingProfiler=true", *(FTL_OPTIONS + NO_CJIT_OPTIONS + optionalTestSpecificOptions))
end
-def runFTLNoCJITNoPutStackValidate
- run("ftl-no-cjit-no-put-stack-validate", "--validateGraph=true", "--usePutStackSinking=false", *(FTL_OPTIONS + NO_CJIT_OPTIONS))
+def runFTLNoCJITNoPutStackValidate(*optionalTestSpecificOptions)
+ run("ftl-no-cjit-no-put-stack-validate", "--validateGraph=true", "--usePutStackSinking=false", *(FTL_OPTIONS + NO_CJIT_OPTIONS + optionalTestSpecificOptions))
end
-def runFTLNoCJITNoInlineValidate
- run("ftl-no-cjit-no-inline-validate", "--validateGraph=true", "--maximumInliningDepth=1", *(FTL_OPTIONS + NO_CJIT_OPTIONS))
+def runFTLNoCJITNoInlineValidate(*optionalTestSpecificOptions)
+ run("ftl-no-cjit-no-inline-validate", "--validateGraph=true", "--maximumInliningDepth=1", *(FTL_OPTIONS + NO_CJIT_OPTIONS + optionalTestSpecificOptions))
end
-def runFTLNoCJITOSRValidation
- run("ftl-no-cjit-osr-validation", "--validateFTLOSRExitLiveness=true", *(FTL_OPTIONS + NO_CJIT_OPTIONS))
+def runFTLNoCJITOSRValidation(*optionalTestSpecificOptions)
+ run("ftl-no-cjit-osr-validation", "--validateFTLOSRExitLiveness=true", *(FTL_OPTIONS + NO_CJIT_OPTIONS + optionalTestSpecificOptions))
end
-def runDFGEager
- run("dfg-eager", *EAGER_OPTIONS)
+def runDFGEager(*optionalTestSpecificOptions)
+ run("dfg-eager", *(EAGER_OPTIONS + optionalTestSpecificOptions))
end
-def runDFGEagerNoCJITValidate
- run("dfg-eager-no-cjit-validate", "--validateGraph=true", *(NO_CJIT_OPTIONS + EAGER_OPTIONS))
+def runDFGEagerNoCJITValidate(*optionalTestSpecificOptions)
+ run("dfg-eager-no-cjit-validate", "--validateGraph=true", *(NO_CJIT_OPTIONS + EAGER_OPTIONS + optionalTestSpecificOptions))
end
-def runFTLEager
- run("ftl-eager", *(FTL_OPTIONS + EAGER_OPTIONS))
+def runFTLEager(*optionalTestSpecificOptions)
+ run("ftl-eager", *(FTL_OPTIONS + EAGER_OPTIONS + optionalTestSpecificOptions))
end
-def runFTLEagerNoCJITValidate
- run("ftl-eager-no-cjit", "--validateGraph=true", *(FTL_OPTIONS + NO_CJIT_OPTIONS + EAGER_OPTIONS))
+def runFTLEagerNoCJITValidate(*optionalTestSpecificOptions)
+ run("ftl-eager-no-cjit", "--validateGraph=true", *(FTL_OPTIONS + NO_CJIT_OPTIONS + EAGER_OPTIONS + optionalTestSpecificOptions))
end
-def runFTLEagerNoCJITOSRValidation
- run("ftl-eager-no-cjit-osr-validation", "--validateFTLOSRExitLiveness=true", *(FTL_OPTIONS + NO_CJIT_OPTIONS + EAGER_OPTIONS))
+def runFTLEagerNoCJITOSRValidation(*optionalTestSpecificOptions)
+ run("ftl-eager-no-cjit-osr-validation", "--validateFTLOSRExitLiveness=true", *(FTL_OPTIONS + NO_CJIT_OPTIONS + EAGER_OPTIONS + optionalTestSpecificOptions))
end
-def runNoCJITNoASO
- run("no-cjit-no-aso", "--useArchitectureSpecificOptimizations=false", *NO_CJIT_OPTIONS)
+def runNoCJITNoASO(*optionalTestSpecificOptions)
+ run("no-cjit-no-aso", "--useArchitectureSpecificOptimizations=false", *(NO_CJIT_OPTIONS + optionalTestSpecificOptions))
end
-def runNoCJITNoAccessInlining
- run("no-cjit-no-access-inlining", "--useAccessInlining=false", *NO_CJIT_OPTIONS)
+def runNoCJITNoAccessInlining(*optionalTestSpecificOptions)
+ run("no-cjit-no-access-inlining", "--useAccessInlining=false", *(NO_CJIT_OPTIONS + optionalTestSpecificOptions))
end
-def runFTLNoCJITNoAccessInlining
- run("ftl-no-cjit-no-access-inlining", "--useAccessInlining=false", *(FTL_OPTIONS + NO_CJIT_OPTIONS))
+def runFTLNoCJITNoAccessInlining(*optionalTestSpecificOptions)
+ run("ftl-no-cjit-no-access-inlining", "--useAccessInlining=false", *(FTL_OPTIONS + NO_CJIT_OPTIONS + optionalTestSpecificOptions))
end
-def runFTLNoCJITSmallPool
- run("ftl-no-cjit-small-pool", "--jitMemoryReservationSize=50000", *(FTL_OPTIONS + NO_CJIT_OPTIONS))
+def runFTLNoCJITSmallPool(*optionalTestSpecificOptions)
+ run("ftl-no-cjit-small-pool", "--jitMemoryReservationSize=50000", *(FTL_OPTIONS + NO_CJIT_OPTIONS + optionalTestSpecificOptions))
end
-def runMiscNoCJITTest(*options)
- run("misc-no-cjit", *(NO_CJIT_OPTIONS + options))
+def runNoCJIT(*optionalTestSpecificOptions)
+ run("no-cjit", *(NO_CJIT_OPTIONS + optionalTestSpecificOptions))
end
-def runMiscFTLNoCJITTest(*options)
- run("misc-ftl-no-cjit", *(FTL_OPTIONS + NO_CJIT_OPTIONS + options))
+def runDFGMaximalFlushPhase(*optionalTestSpecificOptions)
+ run("dfg-maximal-flush-validate-no-cjit", "--forceCodeBlockToJettisonDueToOldAge=true", "--validateGraph=true", "--useMaximalFlushInsertionPhase=true", *(NO_CJIT_OPTIONS + optionalTestSpecificOptions))
end
-def runDFGMaximalFlushPhase
- run("dfg-maximal-flush-validate-no-cjit", "--forceCodeBlockToJettisonDueToOldAge=true", "--validateGraph=true", "--useMaximalFlushInsertionPhase=true", *NO_CJIT_OPTIONS)
+def runShadowChicken(*optionalTestSpecificOptions)
+ run("shadow-chicken", "--useDFGJIT=false", "--alwaysUseShadowChicken=true", *optionalTestSpecificOptions)
end
-def runShadowChicken
- run("shadow-chicken", "--useDFGJIT=false", "--alwaysUseShadowChicken=true")
-end
-
def defaultRun
if $quickMode
defaultQuickRun
_______________________________________________ webkit-changes mailing list [email protected] https://lists.webkit.org/mailman/listinfo/webkit-changes
