<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[165819] tags/Safari-538.23.1</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/165819">165819</a></dd>
<dt>Author</dt> <dd>fpizlo@apple.com</dd>
<dt>Date</dt> <dd>2014-03-18 11:02:45 -0700 (Tue, 18 Mar 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>More FTL enabling.

Source/JavaScriptCore: 

Rubber stamped by Dan Bernstein and Mark Hahnenberg.

* Configurations/FeatureDefines.xcconfig:
* ftl/FTLCompile.cpp:
(JSC::FTL::compile):

Source/WebCore: 

Reviewed by Dan Bernstein.

No new tests because this already has ample test coverage in JSC.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac: 

Reviewed by Dan Bernstein.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2: 

Reviewed by Dan Bernstein.

* Configurations/FeatureDefines.xcconfig:

Source/WTF: 

Rubber stamped by Dan Bernstein and Mark Hahnenberg.

* wtf/Platform.h:

Tools: 

Rubber stamped by Dan Bernstein.

* Tools/Scripts/build-webkit:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#tagsSafari538231SourceJavaScriptCoreChangeLog">tags/Safari-538.23.1/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#tagsSafari538231SourceJavaScriptCoreConfigurationsBasexcconfig">tags/Safari-538.23.1/Source/JavaScriptCore/Configurations/Base.xcconfig</a></li>
<li><a href="#tagsSafari538231SourceJavaScriptCoreConfigurationsFeatureDefinesxcconfig">tags/Safari-538.23.1/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#tagsSafari538231SourceJavaScriptCoreConfigurationsLLVMForJSCxcconfig">tags/Safari-538.23.1/Source/JavaScriptCore/Configurations/LLVMForJSC.xcconfig</a></li>
<li><a href="#tagsSafari538231SourceJavaScriptCoreftlFTLCompilecpp">tags/Safari-538.23.1/Source/JavaScriptCore/ftl/FTLCompile.cpp</a></li>
<li><a href="#tagsSafari538231SourceJavaScriptCorellvmlibraryLLVMExportscpp">tags/Safari-538.23.1/Source/JavaScriptCore/llvm/library/LLVMExports.cpp</a></li>
<li><a href="#tagsSafari538231SourceJavaScriptCoreruntimeOptionscpp">tags/Safari-538.23.1/Source/JavaScriptCore/runtime/Options.cpp</a></li>
<li><a href="#tagsSafari538231SourceJavaScriptCoreruntimeOptionsh">tags/Safari-538.23.1/Source/JavaScriptCore/runtime/Options.h</a></li>
<li><a href="#tagsSafari538231SourceWTFChangeLog">tags/Safari-538.23.1/Source/WTF/ChangeLog</a></li>
<li><a href="#tagsSafari538231SourceWTFwtfPlatformh">tags/Safari-538.23.1/Source/WTF/wtf/Platform.h</a></li>
<li><a href="#tagsSafari538231SourceWebCoreChangeLog">tags/Safari-538.23.1/Source/WebCore/ChangeLog</a></li>
<li><a href="#tagsSafari538231SourceWebCoreConfigurationsFeatureDefinesxcconfig">tags/Safari-538.23.1/Source/WebCore/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#tagsSafari538231SourceWebKitmacChangeLog">tags/Safari-538.23.1/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#tagsSafari538231SourceWebKitmacConfigurationsFeatureDefinesxcconfig">tags/Safari-538.23.1/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#tagsSafari538231SourceWebKit2ChangeLog">tags/Safari-538.23.1/Source/WebKit2/ChangeLog</a></li>
<li><a href="#tagsSafari538231SourceWebKit2ConfigurationsFeatureDefinesxcconfig">tags/Safari-538.23.1/Source/WebKit2/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#tagsSafari538231ToolsChangeLog">tags/Safari-538.23.1/Tools/ChangeLog</a></li>
<li><a href="#tagsSafari538231ToolsScriptsbuildwebkit">tags/Safari-538.23.1/Tools/Scripts/build-webkit</a></li>
<li><a href="#tagsSafari538231ToolsScriptscopywebkitlibrariestoproductdirectory">tags/Safari-538.23.1/Tools/Scripts/copy-webkitlibraries-to-product-directory</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="tagsSafari538231SourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.23.1/Source/JavaScriptCore/ChangeLog (165818 => 165819)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.23.1/Source/JavaScriptCore/ChangeLog        2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/JavaScriptCore/ChangeLog        2014-03-18 18:02:45 UTC (rev 165819)
</span><span class="lines">@@ -1,3 +1,75 @@
</span><ins>+2014-03-18  Filip Pizlo  &lt;fpizlo@apple.com&gt;
+
+        More FTL enabling.
+
+        Rubber stamped by Dan Bernstein and Mark Hahnenberg.
+
+        * Configurations/FeatureDefines.xcconfig:
+        * ftl/FTLCompile.cpp:
+        (JSC::FTL::compile):
+
+2014-03-17  Filip Pizlo  &lt;fpizlo@apple.com&gt;
+
+        Merge r165673.
+
+    2014-03-14  Filip Pizlo  &lt;fpizlo@apple.com&gt;
+    
+            Final FTL iOS build magic
+            https://bugs.webkit.org/show_bug.cgi?id=130281
+    
+            Reviewed by Michael Saboff.
+    
+            * Configurations/Base.xcconfig: For now our LLVM headers are in /usr/local/LLVMForJavaScriptCore/include, which is the same as OS X.
+            * Configurations/LLVMForJSC.xcconfig: We need to be more careful about how we specify library paths if we want to get the prioritzation right. Also we need protobuf because things. :-/
+    
+2014-03-17  Filip Pizlo  &lt;fpizlo@apple.com&gt;
+
+        Merge r165601.
+
+    2014-03-13  Filip Pizlo  &lt;fpizlo@apple.com&gt;
+    
+            Unreviewed, fix Mac no-FTL build.
+    
+            * llvm/library/LLVMExports.cpp:
+            (initializeAndGetJSCLLVMAPI):
+    
+2014-03-17  Filip Pizlo  &lt;fpizlo@apple.com&gt;
+
+        Merge r165600.
+
+    2014-03-13  Juergen Ributzka  &lt;juergen@apple.com&gt;
+    
+            Only export initializeAndGetJSCLLVMAPI from libllvmForJSC.dylib
+            https://bugs.webkit.org/show_bug.cgi?id=130224
+    
+            Reviewed by Filip Pizlo.
+    
+            This limits the exported symbols to only initializeAndGetJSCLLVMAPI from
+            the LLVM dylib. This allows the dylib to be safely used with other LLVM
+            dylibs on the same system. It also reduces the dynamic linking overhead
+            and also reduces the size by 6MB, because the linker can now dead strip
+            many unused functions.
+    
+            * Configurations/LLVMForJSC.xcconfig:
+    
+2014-03-17  Filip Pizlo  &lt;fpizlo@apple.com&gt;
+
+        Merge r165553.
+
+    2014-03-12  Filip Pizlo  &lt;fpizlo@apple.com&gt;
+    
+            WebKit shouldn't crash on uniprocessor machines
+            https://bugs.webkit.org/show_bug.cgi?id=130176
+    
+            Reviewed by Michael Saboff.
+            
+            Previously the math for computing the number of JIT compiler threads would come up with
+            zero threads on uniprocessor machines, and then the Worklist code would assert.
+    
+            * runtime/Options.cpp:
+            (JSC::computeNumberOfWorkerThreads):
+            * runtime/Options.h:
+    
</ins><span class="cx"> 2014-03-13  Lucas Forschler  &lt;lforschler@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Merge r165559
</span></span></pre></div>
<a id="tagsSafari538231SourceJavaScriptCoreConfigurationsBasexcconfig"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.23.1/Source/JavaScriptCore/Configurations/Base.xcconfig (165818 => 165819)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.23.1/Source/JavaScriptCore/Configurations/Base.xcconfig        2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/JavaScriptCore/Configurations/Base.xcconfig        2014-03-18 18:02:45 UTC (rev 165819)
</span><span class="lines">@@ -79,13 +79,8 @@
</span><span class="cx"> PREBINDING = NO;
</span><span class="cx"> WARNING_CFLAGS = -Wall -Wextra -Wcast-qual -Wchar-subscripts -Wextra-tokens -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare -Wimplicit-fallthrough;
</span><span class="cx"> 
</span><del>-SYSTEM_LLVM_SEARCH_PATHS = $(SYSTEM_LLVM_SEARCH_PATHS_$(PLATFORM_NAME));
-SYSTEM_LLVM_SEARCH_PATHS_macosx = /usr/local/LLVMForJavaScriptCore/include;
-SYSTEM_LLVM_SEARCH_PATHS_iphoneos = ;
-SYSTEM_LLVM_SEARCH_PATHS_iphonesimulator = ;
</del><ins>+HEADER_SEARCH_PATHS = . icu &quot;${BUILT_PRODUCTS_DIR}/usr/local/LLVMForJavaScriptCore/include&quot; &quot;${BUILT_PRODUCTS_DIR}/ExtraIncludesForLocalLLVMBuild&quot; /usr/local/LLVMForJavaScriptCore/include &quot;${BUILT_PRODUCTS_DIR}/usr/local/include&quot; $(HEADER_SEARCH_PATHS);
</ins><span class="cx"> 
</span><del>-HEADER_SEARCH_PATHS = . icu &quot;${BUILT_PRODUCTS_DIR}/usr/local/LLVMForJavaScriptCore/include&quot; &quot;${BUILT_PRODUCTS_DIR}/ExtraIncludesForLocalLLVMBuild&quot; $(SYSTEM_LLVM_SEARCH_PATHS) &quot;${BUILT_PRODUCTS_DIR}/usr/local/include&quot; $(HEADER_SEARCH_PATHS);
-
</del><span class="cx"> TARGET_MAC_OS_X_VERSION_MAJOR = $(MAC_OS_X_VERSION_MAJOR);
</span><span class="cx"> 
</span><span class="cx"> SUPPORTED_PLATFORMS = iphoneos iphonesimulator macosx;
</span></span></pre></div>
<a id="tagsSafari538231SourceJavaScriptCoreConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.23.1/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig (165818 => 165819)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.23.1/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig        2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig        2014-03-18 18:02:45 UTC (rev 165819)
</span><span class="lines">@@ -219,6 +219,8 @@
</span><span class="cx"> ENABLE_FTL_JIT_macosx_1080 = ;
</span><span class="cx"> ENABLE_FTL_JIT_macosx_1090 = ;
</span><span class="cx"> ENABLE_FTL_JIT_macosx_101000 = ENABLE_FTL_JIT;
</span><ins>+ENABLE_FTL_JIT_iphoneos = ENABLE_FTL_JIT;
+ENABLE_FTL_JIT_iphonesimulator = ;
</ins><span class="cx"> 
</span><span class="cx"> ENABLE_LLINT_C_LOOP = ;
</span><span class="cx"> 
</span></span></pre></div>
<a id="tagsSafari538231SourceJavaScriptCoreConfigurationsLLVMForJSCxcconfig"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.23.1/Source/JavaScriptCore/Configurations/LLVMForJSC.xcconfig (165818 => 165819)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.23.1/Source/JavaScriptCore/Configurations/LLVMForJSC.xcconfig        2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/JavaScriptCore/Configurations/LLVMForJSC.xcconfig        2014-03-18 18:02:45 UTC (rev 165819)
</span><span class="lines">@@ -24,15 +24,17 @@
</span><span class="cx"> #include &quot;FeatureDefines.xcconfig&quot;
</span><span class="cx"> #include &quot;Version.xcconfig&quot;
</span><span class="cx"> 
</span><del>-// Prevent C++ standard library operator new, delete and their related exception types from being exported as weak symbols.
-OTHER_LDFLAGS_HIDE_SYMBOLS = -Wl,-unexported_symbol -Wl,__ZTISt9bad_alloc -Wl,-unexported_symbol -Wl,__ZTISt9exception -Wl,-unexported_symbol -Wl,__ZTSSt9bad_alloc -Wl,-unexported_symbol -Wl,__ZTSSt9exception -Wl,-unexported_symbol -Wl,__ZdlPvS_ -Wl,-unexported_symbol -Wl,__ZnwmPv -Wl,-all_load;
</del><ins>+// Only export our hook for initializing LLVM and returning the API struct.
+OTHER_LDFLAGS_HIDE_SYMBOLS = -Wl,-exported_symbol -Wl,_initializeAndGetJSCLLVMAPI -Wl,-all_load;
</ins><span class="cx"> 
</span><del>-LLVM_LIBS_iphoneos = -lLLVMTableGen -lLLVMDebugInfo -lLLVMOption -lLLVMARM64Disassembler -lLLVMARM64AsmParser -lLLVMARM64CodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMARM64Desc -lLLVMARM64Info -lLLVMARM64AsmPrinter -lLLVMIRReader -lLLVMAsmParser -lLLVMMCDisassembler -lLLVMMCParser -lLLVMInstrumentation -lLLVMBitReader -lLLVMInterpreter -lLLVMipo -lLLVMVectorize -lLLVMLinker -lLLVMBitWriter -lLLVMMCJIT -lLLVMJIT -lLLVMCodeGen -lLLVMObjCARCOpts -lLLVMScalarOpts -lLLVMInstCombine -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lLLVMRuntimeDyld -lLLVMExecutionEngine -lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore -lLLVMSupport;
</del><ins>+LLVM_LIBS_iphoneos = -lLLVMLinker -lLLVMipo -lLLVMVectorize -lLLVMBitWriter -lLLVMTableGen -lLLVMInstrumentation -lLLVMIRReader -lLLVMBitReader -lLLVMAsmParser -lLLVMARM64Disassembler -lLLVMARM64CodeGen -lLLVMARM64AsmParser -lLLVMARM64Desc -lLLVMARM64Info -lLLVMARM64AsmPrinter -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMMCParser -lLLVMDebugInfo -lLLVMOption -lLLVMInterpreter -lLLVMJIT -lLLVMCodeGen -lLLVMScalarOpts -lLLVMInstCombine -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lLLVMMCDisassembler -lLLVMMCJIT -lLLVMTarget -lLLVMRuntimeDyld -lLLVMExecutionEngine -lLLVMMC -lLLVMObject -lLLVMCore -lLLVMSupport -lprotobuf;
</ins><span class="cx"> LLVM_LIBS_macosx = -lLLVMTableGen -lLLVMDebugInfo -lLLVMOption -lLLVMX86Disassembler -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMX86Desc -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils -lLLVMIRReader -lLLVMAsmParser -lLLVMMCDisassembler -lLLVMMCParser -lLLVMInstrumentation -lLLVMBitReader -lLLVMInterpreter -lLLVMipo -lLLVMVectorize -lLLVMLinker -lLLVMBitWriter -lLLVMMCJIT -lLLVMJIT -lLLVMCodeGen -lLLVMObjCARCOpts -lLLVMScalarOpts -lLLVMInstCombine -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lLLVMRuntimeDyld -lLLVMExecutionEngine -lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore -lLLVMSupport;
</span><span class="cx"> 
</span><ins>+LIBRARY_SEARCH_PATHS = ${BUILT_PRODUCTS_DIR} &quot;${BUILT_PRODUCTS_DIR}/usr/local/LLVMForJavaScriptCore/lib&quot; /usr/local/LLVMForJavaScriptCore/lib $(LIBRARY_SEARCH_PATHS)
+
</ins><span class="cx"> OTHER_LDFLAGS_LLVM = $(OTHER_LDFLAGS_LLVM_$(ENABLE_FTL_JIT));
</span><span class="cx"> OTHER_LDFLAGS_LLVM_ = ;
</span><del>-OTHER_LDFLAGS_LLVM_ENABLE_FTL_JIT = -lpthread -lm -L/usr/local/LLVMForJavaScriptCore/lib $(LLVM_LIBS_$(PLATFORM_NAME));
</del><ins>+OTHER_LDFLAGS_LLVM_ENABLE_FTL_JIT = -lpthread -lm $(LLVM_LIBS_$(PLATFORM_NAME));
</ins><span class="cx"> 
</span><span class="cx"> OTHER_LDFLAGS_BASE = -lobjc -Wl,-Y,3 $(OTHER_LDFLAGS_HIDE_SYMBOLS);
</span><span class="cx"> OTHER_LDFLAGS = $(inherited) $(OTHER_LDFLAGS_$(PLATFORM_NAME));
</span></span></pre></div>
<a id="tagsSafari538231SourceJavaScriptCoreftlFTLCompilecpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.23.1/Source/JavaScriptCore/ftl/FTLCompile.cpp (165818 => 165819)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.23.1/Source/JavaScriptCore/ftl/FTLCompile.cpp        2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/JavaScriptCore/ftl/FTLCompile.cpp        2014-03-18 18:02:45 UTC (rev 165819)
</span><span class="lines">@@ -500,6 +500,9 @@
</span><span class="cx">     
</span><span class="cx">         LLVMExecutionEngineRef engine;
</span><span class="cx">     
</span><ins>+        if (isARM64())
+            llvm-&gt;SetTarget(state.module, &quot;arm64-apple-ios&quot;);
+        
</ins><span class="cx">         if (llvm-&gt;CreateMCJITCompilerForModule(&amp;engine, state.module, &amp;options, sizeof(options), &amp;error)) {
</span><span class="cx">             dataLog(&quot;FATAL: Could not create LLVM execution engine: &quot;, error, &quot;\n&quot;);
</span><span class="cx">             CRASH();
</span></span></pre></div>
<a id="tagsSafari538231SourceJavaScriptCorellvmlibraryLLVMExportscpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.23.1/Source/JavaScriptCore/llvm/library/LLVMExports.cpp (165818 => 165819)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.23.1/Source/JavaScriptCore/llvm/library/LLVMExports.cpp        2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/JavaScriptCore/llvm/library/LLVMExports.cpp        2014-03-18 18:02:45 UTC (rev 165819)
</span><span class="lines">@@ -77,4 +77,10 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#else
+
+// Create a dummy initializeAndGetJSCLLVMAPI to placate the build system.
+extern &quot;C&quot; WTF_EXPORT_PRIVATE void initializeAndGetJSCLLVMAPI();
+extern &quot;C&quot; void initializeAndGetJSCLLVMAPI() { }
+
</ins><span class="cx"> #endif // HAVE(LLVM)
</span></span></pre></div>
<a id="tagsSafari538231SourceJavaScriptCoreruntimeOptionscpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.23.1/Source/JavaScriptCore/runtime/Options.cpp (165818 => 165819)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.23.1/Source/JavaScriptCore/runtime/Options.cpp        2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/JavaScriptCore/runtime/Options.cpp        2014-03-18 18:02:45 UTC (rev 165819)
</span><span class="lines">@@ -92,16 +92,13 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static unsigned computeNumberOfWorkerThreads(int maxNumberOfWorkerThreads)
</del><ins>+static unsigned computeNumberOfWorkerThreads(int maxNumberOfWorkerThreads, int minimum = 1)
</ins><span class="cx"> {
</span><span class="cx">     int cpusToUse = std::min(WTF::numberOfProcessorCores(), maxNumberOfWorkerThreads);
</span><span class="cx"> 
</span><span class="cx">     // Be paranoid, it is the OS we're dealing with, after all.
</span><span class="cx">     ASSERT(cpusToUse &gt;= 1);
</span><del>-    if (cpusToUse &lt; 1)
-        cpusToUse = 1;
-    
-    return cpusToUse;
</del><ins>+    return std::max(cpusToUse, minimum);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static unsigned computeNumberOfGCMarkers(unsigned maxNumberOfGCMarkers)
</span></span></pre></div>
<a id="tagsSafari538231SourceJavaScriptCoreruntimeOptionsh"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.23.1/Source/JavaScriptCore/runtime/Options.h (165818 => 165819)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.23.1/Source/JavaScriptCore/runtime/Options.h        2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/JavaScriptCore/runtime/Options.h        2014-03-18 18:02:45 UTC (rev 165819)
</span><span class="lines">@@ -158,8 +158,8 @@
</span><span class="cx">     v(bool, ftlCrashes, false) /* fool-proof way of checking that you ended up in the FTL. ;-) */\
</span><span class="cx">     \
</span><span class="cx">     v(bool, enableConcurrentJIT, true) \
</span><del>-    v(unsigned, numberOfDFGCompilerThreads, computeNumberOfWorkerThreads(2) - 1) \
-    v(unsigned, numberOfFTLCompilerThreads, computeNumberOfWorkerThreads(8) - 1) \
</del><ins>+    v(unsigned, numberOfDFGCompilerThreads, computeNumberOfWorkerThreads(2, 2) - 1) \
+    v(unsigned, numberOfFTLCompilerThreads, computeNumberOfWorkerThreads(8, 2) - 1) \
</ins><span class="cx">     \
</span><span class="cx">     v(bool, enableProfiler, false) \
</span><span class="cx">     \
</span></span></pre></div>
<a id="tagsSafari538231SourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.23.1/Source/WTF/ChangeLog (165818 => 165819)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.23.1/Source/WTF/ChangeLog        2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/WTF/ChangeLog        2014-03-18 18:02:45 UTC (rev 165819)
</span><span class="lines">@@ -1,3 +1,11 @@
</span><ins>+2014-03-18  Filip Pizlo  &lt;fpizlo@apple.com&gt;
+
+        More FTL enabling.
+
+        Rubber stamped by Dan Bernstein and Mark Hahnenberg.
+
+        * wtf/Platform.h:
+
</ins><span class="cx"> 2014-03-12  Ryuan Choi  &lt;ryuan.choi@samsung.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [EFL] Enable Parallel GC
</span></span></pre></div>
<a id="tagsSafari538231SourceWTFwtfPlatformh"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.23.1/Source/WTF/wtf/Platform.h (165818 => 165819)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.23.1/Source/WTF/wtf/Platform.h        2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/WTF/wtf/Platform.h        2014-03-18 18:02:45 UTC (rev 165819)
</span><span class="lines">@@ -666,6 +666,12 @@
</span><span class="cx"> #define ENABLE_FTL_JIT 0
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+/* The FTL is disabled on the iOS simulator, mostly for simplicity. */
+#if PLATFORM(IOS_SIMULATOR)
+#undef ENABLE_FTL_JIT
+#define ENABLE_FTL_JIT 0
+#endif
+
</ins><span class="cx"> /* If possible, try to enable the LLVM disassembler. This is optional and we can
</span><span class="cx">    fall back on UDis86 if necessary. */
</span><span class="cx"> #if !defined(WTF_USE_LLVM_DISASSEMBLER) &amp;&amp; HAVE(LLVM) &amp;&amp; (CPU(X86_64) || CPU(X86) || CPU(ARM64))
</span></span></pre></div>
<a id="tagsSafari538231SourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.23.1/Source/WebCore/ChangeLog (165818 => 165819)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.23.1/Source/WebCore/ChangeLog        2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/WebCore/ChangeLog        2014-03-18 18:02:45 UTC (rev 165819)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2014-03-17  Filip Pizlo  &lt;fpizlo@apple.com&gt;
+
+        More FTL enabling.
+
+        Reviewed by Dan Bernstein.
+
+        No new tests because this already has ample test coverage in JSC.
+
+        * Configurations/FeatureDefines.xcconfig:
+
</ins><span class="cx"> 2014-03-13  Lucas Forschler  &lt;lforschler@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Merge r165577
</span></span></pre></div>
<a id="tagsSafari538231SourceWebCoreConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.23.1/Source/WebCore/Configurations/FeatureDefines.xcconfig (165818 => 165819)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.23.1/Source/WebCore/Configurations/FeatureDefines.xcconfig        2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/WebCore/Configurations/FeatureDefines.xcconfig        2014-03-18 18:02:45 UTC (rev 165819)
</span><span class="lines">@@ -219,6 +219,8 @@
</span><span class="cx"> ENABLE_FTL_JIT_macosx_1080 = ;
</span><span class="cx"> ENABLE_FTL_JIT_macosx_1090 = ;
</span><span class="cx"> ENABLE_FTL_JIT_macosx_101000 = ENABLE_FTL_JIT;
</span><ins>+ENABLE_FTL_JIT_iphoneos = ENABLE_FTL_JIT;
+ENABLE_FTL_JIT_iphonesimulator = ;
</ins><span class="cx"> 
</span><span class="cx"> ENABLE_LLINT_C_LOOP = ;
</span><span class="cx"> 
</span></span></pre></div>
<a id="tagsSafari538231SourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.23.1/Source/WebKit/mac/ChangeLog (165818 => 165819)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.23.1/Source/WebKit/mac/ChangeLog        2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/WebKit/mac/ChangeLog        2014-03-18 18:02:45 UTC (rev 165819)
</span><span class="lines">@@ -1,3 +1,11 @@
</span><ins>+2014-03-17  Filip Pizlo  &lt;fpizlo@apple.com&gt;
+
+        More FTL enabling.
+
+        Reviewed by Dan Bernstein.
+
+        * Configurations/FeatureDefines.xcconfig:
+
</ins><span class="cx"> 2014-03-12  Dean Jackson  &lt;dino@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [WebGL] WebKit1 + WebKit2 iOS clients should check load policy
</span></span></pre></div>
<a id="tagsSafari538231SourceWebKitmacConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.23.1/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig (165818 => 165819)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.23.1/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig        2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig        2014-03-18 18:02:45 UTC (rev 165819)
</span><span class="lines">@@ -219,6 +219,8 @@
</span><span class="cx"> ENABLE_FTL_JIT_macosx_1080 = ;
</span><span class="cx"> ENABLE_FTL_JIT_macosx_1090 = ;
</span><span class="cx"> ENABLE_FTL_JIT_macosx_101000 = ENABLE_FTL_JIT;
</span><ins>+ENABLE_FTL_JIT_iphoneos = ENABLE_FTL_JIT;
+ENABLE_FTL_JIT_iphonesimulator = ;
</ins><span class="cx"> 
</span><span class="cx"> ENABLE_LLINT_C_LOOP = ;
</span><span class="cx"> 
</span></span></pre></div>
<a id="tagsSafari538231SourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.23.1/Source/WebKit2/ChangeLog (165818 => 165819)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.23.1/Source/WebKit2/ChangeLog        2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/WebKit2/ChangeLog        2014-03-18 18:02:45 UTC (rev 165819)
</span><span class="lines">@@ -1,3 +1,11 @@
</span><ins>+2014-03-17  Filip Pizlo  &lt;fpizlo@apple.com&gt;
+
+        More FTL enabling.
+
+        Reviewed by Dan Bernstein.
+
+        * Configurations/FeatureDefines.xcconfig:
+
</ins><span class="cx"> 2014-03-13  Lucas Forschler  &lt;lforschler@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Merge r165577
</span></span></pre></div>
<a id="tagsSafari538231SourceWebKit2ConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.23.1/Source/WebKit2/Configurations/FeatureDefines.xcconfig (165818 => 165819)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.23.1/Source/WebKit2/Configurations/FeatureDefines.xcconfig        2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/WebKit2/Configurations/FeatureDefines.xcconfig        2014-03-18 18:02:45 UTC (rev 165819)
</span><span class="lines">@@ -219,6 +219,8 @@
</span><span class="cx"> ENABLE_FTL_JIT_macosx_1080 = ;
</span><span class="cx"> ENABLE_FTL_JIT_macosx_1090 = ;
</span><span class="cx"> ENABLE_FTL_JIT_macosx_101000 = ENABLE_FTL_JIT;
</span><ins>+ENABLE_FTL_JIT_iphoneos = ENABLE_FTL_JIT;
+ENABLE_FTL_JIT_iphonesimulator = ;
</ins><span class="cx"> 
</span><span class="cx"> ENABLE_LLINT_C_LOOP = ;
</span><span class="cx"> 
</span></span></pre></div>
<a id="tagsSafari538231ToolsChangeLog"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.23.1/Tools/ChangeLog (165818 => 165819)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.23.1/Tools/ChangeLog        2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Tools/ChangeLog        2014-03-18 18:02:45 UTC (rev 165819)
</span><span class="lines">@@ -1,3 +1,25 @@
</span><ins>+2014-03-17  Filip Pizlo  &lt;fpizlo@apple.com&gt;
+
+        More FTL enabling.
+
+        Rubber stamped by Dan Bernstein.
+
+        * Tools/Scripts/build-webkit:
+
+2014-03-17  Filip Pizlo  &lt;fpizlo@apple.com&gt;
+
+        Merge r165658.
+
+    2014-03-14  Filip Pizlo  &lt;fpizlo@apple.com&gt;
+    
+            Sometimes we need to be explicit about the SDK when running ranlib on Darwin
+            https://bugs.webkit.org/show_bug.cgi?id=130265
+    
+            Reviewed by Michael Saboff.
+    
+            * Scripts/build-webkit:
+            * Scripts/copy-webkitlibraries-to-product-directory:
+    
</ins><span class="cx"> 2014-03-12  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Unreviewed. Fix GTK+ cmake build after r165488.
</span></span></pre></div>
<a id="tagsSafari538231ToolsScriptsbuildwebkit"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.23.1/Tools/Scripts/build-webkit (165818 => 165819)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.23.1/Tools/Scripts/build-webkit        2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Tools/Scripts/build-webkit        2014-03-18 18:02:45 UTC (rev 165819)
</span><span class="lines">@@ -229,15 +229,13 @@
</span><span class="cx">     } else {
</span><span class="cx">         push @projects, (&quot;Source/WebKit2&quot;);
</span><span class="cx">         
</span><del>-        if ($hasFTLJIT) {
-            my @copyLibrariesArgs = (
-                &quot;perl&quot;, &quot;Tools/Scripts/copy-webkitlibraries-to-product-directory&quot;,
-                &quot;--llvm&quot;, &quot;--prefer-system-llvm&quot;, &quot;--llvm-subdirectory&quot;, &quot;internal-llvm&quot;,
-                productDir()
-            );
-            print(join(&quot; &quot;, @copyLibrariesArgs) . &quot;\n&quot;);
-            (system(@copyLibrariesArgs) == 0) or die;
-        }
</del><ins>+        my @copyLibrariesArgs = (
+            &quot;perl&quot;, &quot;Tools/Scripts/copy-webkitlibraries-to-product-directory&quot;,
+            &quot;--sdk&quot;, xcodeSDK(), &quot;--llvm&quot;, &quot;--prefer-system-llvm&quot;,
+            &quot;--llvm-subdirectory&quot;, &quot;internal-llvm&quot;, productDir()
+        );
+        print(join(&quot; &quot;, @copyLibrariesArgs) . &quot;\n&quot;);
+        (system(@copyLibrariesArgs) == 0) or die;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     # Build Tools needed for Apple ports
</span></span></pre></div>
<a id="tagsSafari538231ToolsScriptscopywebkitlibrariestoproductdirectory"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.23.1/Tools/Scripts/copy-webkitlibraries-to-product-directory (165818 => 165819)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.23.1/Tools/Scripts/copy-webkitlibraries-to-product-directory        2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Tools/Scripts/copy-webkitlibraries-to-product-directory        2014-03-18 18:02:45 UTC (rev 165819)
</span><span class="lines">@@ -38,6 +38,7 @@
</span><span class="cx"> my $useFullLibPaths = 0;
</span><span class="cx"> my $preferSystemLLVMOverDrops = 0;
</span><span class="cx"> my $llvmSubdirectoryName = &quot;llvm&quot;;
</span><ins>+my $sdkName = &quot;&quot;;
</ins><span class="cx"> my $force = 0;
</span><span class="cx"> 
</span><span class="cx"> my $programName = basename($0);
</span><span class="lines">@@ -51,6 +52,7 @@
</span><span class="cx">   --[no-]use-full-lib-paths     Toggle using full library paths
</span><span class="cx">   --[no-]prefer-system-llvm     Toggle preferring the system LLVM over the binary drops (default: $preferSystemLLVMOverDrops)
</span><span class="cx">   --llvm-subdirectory=&lt;name&gt;    Set the name of the LLVM subdirectory to search for (default: $llvmSubdirectoryName)
</span><ins>+  --sdk-name=&lt;name&gt;             Set the name of the Xcode SDK to use.
</ins><span class="cx">   --[no-]force                  Toggle forcing the copy - i.e. ignoring timestamps (default: $force)
</span><span class="cx"> EOF
</span><span class="cx"> 
</span><span class="lines">@@ -63,6 +65,7 @@
</span><span class="cx">     'use-full-lib-paths!' =&gt; \$useFullLibPaths,
</span><span class="cx">     'prefer-system-llvm!' =&gt; \$preferSystemLLVMOverDrops,
</span><span class="cx">     'llvm-subdirectory=s' =&gt; \$llvmSubdirectoryName,
</span><ins>+    'sdk-name=s' =&gt; \$sdkName,
</ins><span class="cx">     'force!' =&gt; \$force
</span><span class="cx"> );
</span><span class="cx"> 
</span><span class="lines">@@ -80,7 +83,11 @@
</span><span class="cx"> 
</span><span class="cx"> chdirWebKit();
</span><span class="cx"> 
</span><del>-my $ranlib = `xcrun -find ranlib`;
</del><ins>+my $xcrunOptions = &quot;&quot;;
+if ($sdkName ne &quot;&quot;) {
+    $xcrunOptions .= &quot; -sdk $sdkName&quot;;
+}
+my $ranlib = `xcrun $xcrunOptions -find ranlib`;
</ins><span class="cx"> chomp $ranlib;
</span><span class="cx"> 
</span><span class="cx"> sub unpackIfNecessary
</span></span></pre>
</div>
</div>

</body>
</html>