Title: [155266] trunk
Revision
155266
Author
[email protected]
Date
2013-09-07 16:07:06 -0700 (Sat, 07 Sep 2013)

Log Message

Only run FTL tests if we have the FTL
https://bugs.webkit.org/show_bug.cgi?id=120974

Source/_javascript_Core: 

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-_javascript_core-tests:
* Scripts/run-jsc-stress-tests:

Modified Paths

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

Reply via email to