Title: [167958] trunk
Revision
167958
Author
fpi...@apple.com
Date
2014-04-29 15:02:00 -0700 (Tue, 29 Apr 2014)

Log Message

Use LLVM as a backend for the fourth-tier DFG JIT (a.k.a. the FTL JIT)
https://bugs.webkit.org/show_bug.cgi?id=112840

Rubber stamped by Geoffrey Garen.


Source/_javascript_Core: 
* Configurations/FeatureDefines.xcconfig:

Source/WebCore: 
It already has a lot of tests.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac: 
* Configurations/FeatureDefines.xcconfig:

Source/WebKit2: 
* Configurations/FeatureDefines.xcconfig:

Tools: 
* Scripts/build-jsc: Enable it on Mac.
* Scripts/build-webkit: Enable it on Mac.
* Scripts/export-llvm-build: Make it slightly easier to export the build if you've done a "make install".

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (167957 => 167958)


--- trunk/Source/_javascript_Core/ChangeLog	2014-04-29 21:58:08 UTC (rev 167957)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-04-29 22:02:00 UTC (rev 167958)
@@ -1,3 +1,12 @@
+2014-04-29  Filip Pizlo  <fpi...@apple.com>
+
+        Use LLVM as a backend for the fourth-tier DFG JIT (a.k.a. the FTL JIT)
+        https://bugs.webkit.org/show_bug.cgi?id=112840
+
+        Rubber stamped by Geoffrey Garen.
+
+        * Configurations/FeatureDefines.xcconfig:
+
 2014-04-29  Geoffrey Garen  <gga...@apple.com>
 
         String.prototype.trim removes U+200B from strings.

Modified: trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig (167957 => 167958)


--- trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig	2014-04-29 21:58:08 UTC (rev 167957)
+++ trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig	2014-04-29 22:02:00 UTC (rev 167958)
@@ -235,10 +235,7 @@
 ENABLE_XSLT = ENABLE_XSLT;
 
 ENABLE_FTL_JIT = $(ENABLE_FTL_JIT_$(PLATFORM_NAME));
