https://bugs.webkit.org/show_bug.cgi?id=120974
Source/JavaScriptCore:
Reviewed by Geoffrey Garen.
The test infrastructure is now smart enough to not pass --useExperimentalFTL=true
unless it knows that we have the FTL.
* dfg/DFGTierUpCheckInjectionPhase.cpp:
(JSC::DFG::TierUpCheckInjectionPhase::run):
Tools:
Reviewed by Geoffrey Garen.
Pass --ftl-jit down into run-jsc-stress-tests so that it knows what test
variants to run.
* Scripts/build-jsc:
* Scripts/run-javascriptcore-tests:
* Scripts/run-jsc-stress-tests:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@155266
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2013-09-07 Filip Pizlo <fpizlo@apple.com>
+
+ Only run FTL tests if we have the FTL
+ https://bugs.webkit.org/show_bug.cgi?id=120974
+
+ Reviewed by Geoffrey Garen.
+
+ The test infrastructure is now smart enough to not pass --useExperimentalFTL=true
+ unless it knows that we have the FTL.
+
+ * dfg/DFGTierUpCheckInjectionPhase.cpp:
+ (JSC::DFG::TierUpCheckInjectionPhase::run):
+
2013-09-07 Anders Carlsson <andersca@apple.com>
Get rid of PassOwnArrayPtr
return true;
#else // ENABLE(FTL_JIT)
+ RELEASE_ASSERT_NOT_REACHED();
return false;
#endif // ENABLE(FTL_JIT)
}
+2013-09-07 Filip Pizlo <fpizlo@apple.com>
+
+ Only run FTL tests if we have the FTL
+ https://bugs.webkit.org/show_bug.cgi?id=120974
+
+ Reviewed by Geoffrey Garen.
+
+ Pass --ftl-jit down into run-jsc-stress-tests so that it knows what test
+ variants to run.
+
+ * Scripts/build-jsc:
+ * Scripts/run-javascriptcore-tests:
+ * Scripts/run-jsc-stress-tests:
+
2013-09-07 Santosh Mahto <santosh.ma@samsung.com>
removing --dialog-element from build-webkit --help option message
GetOptions(
'coverage!' => \$coverageSupport,
'help' => \$showHelp,
- 'ftl-jit' => \$ftlJIT
+ 'ftl-jit!' => \$ftlJIT
);
if ($showHelp) {
# https://bugs.webkit.org/show_bug.cgi?id=120809
my $runJSCStress = isAppleMacWebKit();
+my $enableFTL = 0;
+
my $programName = basename($0);
my $buildJSCDefault = $buildJSC ? "will check" : "will not check";
my $testapiDefault = $runTestAPI ? "will run" : "will not run";
--help Show this help message
--jsDriver-args= A string of arguments to pass to jsDriver.pl
--root= Path to pre-built root containing jsc
+ --[no-]ftl-jit Turn the FTL JIT on or off
--[no-]build Check (or don't check) to see if the jsc build is up-to-date (default: $buildJSCDefault)
--[no-]testapi Run (or don't run) testapi (default: $testapiDefault)
--[no-]mozilla Run (or don't run) the Mozilla tests (default: $mozillaDefault)
'j|jsDriver-args=s' => \$jsDriverArgs,
'root=s' => \$root,
'build!' => \$buildJSC,
+ 'ftl-jit!' => \$enableFTL,
'testapi!' => \$runTestAPI,
'mozilla!' => \$runMozilla,
'fast-js!' => \$runFastJS,
# Assume any arguments left over from GetOptions are assumed to be build arguments
my @buildArgs = @ARGV;
+# The --ftl-jit argument gets passed as a build argument.
+if ($enableFTL) {
+ push(@buildArgs, '--ftl-jit');
+}
+
# Arguments passed to --jsDriver-args (if any) are passed to jsDriver.pl
my @jsArgs = split(" ", $jsDriverArgs);
"PerformanceTests/SunSpider/tests/v8-v6",
"LayoutTests/fast/js/regress/script-tests"
);
+ if ($enableFTL) {
+ push(@jscStressDriverCmd, "--ftl-jit");
+ }
print "Running: " . join(" ", @jscStressDriverCmd) . "\n";
my $result = system(@jscStressDriverCmd);
exit exitStatus($result) if $result;
end
$jscPath = nil
+$enableFTL = false
$collections = []
$outputDir = Pathname.new("results")
puts "run-jsc-stress-tests -j <shell path> <collections path> [<collections path> ...]"
puts
puts "--jsc (-j) Path to JavaScriptCore. This option is required."
+ puts "--ftl-jit Indicate that we have the FTL JIT."
puts "--output-dir (-o) Path where to put results. Default is #{$outputDir}."
puts "--help (-h) Print this message."
exit 1
GetoptLong.new(['--help', '-h', GetoptLong::NO_ARGUMENT],
['--jsc', '-j', GetoptLong::REQUIRED_ARGUMENT],
+ ['--ftl-jit', GetoptLong::NO_ARGUMENT],
['--output-dir', '-o', GetoptLong::REQUIRED_ARGUMENT]).each {
| opt, arg |
case opt
$jscPath = Pathname.new(arg).realpath
when '--output-dir'
$outputDir = Pathname.new(arg)
+ when '--ftl-jit'
+ $enableFTL = true
end
}
$numFailures = 0
+EAGER_OPTIONS = ["--enableConcurrentJIT=false", "--thresholdForJITAfterWarmUp=10", "--thresholdForJITSoon=10", "--thresholdForOptimizeAfterWarmUp=20", "--thresholdForOptimizeAfterLongWarmUp=20", "--thresholdForOptimizeSoon=20", "--thresholdForFTLOptimizeAfterWarmUp=20", "--thresholdForFTLOptimizeSoon=20"]
+
def run(kind, *options)
name = "#{$benchmark}.#{kind}"
print "#{$collectionName}/#{name}: "
run("ftl-no-cjit", "--enableConcurrentJIT=false", "--useExperimentalFTL=true")
end
+def runDFGEager
+ run("dfg-eager", *EAGER_OPTIONS)
+end
+
def runFTLEager
- run("ftl-eager", "--enableConcurrentJIT=false", "--useExperimentalFTL=true", "--thresholdForJITAfterWarmUp=10", "--thresholdForJITSoon=10", "--thresholdForOptimizeAfterWarmUp=20", "--thresholdForOptimizeAfterLongWarmUp=20", "--thresholdForOptimizeSoon=20", "--thresholdForFTLOptimizeAfterWarmUp=20", "--thresholdForFTLOptimizeSoon=20")
+ run("ftl-eager", "--useExperimentalFTL=true", *EAGER_OPTIONS)
end
def defaultRun
runDefault
runNoCJIT
- runDefaultFTL
- runFTLNoCJIT
- runFTLEager
+ if $enableFTL
+ runDefaultFTL
+ runFTLNoCJIT
+ runFTLEager
+ else
+ runDFGEager
+ end
end
def skip