Update LLVM binary drops and scripts to the latest version from SVN
authorfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 23 Aug 2013 00:19:54 +0000 (00:19 +0000)
committerfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 23 Aug 2013 00:19:54 +0000 (00:19 +0000)
https://bugs.webkit.org/show_bug.cgi?id=120184

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):

Tools:

* ReducedFTL/build.sh:
* Scripts/configure-llvm: Added.
* Scripts/copy-webkitlibraries-to-product-directory:
* Scripts/export-llvm-build:

WebKitLibraries:

Updated binary drops to r189066.

* LLVMIncludesMountainLion.tar.bz2:
* LLVMLibrariesMountainLion.tar.bz2:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154468 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/dfg/DFGPlan.cpp
Tools/ChangeLog
Tools/ReducedFTL/build.sh
Tools/Scripts/configure-llvm [new file with mode: 0755]
Tools/Scripts/copy-webkitlibraries-to-product-directory
Tools/Scripts/export-llvm-build
WebKitLibraries/ChangeLog
WebKitLibraries/LLVMIncludesMountainLion.tar.bz2
WebKitLibraries/LLVMLibrariesMountainLion.tar.bz2

index a58f01c..8357eab 100644 (file)
@@ -1,3 +1,13 @@
+2013-08-22  Filip Pizlo  <fpizlo@apple.com>
+
+        Update LLVM binary drops and scripts to the latest version from SVN
+        https://bugs.webkit.org/show_bug.cgi?id=120184
+
+        Reviewed by Mark Hahnenberg.
+
+        * dfg/DFGPlan.cpp:
+        (JSC::DFG::Plan::compileInThreadImpl):
+
 2013-08-22  Gavin Barraclough  <barraclough@apple.com>
 
         Don't leak registers for redeclared variables
index 22c19f8..59f3790 100644 (file)
@@ -245,6 +245,8 @@ Plan::CompilationPath Plan::compileInThreadImpl(LongLivedState& longLivedState)
         FTL::link(state);
         return FTLPath;
     }
+#else
+    RELEASE_ASSERT(!Options::useExperimentalFTL());
 #endif // ENABLE(FTL_JIT)
     
     performCPSRethreading(dfg);
index 8054343..f4882f8 100644 (file)
@@ -1,3 +1,15 @@
+2013-08-22  Filip Pizlo  <fpizlo@apple.com>
+
+        Update LLVM binary drops and scripts to the latest version from SVN
+        https://bugs.webkit.org/show_bug.cgi?id=120184
+
+        Reviewed by Mark Hahnenberg.
+
+        * ReducedFTL/build.sh:
+        * Scripts/configure-llvm: Added.
+        * Scripts/copy-webkitlibraries-to-product-directory:
+        * Scripts/export-llvm-build:
+
 2013-08-22  Andy Estes  <aestes@apple.com>
 
         <https://webkit.org/b/120180> Fix issues with OTHER_LDFLAGS in various .xcconfig files
index 26363ea..084dd8e 100755 (executable)
@@ -11,4 +11,4 @@ else
 fi
 
 clang -c -o ReducedFTL.o ReducedFTL.c `${configPath} --cppflags --cflags`
-clang++ -o ReducedFTL ReducedFTL.o -stdlib=libc++ `${configPath} --ldflags --libs`
+clang++ -o ReducedFTL ReducedFTL.o -stdlib=libc++ `${configPath} --ldflags --libs` -lcurses
diff --git a/Tools/Scripts/configure-llvm b/Tools/Scripts/configure-llvm
new file mode 100755 (executable)
index 0000000..d764560
--- /dev/null
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+# Copyright (C) 2013 Apple Inc. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1.  Redistributions of source code must retain the above copyright
+#     notice, this list of conditions and the following disclaimer. 
+# 2.  Redistributions in binary form must reproduce the above copyright
+#     notice, this list of conditions and the following disclaimer in the
+#     documentation and/or other materials provided with the distribution. 
+#
+# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+set -e
+set -x
+
+if test "x$1" != "x"
+then
+    cd $1
+fi
+
+# Configure LLVM for a Release+Asserts build that only includes the x86_64 backend, uses
+# libcpp (because that's what WebKit uses), and doesn't depend on either zlib or curses.
+# In the future it will be appropriate to parameterize what backends should be built (we
+# only want to build a backend for our current target) and to add more flags to remove
+# dependencies and features.
+
+./configure --enable-optimized=yes --enable-backtraces=no --enable-targets=x86_64 --enable-libcpp=yes --enable-zlib=no --enable-terminfo=no
index bd50472..ebae458 100755 (executable)
@@ -138,11 +138,9 @@ if ($ENV{ENABLE_FTL_JIT}) {
     my $shouldUpdateLLVMLibraryToken = 0;
 
     if ($useOwnLLVM) {
-
-        chdir $ownLLVMDirectory;
-        if (!-e "Makefile.config") {
+        if (!-e "$ownLLVMDirectory/Makefile.config") {
             print("Configuring LLVM.\n");
-            (system("./configure --enable-optimized=yes --enable-backtraces=no --enable-targets=x86_64 --enable-libcpp=yes --enable-zlib=no")==0) or die;
+            (system("sh", "Tools/Scripts/configure-llvm", $ownLLVMDirectory)==0) or die;
         }
 
         print("Building LLVM.\n");
index 7eb3994..7946d93 100755 (executable)
@@ -98,7 +98,11 @@ def compressionChar
 end
 
 Dir.chdir($llvmPath + $llvmBuild + "lib") {
-    mysys("tar", "-c#{compressionChar}vf", $currentPath + $libraryPackage, *Dir.entries('.').select{|value| value =~ /\.a$/})
+    mysys("tar", "-c#{compressionChar}vf", $currentPath + $libraryPackage,
+          *Dir.entries('.').select {
+              | value |
+              value =~ /\.a$/ and value !~ /libgtest/
+          })
 }
 
 Dir.mktmpdir {
index 15c282d..c80a766 100644 (file)
@@ -1,3 +1,15 @@
+2013-08-22  Filip Pizlo  <fpizlo@apple.com>
+
+        Update LLVM binary drops and scripts to the latest version from SVN
+        https://bugs.webkit.org/show_bug.cgi?id=120184
+
+        Reviewed by Mark Hahnenberg.
+
+        Updated binary drops to r189066.
+
+        * LLVMIncludesMountainLion.tar.bz2:
+        * LLVMLibrariesMountainLion.tar.bz2:
+
 2013-08-21  Commit Queue  <commit-queue@webkit.org>
 
         Unreviewed, rolling out r154416.
index f0ec460..b3dcbb6 100644 (file)
Binary files a/WebKitLibraries/LLVMIncludesMountainLion.tar.bz2 and b/WebKitLibraries/LLVMIncludesMountainLion.tar.bz2 differ
index 8595719..8574517 100644 (file)
Binary files a/WebKitLibraries/LLVMLibrariesMountainLion.tar.bz2 and b/WebKitLibraries/LLVMLibrariesMountainLion.tar.bz2 differ