-ENABLE_FTL_JIT_macosx = $(ENABLE_FTL_JIT_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-ENABLE_FTL_JIT_macosx_1080 = ;
-ENABLE_FTL_JIT_macosx_1090 = ;
-ENABLE_FTL_JIT_macosx_101000 = ENABLE_FTL_JIT;
+ENABLE_FTL_JIT_macosx = ENABLE_FTL_JIT;
 ENABLE_FTL_JIT_iphoneos = ENABLE_FTL_JIT;
 ENABLE_FTL_JIT_iphonesimulator = ;
 

Modified: trunk/Source/WebCore/ChangeLog (167957 => 167958)


--- trunk/Source/WebCore/ChangeLog	2014-04-29 21:58:08 UTC (rev 167957)
+++ trunk/Source/WebCore/ChangeLog	2014-04-29 22:02:00 UTC (rev 167958)
@@ -1,3 +1,14 @@
+2014-04-29  Filip Pizlo  <fpi...@apple.com>
+
+        Use LLVM as a backend for the fourth-tier DFG JIT (a.k.a. the FTL JIT)
+        https://bugs.webkit.org/show_bug.cgi?id=112840
+
+        Rubber stamped by Geoffrey Garen.
+
+        It already has a lot of tests.
+
+        * Configurations/FeatureDefines.xcconfig:
+
 2014-04-29  Brady Eidson  <beid...@apple.com>
 
         Change Image Controls replacement to use selection and paste

Modified: trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig (167957 => 167958)


--- trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig	2014-04-29 21:58:08 UTC (rev 167957)
+++ trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig	2014-04-29 22:02:00 UTC (rev 167958)
@@ -235,10 +235,7 @@
 ENABLE_XSLT = ENABLE_XSLT;
 
 ENABLE_FTL_JIT = $(ENABLE_FTL_JIT_$(PLATFORM_NAME));
-ENABLE_FTL_JIT_macosx = $(ENABLE_FTL_JIT_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-ENABLE_FTL_JIT_macosx_1080 = ;
-ENABLE_FTL_JIT_macosx_1090 = ;
-ENABLE_FTL_JIT_macosx_101000 = ENABLE_FTL_JIT;
+ENABLE_FTL_JIT_macosx = ENABLE_FTL_JIT;
 ENABLE_FTL_JIT_iphoneos = ENABLE_FTL_JIT;
 ENABLE_FTL_JIT_iphonesimulator = ;
 

Modified: trunk/Source/WebKit/mac/ChangeLog (167957 => 167958)


--- trunk/Source/WebKit/mac/ChangeLog	2014-04-29 21:58:08 UTC (rev 167957)
+++ trunk/Source/WebKit/mac/ChangeLog	2014-04-29 22:02:00 UTC (rev 167958)
@@ -1,3 +1,12 @@
+2014-04-29  Filip Pizlo  <fpi...@apple.com>
+
+        Use LLVM as a backend for the fourth-tier DFG JIT (a.k.a. the FTL JIT)
+        https://bugs.webkit.org/show_bug.cgi?id=112840
+
+        Rubber stamped by Geoffrey Garen.
+
+        * Configurations/FeatureDefines.xcconfig:
+
 2014-04-29  Brady Eidson  <beid...@apple.com>
 
         Change Image Controls replacement to use selection and paste

Modified: trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig (167957 => 167958)


--- trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig	2014-04-29 21:58:08 UTC (rev 167957)
+++ trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig	2014-04-29 22:02:00 UTC (rev 167958)
@@ -235,10 +235,7 @@
 ENABLE_XSLT = ENABLE_XSLT;
 
 ENABLE_FTL_JIT = $(ENABLE_FTL_JIT_$(PLATFORM_NAME));
-ENABLE_FTL_JIT_macosx = $(ENABLE_FTL_JIT_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-ENABLE_FTL_JIT_macosx_1080 = ;
-ENABLE_FTL_JIT_macosx_1090 = ;
-ENABLE_FTL_JIT_macosx_101000 = ENABLE_FTL_JIT;
+ENABLE_FTL_JIT_macosx = ENABLE_FTL_JIT;
 ENABLE_FTL_JIT_iphoneos = ENABLE_FTL_JIT;
 ENABLE_FTL_JIT_iphonesimulator = ;
 

Modified: trunk/Source/WebKit2/ChangeLog (167957 => 167958)


--- trunk/Source/WebKit2/ChangeLog	2014-04-29 21:58:08 UTC (rev 167957)
+++ trunk/Source/WebKit2/ChangeLog	2014-04-29 22:02:00 UTC (rev 167958)
@@ -1,3 +1,12 @@
+2014-04-29  Filip Pizlo  <fpi...@apple.com>
+
+        Use LLVM as a backend for the fourth-tier DFG JIT (a.k.a. the FTL JIT)
+        https://bugs.webkit.org/show_bug.cgi?id=112840
+
+        Rubber stamped by Geoffrey Garen.
+
+        * Configurations/FeatureDefines.xcconfig:
+
 2014-04-29  Brady Eidson  <beid...@apple.com>
 
         Change Image Controls replacement to use selection and paste

Modified: trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig (167957 => 167958)


--- trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig	2014-04-29 21:58:08 UTC (rev 167957)
+++ trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig	2014-04-29 22:02:00 UTC (rev 167958)
@@ -235,10 +235,7 @@
 ENABLE_XSLT = ENABLE_XSLT;
 
 ENABLE_FTL_JIT = $(ENABLE_FTL_JIT_$(PLATFORM_NAME));
-ENABLE_FTL_JIT_macosx = $(ENABLE_FTL_JIT_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-ENABLE_FTL_JIT_macosx_1080 = ;
-ENABLE_FTL_JIT_macosx_1090 = ;
-ENABLE_FTL_JIT_macosx_101000 = ENABLE_FTL_JIT;
+ENABLE_FTL_JIT_macosx = ENABLE_FTL_JIT;
 ENABLE_FTL_JIT_iphoneos = ENABLE_FTL_JIT;
 ENABLE_FTL_JIT_iphonesimulator = ;
 

Modified: trunk/Tools/ChangeLog (167957 => 167958)


--- trunk/Tools/ChangeLog	2014-04-29 21:58:08 UTC (rev 167957)
+++ trunk/Tools/ChangeLog	2014-04-29 22:02:00 UTC (rev 167958)
@@ -1,3 +1,14 @@
+2014-04-29  Filip Pizlo  <fpi...@apple.com>
+
+        Use LLVM as a backend for the fourth-tier DFG JIT (a.k.a. the FTL JIT)
+        https://bugs.webkit.org/show_bug.cgi?id=112840
+
+        Rubber stamped by Geoffrey Garen.
+
+        * Scripts/build-jsc: Enable it on Mac.
+        * Scripts/build-webkit: Enable it on Mac.
+        * Scripts/export-llvm-build: Make it slightly easier to export the build if you've done a "make install".
+
 2014-04-28  Sam Weinig  <s...@webkit.org>
 
         REGRESSION (r167751): svn-create-patch is very slow

Modified: trunk/Tools/Scripts/build-jsc (167957 => 167958)


--- trunk/Tools/Scripts/build-jsc	2014-04-29 21:58:08 UTC (rev 167957)
+++ trunk/Tools/Scripts/build-jsc	2014-04-29 22:02:00 UTC (rev 167958)
@@ -37,7 +37,7 @@
 
 my $coverageSupport = 0;
 my $showHelp = 0;
-my $ftlJIT = 0;
+my $ftlJIT = isAppleWebKit();
 my $forceCLoop = 0;
 my $cli = 0;
 my $makeArgs = "";
@@ -89,8 +89,8 @@
 }
 
 if (isAppleMacWebKit()) {
-    if ($ftlJIT) {
-        push @options, "ENABLE_FTL_JIT=ENABLE_FTL_JIT";
+    if (!$ftlJIT) {
+        push @options, "ENABLE_FTL_JIT=";
     }
     if ($forceCLoop) {
         push @options, "ENABLE_LLINT_C_LOOP=ENABLE_LLINT_C_LOOP";

Modified: trunk/Tools/Scripts/build-webkit (167957 => 167958)


--- trunk/Tools/Scripts/build-webkit	2014-04-29 21:58:08 UTC (rev 167957)
+++ trunk/Tools/Scripts/build-webkit	2014-04-29 22:02:00 UTC (rev 167958)
@@ -178,7 +178,6 @@
 }
 
 my @options = ();
-my $hasFTLJIT = 0;
 
 if (isAppleMacWebKit()) {
     push @options, XcodeOptions();
@@ -191,7 +190,6 @@
 
     foreach (@features) {
         my $option = option($_->{define}, ${$_->{value}}, $_->{default});
-        $hasFTLJIT = 1 if ($_->{define} eq "ENABLE_FTL_JIT") and (${$_->{value}});
         push @options, $option unless $option eq "";
     }
 
@@ -222,11 +220,7 @@
         splice(@projects, $webKitIndex, 0, "Source/WebInspectorUI");
 
         # Copy library and header from WebKitLibraries to a findable place in the product directory.
-        my @copyLibrariesArgs = ("perl", "Tools/Scripts/copy-webkitlibraries-to-product-directory", "--wksi");
-        if ($hasFTLJIT) {
-            push @copyLibrariesArgs, "--llvm";
-        }
-        push @copyLibrariesArgs, productDir();
+        my @copyLibrariesArgs = ("perl", "Tools/Scripts/copy-webkitlibraries-to-product-directory", "--wksi", "--llvm", productDir());
         print(join(" ", @copyLibrariesArgs) . "\n");
         (system(@copyLibrariesArgs) == 0) or die;
     } else {

Modified: trunk/Tools/Scripts/export-llvm-build (167957 => 167958)


--- trunk/Tools/Scripts/export-llvm-build	2014-04-29 21:58:08 UTC (rev 167957)
+++ trunk/Tools/Scripts/export-llvm-build	2014-04-29 22:02:00 UTC (rev 167958)
@@ -48,6 +48,7 @@
 $llvmBuild = Pathname.new("./llvm")
 $llvmBinary = Pathname.new("./llvm/Release")
 $llvmSource = Pathname.new("./llvm")
+$prefix = nil
 $compression = "bzip2"
 
 def usage
@@ -63,6 +64,7 @@
     puts "                          Default is #{$llvmBinary}."
     puts "--llvm-source      (-s)   Change which LLVM source directory to use."
     puts "                          Default is #{$llvmSource}."
+    puts "--prefix           (-p)   Use an \"installed\" LLVM with the given prefix."
     puts "--compression             Change what compression to do. Can be one of gzip,"
     puts "                          bzip2, or none."
     puts "                          Default is #{$compression}."
@@ -75,6 +77,7 @@
                ['--llvm-build', '-b', GetoptLong::REQUIRED_ARGUMENT],
                ['--llvm-binary', '-B', GetoptLong::REQUIRED_ARGUMENT],
                ['--llvm-source', '-s', GetoptLong::REQUIRED_ARGUMENT],
+               ['--prefix', '-p', GetoptLong::REQUIRED_ARGUMENT],
                ['--compression', GetoptLong::REQUIRED_ARGUMENT]).each {
     | opt, arg |
     case opt
@@ -90,6 +93,8 @@
         $llvmBinary = Pathname.new(arg)
     when '--llvm-source'
         $llvmSource = Pathname.new(arg)
+    when '--prefix'
+        $prefix = Pathname.new(arg)
     when '--compression'
         $compression = arg
     else
@@ -112,6 +117,12 @@
     end
 end
 
+if $prefix
+    $llvmBinary = $prefix
+    $llvmBuild = $prefix
+    $llvmSource = $prefix
+end
+
 mychdir($llvmBinary + "lib") {
     mysys("tar", "-c#{compressionChar}vf", ($currentPath + $libraryPackage).to_s,
           *Dir.entries('.').select {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to