Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (155265 => 155266)
--- trunk/Source/_javascript_Core/ChangeLog 2013-09-07 22:48:36 UTC (rev 155265)
+++ trunk/Source/_javascript_Core/ChangeLog 2013-09-07 23:07:06 UTC (rev 155266)
@@ -1,3 +1,16 @@
+2013-09-07 Filip Pizlo <[email protected]>
+
+ 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 <[email protected]>
Get rid of PassOwnArrayPtr
Modified: trunk/Source/_javascript_Core/dfg/DFGTierUpCheckInjectionPhase.cpp (155265 => 155266)
--- trunk/Source/_javascript_Core/dfg/DFGTierUpCheckInjectionPhase.cpp 2013-09-07 22:48:36 UTC (rev 155265)
+++ trunk/Source/_javascript_Core/dfg/DFGTierUpCheckInjectionPhase.cpp 2013-09-07 23:07:06 UTC (rev 155266)
@@ -82,6 +82,7 @@
return true;
#else // ENABLE(FTL_JIT)
+ RELEASE_ASSERT_NOT_REACHED();
return false;
#endif // ENABLE(FTL_JIT)
}
Modified: trunk/Tools/ChangeLog (155265 => 155266)
--- trunk/Tools/ChangeLog 2013-09-07 22:48:36 UTC (rev 155265)
+++ trunk/Tools/ChangeLog 2013-09-07 23:07:06 UTC (rev 155266)
@@ -1,3 +1,17 @@
+2013-09-07 Filip Pizlo <[email protected]>
+
+ 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-_javascript_core-tests:
+ * Scripts/run-jsc-stress-tests:
+
2013-09-07 Santosh Mahto <[email protected]>
removing --dialog-element from build-webkit --help option message
Modified: trunk/Tools/Scripts/build-jsc (155265 => 155266)
--- trunk/Tools/Scripts/build-jsc 2013-09-07 22:48:36 UTC (rev 155265)
+++ trunk/Tools/Scripts/build-jsc 2013-09-07 23:07:06 UTC (rev 155266)
@@ -50,7 +50,7 @@
GetOptions(
'coverage!' => \$coverageSupport,
'help' => \$showHelp,
- 'ftl-jit' => \$ftlJIT
+ 'ftl-jit!' => \$ftlJIT
);
if ($showHelp) {
Modified: trunk/Tools/Scripts/run-_javascript_core-tests (155265 => 155266)
--- trunk/Tools/Scripts/run-_javascript_core-tests 2013-09-07 22:48:36 UTC (rev 155265)
+++ trunk/Tools/Scripts/run-_javascript_core-tests 2013-09-07 23:07:06 UTC (rev 155266)
@@ -80,6 +80,8 @@
# 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";
@@ -91,6 +93,7 @@
--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)
@@ -102,6 +105,7 @@
'j|jsDriver-args=s' => \$jsDriverArgs,
'root=s' => \$root,
'build!' => \$buildJSC,
+ 'ftl-jit!' => \$enableFTL,
'testapi!' => \$runTestAPI,
'mozilla!' => \$runMozilla,
'fast-js!' => \$runFastJS,
@@ -112,6 +116,11 @@
# 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);
@@ -236,6 +245,9 @@
"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;
Modified: trunk/Tools/Scripts/run-jsc-stress-tests (155265 => 155266)
--- trunk/Tools/Scripts/run-jsc-stress-tests 2013-09-07 22:48:36 UTC (rev 155265)
+++ trunk/Tools/Scripts/run-jsc-stress-tests 2013-09-07 23:07:06 UTC (rev 155266)
@@ -34,6 +34,7 @@
end
$jscPath = nil
+$enableFTL = false
$collections = []
$outputDir = Pathname.new("results")
@@ -41,6 +42,7 @@
puts "run-jsc-stress-tests -j <shell path> <collections path> [<collections path> ...]"
puts
puts "--jsc (-j) Path to _javascript_Core. 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
@@ -48,6 +50,7 @@
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
@@ -57,6 +60,8 @@
$jscPath = Pathname.new(arg).realpath
when '--output-dir'
$outputDir = Pathname.new(arg)
+ when '--ftl-jit'
+ $enableFTL = true
end
}
@@ -67,6 +72,8 @@
$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}: "
@@ -109,16 +116,24 @@
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