<!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>[166910] trunk</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/166910">166910</a></dd>
<dt>Author</dt> <dd>ggaren@apple.com</dd>
<dt>Date</dt> <dd>2014-04-07 22:31:41 -0700 (Mon, 07 Apr 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Build bmalloc on Mac
https://bugs.webkit.org/show_bug.cgi?id=131333

Reviewed by Mark Rowe.

.: 

* Source/Makefile:
* WebKitBuild: Added.
* WebKitBuild/Debug: Added.

Source/bmalloc: 

* Makefile: Added. For make clients.

These files are required for building any project in WebKit. I copied
them from WTF:
* Configurations: Added.
* Configurations/Base.xcconfig: Added.
* Configurations/DebugRelease.xcconfig: Added.
* Configurations/bmalloc.xcconfig: Added.
* Configurations/iOS.xcconfig: Added.
* Configurations/mbmalloc.xcconfig: Added.

* bmalloc.xcodeproj/project.pbxproj: I removed per-project-file stuff
from here because everything is in .xcconfig files now.

I had to fix a bunch of minor warnings, since they're enabled in our
.xcconfig files:

* bmalloc/AsyncTask.h:
(bmalloc::Function&gt;::AsyncTask):
* bmalloc/BAssert.h:
* bmalloc/BoundaryTagInlines.h:
(bmalloc::validate):
* bmalloc/Heap.cpp:
(bmalloc::Heap::Heap):
(bmalloc::Heap::allocateLarge):
(bmalloc::Heap::deallocateLarge):
* bmalloc/Mutex.h:
(bmalloc::Mutex::Mutex): Deleted.
* bmalloc/VMAllocate.h:
(bmalloc::vmValidate):
* bmalloc/mbmalloc.cpp:

Tools: 

* Scripts/build-webkit: Add the bmalloc target if we're on Mac.
(Note: Just testing Mac is not good enough because in this
script 'Mac' means 'Mac or iOS'.)</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkChangeLog">trunk/ChangeLog</a></li>
<li><a href="#trunkSourceMakefile">trunk/Source/Makefile</a></li>
<li><a href="#trunkSourcebmallocChangeLog">trunk/Source/bmalloc/ChangeLog</a></li>
<li><a href="#trunkSourcebmallocbmallocAsyncTaskh">trunk/Source/bmalloc/bmalloc/AsyncTask.h</a></li>
<li><a href="#trunkSourcebmallocbmallocBAsserth">trunk/Source/bmalloc/bmalloc/BAssert.h</a></li>
<li><a href="#trunkSourcebmallocbmallocBoundaryTagInlinesh">trunk/Source/bmalloc/bmalloc/BoundaryTagInlines.h</a></li>
<li><a href="#trunkSourcebmallocbmallocHeapcpp">trunk/Source/bmalloc/bmalloc/Heap.cpp</a></li>
<li><a href="#trunkSourcebmallocbmallocMutexh">trunk/Source/bmalloc/bmalloc/Mutex.h</a></li>
<li><a href="#trunkSourcebmallocbmallocSegregatedFreeListcpp">trunk/Source/bmalloc/bmalloc/SegregatedFreeList.cpp</a></li>
<li><a href="#trunkSourcebmallocbmallocVMAllocateh">trunk/Source/bmalloc/bmalloc/VMAllocate.h</a></li>
<li><a href="#trunkSourcebmallocbmallocmbmalloccpp">trunk/Source/bmalloc/bmalloc/mbmalloc.cpp</a></li>
<li><a href="#trunkSourcebmallocbmallocxcodeprojprojectpbxproj">trunk/Source/bmalloc/bmalloc.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsScriptsbuildwebkit">trunk/Tools/Scripts/build-webkit</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>trunk/Source/bmalloc/Configurations/</li>
<li><a href="#trunkSourcebmallocConfigurationsBasexcconfig">trunk/Source/bmalloc/Configurations/Base.xcconfig</a></li>
<li><a href="#trunkSourcebmallocConfigurationsDebugReleasexcconfig">trunk/Source/bmalloc/Configurations/DebugRelease.xcconfig</a></li>
<li><a href="#trunkSourcebmallocConfigurationsbmallocxcconfig">trunk/Source/bmalloc/Configurations/bmalloc.xcconfig</a></li>
<li><a href="#trunkSourcebmallocConfigurationsiOSxcconfig">trunk/Source/bmalloc/Configurations/iOS.xcconfig</a></li>
<li><a href="#trunkSourcebmallocConfigurationsmbmallocxcconfig">trunk/Source/bmalloc/Configurations/mbmalloc.xcconfig</a></li>
<li><a href="#trunkSourcebmallocMakefile">trunk/Source/bmalloc/Makefile</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/ChangeLog (166909 => 166910)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/ChangeLog        2014-04-08 04:47:05 UTC (rev 166909)
+++ trunk/ChangeLog        2014-04-08 05:31:41 UTC (rev 166910)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2014-04-07  Geoffrey Garen  &lt;ggaren@apple.com&gt;
+
+        Build bmalloc on Mac
+        https://bugs.webkit.org/show_bug.cgi?id=131333
+
+        Reviewed by Mark Rowe.
+
+        * Source/Makefile:
+        * WebKitBuild: Added.
+        * WebKitBuild/Debug: Added.
+
</ins><span class="cx"> 2014-04-07  Ryuan Choi  &lt;ryuan.choi@samsung.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [EFL] Turn on ENABLE_MEDIA_CONTROLS_SCRIPT
</span></span></pre></div>
<a id="trunkSourceMakefile"></a>
<div class="modfile"><h4>Modified: trunk/Source/Makefile (166909 => 166910)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/Makefile        2014-04-08 04:47:05 UTC (rev 166909)
+++ trunk/Source/Makefile        2014-04-08 05:31:41 UTC (rev 166910)
</span><span class="lines">@@ -1,4 +1,4 @@
</span><del>-MODULES = WTF JavaScriptCore ThirdParty/ANGLE WebCore WebInspectorUI WebKit2 WebKit
</del><ins>+MODULES = bmalloc WTF JavaScriptCore ThirdParty/ANGLE WebCore WebInspectorUI WebKit2 WebKit
</ins><span class="cx"> 
</span><span class="cx"> ifneq (,$(findstring iphoneos,$(SDKROOT)))
</span><span class="cx">         MODULES = WTF JavaScriptCore ThirdParty/ANGLE WebCore WebKit WebKit2
</span></span></pre></div>
<a id="trunkSourcebmallocChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/bmalloc/ChangeLog (166909 => 166910)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/bmalloc/ChangeLog        2014-04-08 04:47:05 UTC (rev 166909)
+++ trunk/Source/bmalloc/ChangeLog        2014-04-08 05:31:41 UTC (rev 166910)
</span><span class="lines">@@ -1,5 +1,44 @@
</span><span class="cx"> 2014-04-07  Geoffrey Garen  &lt;ggaren@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Build bmalloc on Mac
+        https://bugs.webkit.org/show_bug.cgi?id=131333
+
+        Reviewed by Mark Rowe.
+
+        * Makefile: Added. For make clients.
+
+        These files are required for building any project in WebKit. I copied
+        them from WTF:
+        * Configurations: Added.
+        * Configurations/Base.xcconfig: Added.
+        * Configurations/DebugRelease.xcconfig: Added.
+        * Configurations/bmalloc.xcconfig: Added.
+        * Configurations/iOS.xcconfig: Added.
+        * Configurations/mbmalloc.xcconfig: Added.
+
+        * bmalloc.xcodeproj/project.pbxproj: I removed per-project-file stuff
+        from here because everything is in .xcconfig files now.
+
+        I had to fix a bunch of minor warnings, since they're enabled in our
+        .xcconfig files:
+
+        * bmalloc/AsyncTask.h:
+        (bmalloc::Function&gt;::AsyncTask):
+        * bmalloc/BAssert.h:
+        * bmalloc/BoundaryTagInlines.h:
+        (bmalloc::validate):
+        * bmalloc/Heap.cpp:
+        (bmalloc::Heap::Heap):
+        (bmalloc::Heap::allocateLarge):
+        (bmalloc::Heap::deallocateLarge):
+        * bmalloc/Mutex.h:
+        (bmalloc::Mutex::Mutex): Deleted.
+        * bmalloc/VMAllocate.h:
+        (bmalloc::vmValidate):
+        * bmalloc/mbmalloc.cpp:
+
+2014-04-07  Geoffrey Garen  &lt;ggaren@apple.com&gt;
+
</ins><span class="cx">         bmalloc: Fixed a leak in the per-thread cache
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=131330
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourcebmallocConfigurationsBasexcconfig"></a>
<div class="addfile"><h4>Added: trunk/Source/bmalloc/Configurations/Base.xcconfig (0 => 166910)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/bmalloc/Configurations/Base.xcconfig                                (rev 0)
+++ trunk/Source/bmalloc/Configurations/Base.xcconfig        2014-04-08 05:31:41 UTC (rev 166910)
</span><span class="lines">@@ -0,0 +1,121 @@
</span><ins>+// Copyright (C) 2009, 2010, 2011, 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 INC. ``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 INC. OR
+// 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. 
+
+#include &quot;iOS.xcconfig&quot;
+#include &quot;../../../../Internal/Configurations/UseInternalSDK.xcconfig&quot;
+
+CLANG_CXX_LANGUAGE_STANDARD = gnu++0x;
+CLANG_CXX_LIBRARY = libc++;
+CLANG_WARN_BOOL_CONVERSION = YES;
+CLANG_WARN_CONSTANT_CONVERSION = YES;
+CLANG_WARN_CXX0X_EXTENSIONS = NO;
+CLANG_WARN_EMPTY_BODY = YES;
+CLANG_WARN_ENUM_CONVERSION = YES;
+CLANG_WARN_INT_CONVERSION = YES;
+CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+DEBUG_INFORMATION_FORMAT = dwarf-with-dsym;
+GCC_C_LANGUAGE_STANDARD = gnu99;
+GCC_DEBUGGING_SYMBOLS = default;
+GCC_DYNAMIC_NO_PIC = NO;
+GCC_ENABLE_CPP_EXCEPTIONS = NO;
+GCC_ENABLE_CPP_RTTI = NO;
+GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+GCC_ENABLE_OBJC_GC = $(GCC_ENABLE_OBJC_GC_$(PLATFORM_NAME));
+GCC_ENABLE_OBJC_GC_iphoneos = NO;
+GCC_ENABLE_OBJC_GC_iphonesimulator = NO;
+GCC_ENABLE_OBJC_GC_macosx = $(GCC_ENABLE_OBJC_GC_macosx_$(CONFIGURATION));
+GCC_ENABLE_OBJC_GC_macosx_Production = supported;
+GCC_ENABLE_OBJC_GC_macosx_Debug = $(GCC_ENABLE_OBJC_GC_macosx_Debug_or_Release);
+GCC_ENABLE_OBJC_GC_macosx_Release = $(GCC_ENABLE_OBJC_GC_macosx_Debug_or_Release);
+GCC_ENABLE_OBJC_GC_macosx_Debug_or_Release = $(GCC_ENABLE_OBJC_GC_macosx_Debug_or_Release_$(USE_INTERNAL_SDK));
+GCC_ENABLE_OBJC_GC_macosx_Debug_or_Release_ = NO;
+GCC_ENABLE_OBJC_GC_macosx_Debug_or_Release_YES = supported;
+GCC_ENABLE_SYMBOL_SEPARATION = NO;
+GCC_FAST_OBJC_DISPATCH = YES;
+GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
+GCC_MODEL_TUNING = $(GCC_MODEL_TUNING_$(PLATFORM_NAME));
+GCC_MODEL_TUNING_macosx = G5;
+GCC_OBJC_CALL_CXX_CDTORS = YES;
+GCC_PRECOMPILE_PREFIX_HEADER = YES;
+GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES) WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST HAVE_HEADER_DETECTION_H $(GCC_PREPROCESSOR_DEFINITIONS);
+GCC_STRICT_ALIASING = YES;
+GCC_THREADSAFE_STATICS = NO;
+GCC_TREAT_WARNINGS_AS_ERRORS = YES;
+GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+// FIXME: &lt;http://webkit.org/b/107093&gt; WTF should build with -Wshorten-64-to-32
+GCC_WARN_64_TO_32_BIT_CONVERSION = $(GCC_WARN_64_TO_32_BIT_CONVERSION_$(CURRENT_ARCH));
+GCC_WARN_64_TO_32_BIT_CONVERSION_ = YES;
+GCC_WARN_64_TO_32_BIT_CONVERSION_armv7 = YES;
+GCC_WARN_64_TO_32_BIT_CONVERSION_armv7k = YES;
+GCC_WARN_64_TO_32_BIT_CONVERSION_armv7s = YES;
+GCC_WARN_64_TO_32_BIT_CONVERSION_arm64 = NO;
+GCC_WARN_64_TO_32_BIT_CONVERSION_i386 = YES;
+GCC_WARN_64_TO_32_BIT_CONVERSION_x86_64 = NO;
+GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
+GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
+GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
+GCC_WARN_ABOUT_RETURN_TYPE = YES;
+GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
+GCC_WARN_SIGN_COMPARE = YES;
+GCC_WARN_UNDECLARED_SELECTOR = YES;
+GCC_WARN_UNINITIALIZED_AUTOS = YES;
+GCC_WARN_UNUSED_FUNCTION = YES;
+GCC_WARN_UNUSED_VARIABLE = YES;
+LINKER_DISPLAYS_MANGLED_NAMES = YES;
+PREBINDING = NO;
+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;
+
+TARGET_MAC_OS_X_VERSION_MAJOR = $(MAC_OS_X_VERSION_MAJOR);
+
+SUPPORTED_PLATFORMS = iphoneos iphonesimulator macosx;
+
+// DEBUG_DEFINES, GCC_OPTIMIZATION_LEVEL, STRIP_INSTALLED_PRODUCT and DEAD_CODE_STRIPPING vary between the debug and normal variants.
+// We set up the values for each variant here, and have the Debug configuration in the Xcode project use the _debug variant.
+DEBUG_DEFINES_debug = ;
+DEBUG_DEFINES_normal = NDEBUG;
+DEBUG_DEFINES = $(DEBUG_DEFINES_$(CURRENT_VARIANT));
+
+GCC_OPTIMIZATION_LEVEL = $(GCC_OPTIMIZATION_LEVEL_$(CURRENT_VARIANT));
+GCC_OPTIMIZATION_LEVEL_normal = 3;
+GCC_OPTIMIZATION_LEVEL_debug = 0;
+
+STRIP_INSTALLED_PRODUCT = $(STRIP_INSTALLED_PRODUCT_$(CURRENT_VARIANT));
+STRIP_INSTALLED_PRODUCT_normal = YES;
+STRIP_INSTALLED_PRODUCT_debug = NO;
+
+DEAD_CODE_STRIPPING_debug = NO;
+DEAD_CODE_STRIPPING_normal = YES;
+DEAD_CODE_STRIPPING = $(DEAD_CODE_STRIPPING_$(CURRENT_VARIANT));
+
+INSTALL_PATH = $(INSTALL_PATH_PREFIX)$(INSTALL_PATH_ACTUAL);
+
+SDKROOT = macosx.internal;
+
+TOOLCHAINS = $(TOOLCHAINS_$(PLATFORM_NAME));
+TOOLCHAINS_iphoneos = $(TOOLCHAINS);
+TOOLCHAINS_iphonesimulator = $(TOOLCHAINS);
+TOOLCHAINS_macosx = $(TOOLCHAINS_macosx_$(MAC_OS_X_VERSION_MAJOR));
+TOOLCHAINS_macosx_1080 = default;
+TOOLCHAINS_macosx_1090 = $(TOOLCHAINS);
+TOOLCHAINS_macosx_101000 = $(TOOLCHAINS_macosx_1090);
</ins></span></pre></div>
<a id="trunkSourcebmallocConfigurationsDebugReleasexcconfig"></a>
<div class="addfile"><h4>Added: trunk/Source/bmalloc/Configurations/DebugRelease.xcconfig (0 => 166910)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/bmalloc/Configurations/DebugRelease.xcconfig                                (rev 0)
+++ trunk/Source/bmalloc/Configurations/DebugRelease.xcconfig        2014-04-08 05:31:41 UTC (rev 166910)
</span><span class="lines">@@ -0,0 +1,47 @@
</span><ins>+// Copyright (C) 2009, 2010, 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 INC. ``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 INC. OR
+// 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. 
+
+#include &quot;Base.xcconfig&quot;
+
+ARCHS = $(ARCHS_STANDARD_32_64_BIT);
+ONLY_ACTIVE_ARCH = YES;
+
+MACOSX_DEPLOYMENT_TARGET = $(MACOSX_DEPLOYMENT_TARGET_$(PLATFORM_NAME));
+MACOSX_DEPLOYMENT_TARGET_iphoneos = 10.5;
+MACOSX_DEPLOYMENT_TARGET_iphonesimulator = 10.5;
+MACOSX_DEPLOYMENT_TARGET_macosx = $(MACOSX_DEPLOYMENT_TARGET_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+MACOSX_DEPLOYMENT_TARGET_macosx_1080 = 10.8;
+MACOSX_DEPLOYMENT_TARGET_macosx_1090 = 10.9;
+MACOSX_DEPLOYMENT_TARGET_macosx_101000 = 10.10;
+
+GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
+DEBUG_INFORMATION_FORMAT = dwarf;
+OTHER_CFLAGS = $(ASAN_OTHER_CFLAGS);
+OTHER_CPLUSPLUSFLAGS = $(ASAN_OTHER_CPLUSPLUSFLAGS);
+
+SDKROOT = $(SDKROOT_$(PLATFORM_NAME));
+SDKROOT_iphoneos = $(SDKROOT);
+SDKROOT_iphonesimulator = $(SDKROOT);
+SDKROOT_macosx = $(SDKROOT_macosx_$(USE_INTERNAL_SDK));
+SDKROOT_macosx_ = macosx;
+SDKROOT_macosx_YES = macosx.internal;
</ins></span></pre></div>
<a id="trunkSourcebmallocConfigurationsbmallocxcconfig"></a>
<div class="addfile"><h4>Added: trunk/Source/bmalloc/Configurations/bmalloc.xcconfig (0 => 166910)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/bmalloc/Configurations/bmalloc.xcconfig                                (rev 0)
+++ trunk/Source/bmalloc/Configurations/bmalloc.xcconfig        2014-04-08 05:31:41 UTC (rev 166910)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// Copyright (C) 2014 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 INC. ``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 INC. OR
+// 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. 
+
+EXECUTABLE_PREFIX = lib;
+INSTALL_PATH_ACTUAL = /usr/local/lib;
+PRODUCT_NAME = bmalloc;
+
+GCC_SYMBOLS_PRIVATE_EXTERN = YES;
</ins></span></pre></div>
<a id="trunkSourcebmallocConfigurationsiOSxcconfig"></a>
<div class="addfile"><h4>Added: trunk/Source/bmalloc/Configurations/iOS.xcconfig (0 => 166910)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/bmalloc/Configurations/iOS.xcconfig                                (rev 0)
+++ trunk/Source/bmalloc/Configurations/iOS.xcconfig        2014-04-08 05:31:41 UTC (rev 166910)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+#include &quot;&lt;DEVELOPER_DIR&gt;/AppleInternal/XcodeConfig/AspenFamily.xcconfig&quot;
</ins></span></pre></div>
<a id="trunkSourcebmallocConfigurationsmbmallocxcconfig"></a>
<div class="addfile"><h4>Added: trunk/Source/bmalloc/Configurations/mbmalloc.xcconfig (0 => 166910)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/bmalloc/Configurations/mbmalloc.xcconfig                                (rev 0)
+++ trunk/Source/bmalloc/Configurations/mbmalloc.xcconfig        2014-04-08 05:31:41 UTC (rev 166910)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// Copyright (C) 2014 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 INC. ``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 INC. OR
+// 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. 
+
+EXECUTABLE_PREFIX = lib;
+INSTALL_PATH_ACTUAL = /usr/local/lib;
+PRODUCT_NAME = mbmalloc;
+
+GCC_SYMBOLS_PRIVATE_EXTERN = YES;
</ins></span></pre></div>
<a id="trunkSourcebmallocMakefile"></a>
<div class="addfile"><h4>Added: trunk/Source/bmalloc/Makefile (0 => 166910)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/bmalloc/Makefile                                (rev 0)
+++ trunk/Source/bmalloc/Makefile        2014-04-08 05:31:41 UTC (rev 166910)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+include ../Makefile.shared
</ins></span></pre></div>
<a id="trunkSourcebmallocbmallocAsyncTaskh"></a>
<div class="modfile"><h4>Modified: trunk/Source/bmalloc/bmalloc/AsyncTask.h (166909 => 166910)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/bmalloc/bmalloc/AsyncTask.h        2014-04-08 04:47:05 UTC (rev 166909)
+++ trunk/Source/bmalloc/bmalloc/AsyncTask.h        2014-04-08 05:31:41 UTC (rev 166910)
</span><span class="lines">@@ -68,8 +68,8 @@
</span><span class="cx"> template&lt;typename Object, typename Function&gt;
</span><span class="cx"> AsyncTask&lt;Object, Function&gt;::AsyncTask(Object&amp; object, const Function&amp; function)
</span><span class="cx">     : m_state(Exited)
</span><ins>+    , m_condition()
</ins><span class="cx">     , m_thread()
</span><del>-    , m_condition()
</del><span class="cx">     , m_object(object)
</span><span class="cx">     , m_function(function)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourcebmallocbmallocBAsserth"></a>
<div class="modfile"><h4>Modified: trunk/Source/bmalloc/bmalloc/BAssert.h (166909 => 166910)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/bmalloc/bmalloc/BAssert.h        2014-04-08 04:47:05 UTC (rev 166909)
+++ trunk/Source/bmalloc/bmalloc/BAssert.h        2014-04-08 05:31:41 UTC (rev 166910)
</span><span class="lines">@@ -33,6 +33,8 @@
</span><span class="cx"> 
</span><span class="cx"> #define RELEASE_ASSERT(x) ASSERT_IMPL(x)
</span><span class="cx"> 
</span><ins>+#define UNUSED(x) (void)x
+
</ins><span class="cx"> // ===== Release build =====
</span><span class="cx"> 
</span><span class="cx"> #if defined(NDEBUG)
</span></span></pre></div>
<a id="trunkSourcebmallocbmallocBoundaryTagInlinesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/bmalloc/bmalloc/BoundaryTagInlines.h (166909 => 166910)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/bmalloc/bmalloc/BoundaryTagInlines.h        2014-04-08 04:47:05 UTC (rev 166909)
+++ trunk/Source/bmalloc/bmalloc/BoundaryTagInlines.h        2014-04-08 05:31:41 UTC (rev 166910)
</span><span class="lines">@@ -36,6 +36,7 @@
</span><span class="cx"> 
</span><span class="cx"> static inline void validate(const Range&amp; range)
</span><span class="cx"> {
</span><ins>+    UNUSED(range);
</ins><span class="cx"> IF_DEBUG(
</span><span class="cx">     BeginTag* beginTag = LargeChunk::beginTag(range.begin());
</span><span class="cx">     EndTag* endTag = LargeChunk::endTag(range.begin(), range.size());
</span></span></pre></div>
<a id="trunkSourcebmallocbmallocHeapcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/bmalloc/bmalloc/Heap.cpp (166909 => 166910)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/bmalloc/bmalloc/Heap.cpp        2014-04-08 04:47:05 UTC (rev 166909)
+++ trunk/Source/bmalloc/bmalloc/Heap.cpp        2014-04-08 05:31:41 UTC (rev 166910)
</span><span class="lines">@@ -44,8 +44,8 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Heap::Heap(std::lock_guard&lt;Mutex&gt;&amp;)
</span><del>-    : m_scavenger(*this, &amp;Heap::concurrentScavenge)
-    , m_isAllocatingPages(false)
</del><ins>+    : m_isAllocatingPages(false)
+    , m_scavenger(*this, &amp;Heap::concurrentScavenge)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -168,7 +168,7 @@
</span><span class="cx">     XLargeChunk::destroy(chunk);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void* Heap::allocateLarge(std::lock_guard&lt;Mutex&gt;&amp; lock, size_t size)
</del><ins>+void* Heap::allocateLarge(std::lock_guard&lt;Mutex&gt;&amp;, size_t size)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(size &lt;= largeMax);
</span><span class="cx">     ASSERT(size &gt;= largeMin);
</span><span class="lines">@@ -192,7 +192,7 @@
</span><span class="cx">     return range.begin();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Heap::deallocateLarge(std::lock_guard&lt;Mutex&gt;&amp; lock, void* object)
</del><ins>+void Heap::deallocateLarge(std::lock_guard&lt;Mutex&gt;&amp;, void* object)
</ins><span class="cx"> {
</span><span class="cx">     Range range = BoundaryTag::deallocate(object);
</span><span class="cx">     m_largeRanges.insert(range);
</span></span></pre></div>
<a id="trunkSourcebmallocbmallocMutexh"></a>
<div class="modfile"><h4>Modified: trunk/Source/bmalloc/bmalloc/Mutex.h (166909 => 166910)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/bmalloc/bmalloc/Mutex.h        2014-04-08 04:47:05 UTC (rev 166909)
+++ trunk/Source/bmalloc/bmalloc/Mutex.h        2014-04-08 05:31:41 UTC (rev 166910)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> #ifndef Mutex_h
</span><span class="cx"> #define Mutex_h
</span><span class="cx"> 
</span><ins>+#include &quot;BAssert.h&quot;
</ins><span class="cx"> #include &lt;atomic&gt;
</span><span class="cx"> 
</span><span class="cx"> // A replacement for std::mutex that does not require an exit-time destructor.
</span><span class="lines">@@ -34,8 +35,6 @@
</span><span class="cx"> 
</span><span class="cx"> class Mutex {
</span><span class="cx"> public:
</span><del>-    Mutex();
-
</del><span class="cx">     void lock();
</span><span class="cx">     bool try_lock();
</span><span class="cx">     void unlock();
</span><span class="lines">@@ -46,11 +45,6 @@
</span><span class="cx">     std::atomic_flag m_flag;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-inline Mutex::Mutex()
-    : m_flag(ATOMIC_FLAG_INIT)
-{
-}
-
</del><span class="cx"> inline bool Mutex::try_lock()
</span><span class="cx"> {
</span><span class="cx">     return !m_flag.test_and_set(std::memory_order_acquire);
</span></span></pre></div>
<a id="trunkSourcebmallocbmallocSegregatedFreeListcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/bmalloc/bmalloc/SegregatedFreeList.cpp (166909 => 166910)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/bmalloc/bmalloc/SegregatedFreeList.cpp        2014-04-08 04:47:05 UTC (rev 166909)
+++ trunk/Source/bmalloc/bmalloc/SegregatedFreeList.cpp        2014-04-08 05:31:41 UTC (rev 166910)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> 
</span><span class="cx"> SegregatedFreeList::SegregatedFreeList()
</span><span class="cx"> {
</span><del>-    ASSERT(&amp;select(largeMax) - m_lists.begin() == m_lists.size() - 1);
</del><ins>+    ASSERT(static_cast&lt;size_t&gt;(&amp;select(largeMax) - m_lists.begin()) == m_lists.size() - 1);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void SegregatedFreeList::insert(const Range&amp; range)
</span></span></pre></div>
<a id="trunkSourcebmallocbmallocVMAllocateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/bmalloc/bmalloc/VMAllocate.h (166909 => 166910)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/bmalloc/bmalloc/VMAllocate.h        2014-04-08 04:47:05 UTC (rev 166909)
+++ trunk/Source/bmalloc/bmalloc/VMAllocate.h        2014-04-08 05:31:41 UTC (rev 166910)
</span><span class="lines">@@ -49,6 +49,7 @@
</span><span class="cx">     
</span><span class="cx"> inline void vmValidate(size_t vmSize)
</span><span class="cx"> {
</span><ins>+    UNUSED(vmSize);
</ins><span class="cx">     ASSERT(vmSize);
</span><span class="cx">     ASSERT(vmSize == bmalloc::vmSize(vmSize));
</span><span class="cx"> }
</span><span class="lines">@@ -59,6 +60,7 @@
</span><span class="cx">     
</span><span class="cx">     // We use getpagesize() here instead of vmPageSize because vmPageSize is
</span><span class="cx">     // allowed to be larger than the OS's true page size.
</span><ins>+    UNUSED(p);
</ins><span class="cx">     ASSERT(p);
</span><span class="cx">     ASSERT(p == mask(p, ~(getpagesize() - 1)));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourcebmallocbmallocmbmalloccpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/bmalloc/bmalloc/mbmalloc.cpp (166909 => 166910)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/bmalloc/bmalloc/mbmalloc.cpp        2014-04-08 04:47:05 UTC (rev 166909)
+++ trunk/Source/bmalloc/bmalloc/mbmalloc.cpp        2014-04-08 05:31:41 UTC (rev 166910)
</span><span class="lines">@@ -27,6 +27,10 @@
</span><span class="cx"> 
</span><span class="cx"> extern &quot;C&quot; {
</span><span class="cx"> 
</span><ins>+void* mbmalloc(size_t);
+void mbfree(void*, size_t);
+void* mbrealloc(void*, size_t, size_t);
+
</ins><span class="cx"> void* mbmalloc(size_t size)
</span><span class="cx"> {
</span><span class="cx">     return bmalloc::api::malloc(size);
</span></span></pre></div>
<a id="trunkSourcebmallocbmallocxcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/bmalloc/bmalloc.xcodeproj/project.pbxproj (166909 => 166910)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/bmalloc/bmalloc.xcodeproj/project.pbxproj        2014-04-08 04:47:05 UTC (rev 166909)
+++ trunk/Source/bmalloc/bmalloc.xcodeproj/project.pbxproj        2014-04-08 05:31:41 UTC (rev 166910)
</span><span class="lines">@@ -76,6 +76,11 @@
</span><span class="cx">                 147AAA9718CE5FB6002201E4 /* SmallTraits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SmallTraits.h; path = bmalloc/SmallTraits.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1485655E18A43AF900ED6942 /* BoundaryTag.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BoundaryTag.h; path = bmalloc/BoundaryTag.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1485656018A43DBA00ED6942 /* ObjectType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ObjectType.h; path = bmalloc/ObjectType.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                14B650C518F39F4800751968 /* Base.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Base.xcconfig; sourceTree = &quot;&lt;group&gt;&quot;; };
+                14B650C618F39F4800751968 /* bmalloc.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = bmalloc.xcconfig; sourceTree = &quot;&lt;group&gt;&quot;; };
+                14B650C718F39F4800751968 /* DebugRelease.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugRelease.xcconfig; sourceTree = &quot;&lt;group&gt;&quot;; };
+                14B650C818F39F4800751968 /* iOS.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = iOS.xcconfig; sourceTree = &quot;&lt;group&gt;&quot;; };
+                14B650C918F3A04200751968 /* mbmalloc.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = mbmalloc.xcconfig; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 14CC394418EA8743004AFE34 /* libmbmalloc.dylib */ = {isa = PBXFileReference; explicitFileType = &quot;compiled.mach-o.dylib&quot;; includeInIndex = 0; path = libmbmalloc.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
</span><span class="cx">                 14D9DB4517F2447100EAAB79 /* FixedVector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = FixedVector.h; path = bmalloc/FixedVector.h; sourceTree = &quot;&lt;group&gt;&quot;; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
</span><span class="cx">                 14DA32071885F9E6007269E0 /* Line.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = Line.h; path = bmalloc/Line.h; sourceTree = &quot;&lt;group&gt;&quot;; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
</span><span class="lines">@@ -121,6 +126,7 @@
</span><span class="cx">                                 147AAA9A18CE5FD3002201E4 /* heap: small | medium */,
</span><span class="cx">                                 14D9DB4E17F2866E00EAAB79 /* heap */,
</span><span class="cx">                                 14D9DB4F17F2868900EAAB79 /* stdlib */,
</span><ins>+                                14B650C418F39F4800751968 /* Configurations */,
</ins><span class="cx">                                 145F6840179DC45F00D65598 /* Products */,
</span><span class="cx">                         );
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="lines">@@ -167,6 +173,18 @@
</span><span class="cx">                         name = &quot;heap: large | xlarge&quot;;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="cx">                 };
</span><ins>+                14B650C418F39F4800751968 /* Configurations */ = {
+                        isa = PBXGroup;
+                        children = (
+                                14B650C518F39F4800751968 /* Base.xcconfig */,
+                                14B650C618F39F4800751968 /* bmalloc.xcconfig */,
+                                14B650C718F39F4800751968 /* DebugRelease.xcconfig */,
+                                14B650C818F39F4800751968 /* iOS.xcconfig */,
+                                14B650C918F3A04200751968 /* mbmalloc.xcconfig */,
+                        );
+                        path = Configurations;
+                        sourceTree = &quot;&lt;group&gt;&quot;;
+                };
</ins><span class="cx">                 14D9DB4D17F2865C00EAAB79 /* cache */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="lines">@@ -334,130 +352,70 @@
</span><span class="cx"> /* End PBXTargetDependency section */
</span><span class="cx"> 
</span><span class="cx"> /* Begin XCBuildConfiguration section */
</span><ins>+                14202F0F18F37C15006C37DB /* Production */ = {
+                        isa = XCBuildConfiguration;
+                        baseConfigurationReference = 14B650C518F39F4800751968 /* Base.xcconfig */;
+                        buildSettings = {
+                        };
+                        name = Production;
+                };
+                14202F1018F37C15006C37DB /* Production */ = {
+                        isa = XCBuildConfiguration;
+                        baseConfigurationReference = 14B650C618F39F4800751968 /* bmalloc.xcconfig */;
+                        buildSettings = {
+                        };
+                        name = Production;
+                };
+                14202F1118F37C15006C37DB /* Production */ = {
+                        isa = XCBuildConfiguration;
+                        baseConfigurationReference = 14B650C918F3A04200751968 /* mbmalloc.xcconfig */;
+                        buildSettings = {
+                        };
+                        name = Production;
+                };
</ins><span class="cx">                 145F684A179DC45F00D65598 /* Debug */ = {
</span><span class="cx">                         isa = XCBuildConfiguration;
</span><ins>+                        baseConfigurationReference = 14B650C718F39F4800751968 /* DebugRelease.xcconfig */;
</ins><span class="cx">                         buildSettings = {
</span><del>-                                ALWAYS_SEARCH_USER_PATHS = NO;
-                                CLANG_CXX_LANGUAGE_STANDARD = &quot;gnu++0x&quot;;
-                                CLANG_CXX_LIBRARY = &quot;libc++&quot;;
-                                CLANG_ENABLE_MODULES = YES;
-                                CLANG_ENABLE_OBJC_ARC = YES;
-                                CLANG_WARN_BOOL_CONVERSION = YES;
-                                CLANG_WARN_CONSTANT_CONVERSION = YES;
-                                CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
-                                CLANG_WARN_EMPTY_BODY = YES;
-                                CLANG_WARN_ENUM_CONVERSION = YES;
-                                CLANG_WARN_INT_CONVERSION = YES;
-                                CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
-                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                                COPY_PHASE_STRIP = NO;
-                                GCC_C_LANGUAGE_STANDARD = gnu99;
-                                GCC_DYNAMIC_NO_PIC = NO;
-                                GCC_ENABLE_CPP_EXCEPTIONS = NO;
-                                GCC_ENABLE_CPP_RTTI = NO;
-                                GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                                GCC_OPTIMIZATION_LEVEL = 0;
-                                GCC_PREPROCESSOR_DEFINITIONS = (
-                                        &quot;DEBUG=1&quot;,
-                                        &quot;$(inherited)&quot;,
-                                );
-                                GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                                GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                                GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
-                                GCC_WARN_UNDECLARED_SELECTOR = YES;
-                                GCC_WARN_UNINITIALIZED_AUTOS = YES;
-                                GCC_WARN_UNUSED_FUNCTION = YES;
-                                GCC_WARN_UNUSED_VARIABLE = YES;
-                                MACOSX_DEPLOYMENT_TARGET = 10.9;
-                                ONLY_ACTIVE_ARCH = YES;
-                                SDKROOT = macosx;
</del><ins>+                                DEAD_CODE_STRIPPING = &quot;$(DEAD_CODE_STRIPPING_debug)&quot;;
+                                DEBUG_DEFINES = &quot;$(DEBUG_DEFINES_debug)&quot;;
+                                GCC_OPTIMIZATION_LEVEL = &quot;$(GCC_OPTIMIZATION_LEVEL_debug)&quot;;
+                                STRIP_INSTALLED_PRODUCT = &quot;$(STRIP_INSTALLED_PRODUCT_debug)&quot;;
</ins><span class="cx">                         };
</span><span class="cx">                         name = Debug;
</span><span class="cx">                 };
</span><span class="cx">                 145F684B179DC45F00D65598 /* Release */ = {
</span><span class="cx">                         isa = XCBuildConfiguration;
</span><ins>+                        baseConfigurationReference = 14B650C718F39F4800751968 /* DebugRelease.xcconfig */;
</ins><span class="cx">                         buildSettings = {
</span><del>-                                ALWAYS_SEARCH_USER_PATHS = NO;
-                                CLANG_CXX_LANGUAGE_STANDARD = &quot;gnu++0x&quot;;
-                                CLANG_CXX_LIBRARY = &quot;libc++&quot;;
-                                CLANG_ENABLE_MODULES = YES;
-                                CLANG_ENABLE_OBJC_ARC = YES;
-                                CLANG_WARN_BOOL_CONVERSION = YES;
-                                CLANG_WARN_CONSTANT_CONVERSION = YES;
-                                CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
-                                CLANG_WARN_EMPTY_BODY = YES;
-                                CLANG_WARN_ENUM_CONVERSION = YES;
-                                CLANG_WARN_INT_CONVERSION = YES;
-                                CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
-                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                                COPY_PHASE_STRIP = YES;
-                                DEBUG_INFORMATION_FORMAT = &quot;dwarf-with-dsym&quot;;
-                                ENABLE_NS_ASSERTIONS = NO;
-                                GCC_C_LANGUAGE_STANDARD = gnu99;
-                                GCC_ENABLE_CPP_EXCEPTIONS = NO;
-                                GCC_ENABLE_CPP_RTTI = NO;
-                                GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                                GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                                GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
-                                GCC_WARN_UNDECLARED_SELECTOR = YES;
-                                GCC_WARN_UNINITIALIZED_AUTOS = YES;
-                                GCC_WARN_UNUSED_FUNCTION = YES;
-                                GCC_WARN_UNUSED_VARIABLE = YES;
-                                MACOSX_DEPLOYMENT_TARGET = 10.9;
-                                SDKROOT = macosx;
</del><span class="cx">                         };
</span><span class="cx">                         name = Release;
</span><span class="cx">                 };
</span><span class="cx">                 14CC394618EA8743004AFE34 /* Debug */ = {
</span><span class="cx">                         isa = XCBuildConfiguration;
</span><ins>+                        baseConfigurationReference = 14B650C918F3A04200751968 /* mbmalloc.xcconfig */;
</ins><span class="cx">                         buildSettings = {
</span><del>-                                COMBINE_HIDPI_IMAGES = YES;
-                                EXECUTABLE_PREFIX = lib;
-                                GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
-                                PRODUCT_NAME = &quot;$(TARGET_NAME)&quot;;
-                                SDKROOT = macosx.internal;
</del><span class="cx">                         };
</span><span class="cx">                         name = Debug;
</span><span class="cx">                 };
</span><span class="cx">                 14CC394718EA8743004AFE34 /* Release */ = {
</span><span class="cx">                         isa = XCBuildConfiguration;
</span><ins>+                        baseConfigurationReference = 14B650C918F3A04200751968 /* mbmalloc.xcconfig */;
</ins><span class="cx">                         buildSettings = {
</span><del>-                                COMBINE_HIDPI_IMAGES = YES;
-                                EXECUTABLE_PREFIX = lib;
-                                GCC_PREPROCESSOR_DEFINITIONS = &quot;NDEBUG=1&quot;;
-                                GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
-                                PRODUCT_NAME = &quot;$(TARGET_NAME)&quot;;
-                                SDKROOT = macosx.internal;
</del><span class="cx">                         };
</span><span class="cx">                         name = Release;
</span><span class="cx">                 };
</span><span class="cx">                 14F271C018EA3963008C152F /* Debug */ = {
</span><span class="cx">                         isa = XCBuildConfiguration;
</span><ins>+                        baseConfigurationReference = 14B650C618F39F4800751968 /* bmalloc.xcconfig */;
</ins><span class="cx">                         buildSettings = {
</span><del>-                                COMBINE_HIDPI_IMAGES = YES;
-                                DEBUG_INFORMATION_FORMAT = dwarf;
-                                EXECUTABLE_PREFIX = lib;
-                                GCC_ENABLE_OBJC_EXCEPTIONS = NO;
-                                GCC_SYMBOLS_PRIVATE_EXTERN = YES;
-                                GCC_THREADSAFE_STATICS = NO;
-                                GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
-                                PRODUCT_NAME = &quot;$(TARGET_NAME)&quot;;
-                                SDKROOT = macosx.internal;
</del><span class="cx">                         };
</span><span class="cx">                         name = Debug;
</span><span class="cx">                 };
</span><span class="cx">                 14F271C118EA3963008C152F /* Release */ = {
</span><span class="cx">                         isa = XCBuildConfiguration;
</span><ins>+                        baseConfigurationReference = 14B650C618F39F4800751968 /* bmalloc.xcconfig */;
</ins><span class="cx">                         buildSettings = {
</span><del>-                                COMBINE_HIDPI_IMAGES = YES;
-                                EXECUTABLE_PREFIX = lib;
-                                GCC_ENABLE_OBJC_EXCEPTIONS = NO;
-                                GCC_PREPROCESSOR_DEFINITIONS = &quot;NDEBUG=1&quot;;
-                                GCC_SYMBOLS_PRIVATE_EXTERN = YES;
-                                GCC_THREADSAFE_STATICS = NO;
-                                GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
-                                PRODUCT_NAME = &quot;$(TARGET_NAME)&quot;;
-                                SDKROOT = macosx.internal;
</del><span class="cx">                         };
</span><span class="cx">                         name = Release;
</span><span class="cx">                 };
</span><span class="lines">@@ -469,27 +427,30 @@
</span><span class="cx">                         buildConfigurations = (
</span><span class="cx">                                 145F684A179DC45F00D65598 /* Debug */,
</span><span class="cx">                                 145F684B179DC45F00D65598 /* Release */,
</span><ins>+                                14202F0F18F37C15006C37DB /* Production */,
</ins><span class="cx">                         );
</span><span class="cx">                         defaultConfigurationIsVisible = 0;
</span><del>-                        defaultConfigurationName = Release;
</del><ins>+                        defaultConfigurationName = Production;
</ins><span class="cx">                 };
</span><span class="cx">                 14CC394518EA8743004AFE34 /* Build configuration list for PBXNativeTarget &quot;mbmalloc&quot; */ = {
</span><span class="cx">                         isa = XCConfigurationList;
</span><span class="cx">                         buildConfigurations = (
</span><span class="cx">                                 14CC394618EA8743004AFE34 /* Debug */,
</span><span class="cx">                                 14CC394718EA8743004AFE34 /* Release */,
</span><ins>+                                14202F1118F37C15006C37DB /* Production */,
</ins><span class="cx">                         );
</span><span class="cx">                         defaultConfigurationIsVisible = 0;
</span><del>-                        defaultConfigurationName = Release;
</del><ins>+                        defaultConfigurationName = Production;
</ins><span class="cx">                 };
</span><span class="cx">                 14F271BF18EA3963008C152F /* Build configuration list for PBXNativeTarget &quot;bmalloc&quot; */ = {
</span><span class="cx">                         isa = XCConfigurationList;
</span><span class="cx">                         buildConfigurations = (
</span><span class="cx">                                 14F271C018EA3963008C152F /* Debug */,
</span><span class="cx">                                 14F271C118EA3963008C152F /* Release */,
</span><ins>+                                14202F1018F37C15006C37DB /* Production */,
</ins><span class="cx">                         );
</span><span class="cx">                         defaultConfigurationIsVisible = 0;
</span><del>-                        defaultConfigurationName = Release;
</del><ins>+                        defaultConfigurationName = Production;
</ins><span class="cx">                 };
</span><span class="cx"> /* End XCConfigurationList section */
</span><span class="cx">         };
</span></span></pre></div>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (166909 => 166910)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2014-04-08 04:47:05 UTC (rev 166909)
+++ trunk/Tools/ChangeLog        2014-04-08 05:31:41 UTC (rev 166910)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2014-04-07  Geoffrey Garen  &lt;ggaren@apple.com&gt;
+
+        Build bmalloc on Mac
+        https://bugs.webkit.org/show_bug.cgi?id=131333
+
+        Reviewed by Mark Rowe.
+
+        * Scripts/build-webkit: Add the bmalloc target if we're on Mac.
+        (Note: Just testing Mac is not good enough because in this
+        script 'Mac' means 'Mac or iOS'.)
+
</ins><span class="cx"> 2014-03-30  Filip Pizlo  &lt;fpizlo@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Move slow JSRegress tests out of the way so that they don't show up in run-jsc-benchmarks runs and also skip tests that are extremely long-running
</span></span></pre></div>
<a id="trunkToolsScriptsbuildwebkit"></a>
<div class="modfile"><h4>Modified: trunk/Tools/Scripts/build-webkit (166909 => 166910)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/Scripts/build-webkit        2014-04-08 04:47:05 UTC (rev 166909)
+++ trunk/Tools/Scripts/build-webkit        2014-04-08 05:31:41 UTC (rev 166910)
</span><span class="lines">@@ -165,6 +165,8 @@
</span><span class="cx"> # Build WTF as a separate static library on ports which support it.
</span><span class="cx"> splice @projects, 0, 0, &quot;Source/WTF&quot; if isAppleMacWebKit() or isAppleWinWebKit() or isWinCairo();
</span><span class="cx"> 
</span><ins>+splice @projects, 0, 0, &quot;Source/bmalloc&quot; if isAppleMacWebKit() &amp;&amp; !isIOSWebKit();
+
</ins><span class="cx"> for my $dir (@projects) {
</span><span class="cx">     if (! -d $dir) {
</span><span class="cx">         die &quot;Error: No $dir directory found. Please do a fresh checkout.\n&quot;;
</span></span></pre>
</div>
</div>

</body>
</html>