[Win] CMake build type is not set.
[WebKit-https.git] / Source / WTF / ChangeLog
index e051df0..92c931c 100644 (file)
-2016-09-06  Commit Queue  <commit-queue@webkit.org>
+2016-10-24  Per Arne Vollan  <pvollan@apple.com>
 
-        Unreviewed, rolling out r205504.
-        https://bugs.webkit.org/show_bug.cgi?id=161645
+        [Win] CMake build type is not set.
+        https://bugs.webkit.org/show_bug.cgi?id=163917
 
-        Broke the iOS device build (Requested by ryanhaddad on
-        #webkit).
+        Reviewed by Alex Christensen.
 
-        Reverted changeset:
+        The CMAKE_BUILD_TYPE variable should be set to Debug or Release.
 
-        "Make JSMap and JSSet faster"
-        https://bugs.webkit.org/show_bug.cgi?id=160989
-        http://trac.webkit.org/changeset/205504
+        * WTF.vcxproj/WTF.proj:
 
-2016-09-06  Saam Barati  <sbarati@apple.com>
+2016-10-23  Yusuke Suzuki  <utatane.tea@gmail.com>
 
-        Make JSMap and JSSet faster
-        https://bugs.webkit.org/show_bug.cgi?id=160989
+        [DOMJIT] Add a way for DOMJIT::Patchpoint to express effects
+        https://bugs.webkit.org/show_bug.cgi?id=163657
 
-        Reviewed by Filip Pizlo.
+        Reviewed by Saam Barati.
 
-        I made s_flagCount public since JSC's JITs now use this field.
+        Simplify nonEmptyRangesOverlap.
 
-        * wtf/text/StringImpl.h:
+        * wtf/MathExtras.h:
+        (WTF::nonEmptyRangesOverlap):
 
-2016-09-06  Per Arne Vollan  <pvollan@apple.com>
+2016-10-23  Chris Dumez  <cdumez@apple.com>
 
-        [Win] Enable strict runtime stack buffer checks.
-        https://bugs.webkit.org/show_bug.cgi?id=161629
+        Another unreviewed attempt to fix the WatchOS / TvOS build after r207585.
+        <rdar://problem/28902292>
 
-        Reviewed by Brent Fulgham.
+        Disable USE_CFURLCONNECTION on newer WatchOS / TvOS.
 
         * wtf/Platform.h:
 
-2016-09-06  Daniel Bates  <dabates@apple.com>
+2016-10-20  Keith Miller  <keith_miller@apple.com>
 
-        Remove EXTERN_C from WTF
-        https://bugs.webkit.org/show_bug.cgi?id=161090
+        Add support for WASM calls
+        https://bugs.webkit.org/show_bug.cgi?id=161727
 
-        Reviewed by Brent Fulgham.
+        Reviewed by Filip Pizlo and Michael Saboff.
 
-        Guard external C declarations in WTF_EXTERN_C_BEGIN, WTF_EXTERN_C_END.
+        Added a new decodeUInt64. Also, added WTF::LEBDecoder namespace.
 
-        * wtf/Compiler.h: Remove macro definition EXTERN_C.
-        * wtf/spi/cf/CFBundleSPI.h:
-        * wtf/spi/cocoa/NSMapTableSPI.h:
-        * wtf/spi/cocoa/SecuritySPI.h:
-        * wtf/spi/darwin/CommonCryptoSPI.h:
-        * wtf/spi/darwin/SandboxSPI.h:
-        * wtf/spi/darwin/XPCSPI.h:
-        * wtf/spi/darwin/dyldSPI.h:
+        * wtf/LEBDecoder.h:
+        (WTF::LEBDecoder::decodeUInt):
+        (WTF::LEBDecoder::decodeUInt32):
+        (WTF::LEBDecoder::decodeUInt64):
+        (WTF::LEBDecoder::decodeInt32):
+        (decodeUInt32): Deleted.
+        (decodeInt32): Deleted.
 
-2016-08-31  Filip Pizlo  <fpizlo@apple.com>
+2016-10-20  Filip Pizlo  <fpizlo@apple.com>
 
-        Butterflies should be allocated in Auxiliary MarkedSpace instead of CopiedSpace and we should rewrite as much of the GC as needed to make this not a regression
-        https://bugs.webkit.org/show_bug.cgi?id=160125
+        The tracking of the coarse-grain Heap state (allocating or not, collector or not, eden vs full) should respect the orthogonality between allocating and collecting
+        https://bugs.webkit.org/show_bug.cgi?id=163738
 
-        Reviewed by Geoffrey Garen and Keith Miller.
+        Reviewed by Geoffrey Garen.
         
-        I needed tryFastAlignedMalloc() so I added it.
-
-        * wtf/FastMalloc.cpp:
-        (WTF::tryFastAlignedMalloc):
-        * wtf/FastMalloc.h:
-        * wtf/ParkingLot.cpp:
-        (WTF::ParkingLot::forEachImpl):
-        (WTF::ParkingLot::forEach): Deleted.
-        * wtf/ParkingLot.h:
-        (WTF::ParkingLot::parkConditionally):
-        (WTF::ParkingLot::unparkOne):
-        (WTF::ParkingLot::forEach):
-        * wtf/ScopedLambda.h:
-        (WTF::scopedLambdaRef):
-        * wtf/SentinelLinkedList.h:
-        (WTF::SentinelLinkedList::forEach):
-        (WTF::RawNode>::takeFrom):
-        * wtf/SimpleStats.h:
-        (WTF::SimpleStats::operator bool):
-        (WTF::SimpleStats::operator!): Deleted.
-
-2016-09-02  JF Bastien  <jfbastien@apple.com>
-
-        bitwise_cast infinite loops if called from the default constructor in ToType
-        https://bugs.webkit.org/show_bug.cgi?id=161365
+        There will soon be different kinds of GC threads, and WTF's "are you a GC thread" thing
+        should know about this.
 
-        Reviewed by Saam Barati.
-
-        * wtf/StdLibExtras.h:
-        (WTF::bitwise_cast): use aggregate initialization to avoid ctor
+        * wtf/MainThread.cpp:
+        (WTF::initializeGCThreads):
+        (WTF::registerGCThread):
+        (WTF::mayBeGCThread):
+        * wtf/MainThread.h:
 
-2016-09-01  Anders Carlsson  <andersca@apple.com>
+2016-10-19  Sam Weinig  <sam@webkit.org>
 
-        Use BlockPtr::fromCallable in WorkQueue::dispatch and WorkQueue::dispatchAfter
-        https://bugs.webkit.org/show_bug.cgi?id=161512
+        Add convenience function that combines WTF::visit(...) with WTF::makeVisitor(...)
+        https://bugs.webkit.org/show_bug.cgi?id=163713
 
-        Reviewed by Chris Dumez.
+        Reviewed by Dan Bernstein.
 
-        This lets us get rid of leakCallable and adoptCallable.
+        - Add WTF::switchOn which merges WTF::visit with WTF::makeVisitor in the following
+          way:
+                WTF::visit(WTF::makeVisitor(...), variant)
 
-        * wtf/BlockPtr.h:
-        * wtf/Function.h:
-        * wtf/cocoa/WorkQueueCocoa.cpp:
-        (WTF::WorkQueue::dispatch):
-        (WTF::WorkQueue::dispatchAfter):
+        * wtf/Variant.h:
+        (WTF::switchOn):
 
-2016-09-01  Anders Carlsson  <andersca@apple.com>
+2016-10-19  Alex Christensen  <achristensen@webkit.org>
 
-        add BlockPtr::fromCallable
-        https://bugs.webkit.org/show_bug.cgi?id=161504
+        Revert r207151
+        https://bugs.webkit.org/show_bug.cgi?id=163675
 
-        Reviewed by Tim Horton.
+        Reviewed by Brent Fulgham.
 
-        BlockPtr::fromCallable lets you create an Objective-C block from any callable object - including lambdas that contain move-only types.
-        The block will be allocated on the heap so it doesn't ever need to be copied (which is how it can work with move-only types).
+        * wtf/Platform.h:
+        * wtf/SchedulePair.h:
+        * wtf/SchedulePairMac.mm:
 
-        * wtf/BlockPtr.h:
+2016-10-19  Filip Pizlo  <fpizlo@apple.com>
 
-2016-08-31  Keith Rollin  <krollin@apple.com>
+        REGRESSION (r207480): 3 Dromaeo tests failing
+        https://bugs.webkit.org/show_bug.cgi?id=163633
 
-        WebKit should set a subsystem for os_log so it's easier to filter for WebKit log messages
-        https://bugs.webkit.org/show_bug.cgi?id=160969
-        <rdar://problem/26068734>
+        Reviewed by Mark Lam.
+        
+        It's a ParkingLot bug: if we timeout and get unparked at the same time, then the unparking
+        thread will clear our address eventually - but not immediately. This causes a nasty
+        assertion failure. The tricky thing is that when we detect this, we need to wait until that
+        unparking thread does the deed. Otherwise, they will still do it at some later time.
+        
+        Alternatively, we could use some kind of versioning to detect this - increment the version
+        when you park, so that unparking threads will know if they are time travelers. That seems
+        more yucky.
+        
+        I don't think it matters too much what we do here, so long as it's simple and correct, since
+        this requires a race that is rare enough that it didn't happen once in my testing, and I was
+        pretty thorough. For example, it didn't happen once in 15 runs of JetStream. The race is
+        rare because it requires the timeout to happen right as someone else is unparking. Since
+        it's so rare, its probably OK that the unparked thread waits just a tiny moment until the
+        unparking thread is done.
 
-        Reviewed by Simon Fraser.
+        * wtf/ParkingLot.cpp:
+        (WTF::ParkingLot::parkConditionallyImpl):
+        (WTF::ParkingLot::unparkOneImpl):
 
-        Add support for attaching a subsystem and category when logging via
-        the RELEASE_LOG macros. This support is provided by adding subsystem
-        and category information to WTFLogChannel. An os_log_t object is then
-        created to enacpsulate that information. When using RELEASE_LOG to log
-        through that channel, the associated log object is used when calling
-        os_log.
+2016-10-19  Filip Pizlo  <fpizlo@apple.com>
 
-        To help support the inclusion of the subsystem and category
-        information in WTFLogChannel, the DECLARE_LOG_CHANNEL,
-        DEFINE_LOG_CHANNEL, and LOG_CHANNEL_ADDRESS macros that were defined
-        in various modules are consolidated and moved to Assertions.h.
-        DEFINE_LOG_CHANNEL is now defined to initialize the subsystem and
-        category.
+        Baseline JIT should use AutomaticThread
+        https://bugs.webkit.org/show_bug.cgi?id=163686
 
-        * wtf/Assertions.cpp:
-        * wtf/Assertions.h:
-        * wtf/RefCountedLeakCounter.cpp:
+        Reviewed by Geoffrey Garen.
+        
+        Added a AutomaticThreadCondition::wait() method, so that if you really want to use one
+        common condition for your thread and something else, you can do it. This trivially works
+        if you only use notifyAll(), and behaves as you'd expect for notifyOne() (i.e. it's
+        dangerous, since you don't know who will wake up).
+        
+        The Baseline JIT used the one-true-Condition idiom because it used notifyAll() in an
+        optimal way: there are just two threads talking to each other, so it wakes up at most one
+        thread and that thread is exactly the one you want woken up. Adding wait() means that I did
+        not have to change that code.
 
-2016-08-31  Alex Christensen  <achristensen@webkit.org>
+        * wtf/AutomaticThread.cpp:
+        (WTF::AutomaticThreadCondition::wait):
+        * wtf/AutomaticThread.h:
 
-        Implement IPv6 parsing in URLParser
-        https://bugs.webkit.org/show_bug.cgi?id=161390
+2016-10-18  Filip Pizlo  <fpizlo@apple.com>
 
-        Reviewed by Darin Adler.
+        DFG worklist should use AutomaticThread
+        https://bugs.webkit.org/show_bug.cgi?id=163615
 
-        * wtf/ASCIICType.h:
-        (WTF::lowerNibbleToLowercaseASCIIHexDigit):
-        (WTF::upperNibbleToLowercaseASCIIHexDigit):
+        Reviewed by Mark Lam.
+        
+        This adds new functionality to AutomaticThread to support DFG::Worklist:
+        
+        - AutomaticThread::threadDidStart/threadWillStop virtual methods called at the start and end
+          of a thread's lifetime. This allows Worklist to tie some resources to the life of the
+          thread, and also means that now those resources will naturally free up when the Worklist is
+          not in use.
+        
+        - AutomaticThreadCondition::notifyOne(). This required changes to Condition::notifyOne(). We
+          need to know if the Condition woke up anyone. If it didn't, then we need to launch one of
+          our threads.
 
-2016-08-30  Brady Eidson  <beidson@apple.com>
+        * wtf/AutomaticThread.cpp:
+        (WTF::AutomaticThreadCondition::notifyOne):
+        (WTF::AutomaticThread::ThreadScope::ThreadScope):
+        (WTF::AutomaticThread::ThreadScope::~ThreadScope):
+        (WTF::AutomaticThread::start):
+        (WTF::AutomaticThread::threadDidStart):
+        (WTF::AutomaticThread::threadWillStop):
+        * wtf/AutomaticThread.h:
+        * wtf/Condition.h:
+        (WTF::ConditionBase::notifyOne):
 
-        GameController.framework backend for gamepad API.
-        https://bugs.webkit.org/show_bug.cgi?id=161086
+2016-10-18  Sam Weinig  <sam@webkit.org>
 
-        Reviewed by Alex Christensen.
+        Replace std::experimental::variant with WTF::Variant (or similar)
+        https://bugs.webkit.org/show_bug.cgi?id=163626
 
-        * wtf/RunLoop.h:
-        (WTF::RunLoop::TimerBase::startOneShot):
+        Reviewed by Chris Dumez.
 
-2016-08-30  Mark Lam  <mark.lam@apple.com>
+        Rename std::experimental::variant, Variant. Move helpers get/holds_alternative/etc.
+        into the WTF namespace.
 
-        Introduce the ThrowScope and force every throw site to instantiate a ThrowScope.
-        https://bugs.webkit.org/show_bug.cgi?id=161171
+        * wtf/Forward.h:
+        * wtf/Variant.h:
 
-        Reviewed by Filip Pizlo and Geoffrey Garen.
+2016-10-18  Filip Pizlo  <fpizlo@apple.com>
 
-        * wtf/Platform.h:
-        - Introduced the ENABLE(THROW_SCOPE_VERIFICATION) flag.
+        WTF should make it easier to create threads that die automatically after inactivity
+        https://bugs.webkit.org/show_bug.cgi?id=163576
 
-2016-08-27  Alex Christensen  <achristensen@webkit.org>
+        Reviewed by Andreas Kling.
+        
+        For a long time now, I've been adding threads to WTF/JSC and each time I do this, I feel
+        guilty because those threads don't shut down when they are inactive. For example, in bug
+        163562, I need to add a new GC thread. There will be one of them per VM. This means that a
+        JSC API client that starts a lot of VMs will have a lot of threads. I don't think that's
+        good.
+        
+        A common pattern for all of these threads is that they have some well-defined trigger that
+        causes them to run. This trigger has a lock, a condition variable, some logic that determines
+        if there is work to do, and then of course the logic for the thread's actual work. The thread
+        bodies usually look like this:
+        
+        void Thingy::runThread()
+        {
+            for (;;) {
+                Work work;
+                {
+                    LockHolder locker(m_lock);
+                    while (!hasWork())
+                        m_cond.wait(m_lock);
+                    work = takeWork();
+                }
+                doWork(work);
+            }
+        }
+        
+        If you look at ParallelHelperPool (the GC's threads) and DFG::Worklist (some of the JIT's
+        threads), you will see this pattern.
+        
+        This change adds a new kind of thread, called AutomaticThread, that lets you write threads to
+        this pattern while getting automatic thread shutdown for free: instead of just waiting on a
+        condition variable, AutomaticThread will have a timeout that causes the thread to die. The
+        condition variable associated with AutomaticThread, called AutomaticThreadCondition, is smart
+        enough to restart any threads that have decided to stop due to inactivity. The inactivity
+        threshold is current just 1 second.
+        
+        In this patch I only adopt AutomaticThread for ParallelHelperPool. I plan to adopt it in more
+        places soon.
+
+        * WTF.xcodeproj/project.pbxproj:
+        * wtf/AutomaticThread.cpp: Added.
+        (WTF::AutomaticThreadCondition::create):
+        (WTF::AutomaticThreadCondition::AutomaticThreadCondition):
+        (WTF::AutomaticThreadCondition::~AutomaticThreadCondition):
+        (WTF::AutomaticThreadCondition::notifyAll):
+        (WTF::AutomaticThreadCondition::add):
+        (WTF::AutomaticThreadCondition::remove):
+        (WTF::AutomaticThreadCondition::contains):
+        (WTF::AutomaticThread::AutomaticThread):
+        (WTF::AutomaticThread::~AutomaticThread):
+        (WTF::AutomaticThread::join):
+        (WTF::AutomaticThread::start):
+        * wtf/AutomaticThread.h: Added.
+        * wtf/CMakeLists.txt:
+        * wtf/ParallelHelperPool.cpp:
+        (WTF::ParallelHelperClient::ParallelHelperClient):
+        (WTF::ParallelHelperClient::~ParallelHelperClient):
+        (WTF::ParallelHelperClient::setTask):
+        (WTF::ParallelHelperClient::finish):
+        (WTF::ParallelHelperClient::doSomeHelping):
+        (WTF::ParallelHelperClient::runTask):
+        (WTF::ParallelHelperPool::ParallelHelperPool):
+        (WTF::ParallelHelperPool::~ParallelHelperPool):
+        (WTF::ParallelHelperPool::ensureThreads):
+        (WTF::ParallelHelperPool::doSomeHelping):
+        (WTF::ParallelHelperPool::Thread::Thread):
+        (WTF::ParallelHelperPool::didMakeWorkAvailable):
+        (WTF::ParallelHelperPool::helperThreadBody): Deleted.
+        (WTF::ParallelHelperPool::waitForClientWithTask): Deleted.
+        * wtf/ParallelHelperPool.h:
 
-        URLParser should parse relative URLs
-        https://bugs.webkit.org/show_bug.cgi?id=161282
+2016-10-18  Said Abou-Hallawa  <sabouhallawa@apple.com>
 
-        Reviewed by Darin Adler.
+        SVGCSSParser: m_implicitShorthand value is not reset after adding the shorthand property
+        https://bugs.webkit.org/show_bug.cgi?id=116470
 
-        * wtf/text/StringView.h:
-        Use a std::reference_wrapper for the StringView& to make it reassignable so we can add an operator=.
+        Reviewed by Simon Fraser.
 
-2016-08-26  JF Bastien  <jfbastien@apple.com>
+        * wtf/TemporaryChange.h:
+        (WTF::TemporaryChange::TemporaryChange):
+        Add a new constructor to make TemporaryChange work as a restorer. The
+        temporary change will happen after we construct the object.
 
-        bitwise_cast uses inactive member of union
-        https://bugs.webkit.org/show_bug.cgi?id=161244
+2016-10-17  Simon Fraser  <simon.fraser@apple.com>
 
-        Reviewed by Benjamin Poulain.
+        Implement DOMRect/DOMRectReadOnly
+        https://bugs.webkit.org/show_bug.cgi?id=163464
 
-        * wtf/Compiler.h:
-        Add COMPILER_HAS_CLANG_FEATURE
-        * wtf/StdLibExtras.h:
-        (WTF::bitwise_cast):
-        Fix C++ UB, add trivially-copyable check.
+        Reviewed by Darin Adler.
+        
+        Implement min()/max() in a way that follows Math.min/Math.max, which return
+        NaN if either argument is NaN.
 
-        bitwise_cast stores into a union with one type and reads with
-        another, which is technically C++ undefined behavior because it's
-        accessing the wrong active member of the union. The better way to
-        do this is through memcpy, which compilers optimize as well
-        because it's known-size in known-not-to-escape storage (for small
-        types they'll inline and then convert stack memory access to SSA
-        values which may be in-register if that makes sense, which would
-        be a move between int/FP registers at worst).
+        * wtf/MathExtras.h:
+        (WTF::nanPropagatingMin):
+        (WTF::nanPropagatingMax):
 
-        The C++ Standard's section [basic.types] explicitly blesses memcpy:
+2016-10-15  Sam Weinig  <sam@webkit.org>
 
-          For any trivially copyable type T, if two pointers to T point to
-          distinct T objects obj1 and obj2, where neither obj1 nor obj2 is a
-          base-class subobject, if the underlying bytes (1.7) making up obj1
-          are copied into obj2, 42 obj2 shall subsequently hold the same
-          value as obj1.
+        MessageEvent's source property should be a (DOMWindow or MessagePort)? rather than a EventTarget?
+        https://bugs.webkit.org/show_bug.cgi?id=163475
 
-          [Example:
-            T* t1p;
-            T* t2p;
-            // provided that t2p points to an initialized object ...
-            std::memcpy(t1p, t2p, sizeof(T));
-            // at this point, every subobject of trivially copyable type in *t1p contains
-            // the same value as the corresponding subobject in *t2p
-          — end example ]
+        Reviewed by Simon Fraser.
 
-        Whereas section [class.union] says:
+        * wtf/Variant.h:
+        Add missing return statement that was tripping up some compilers.
 
-          In a union, at most one of the non-static data members can be
-          active at any time, that is, the value of at most one of the
-          non-static data members can be stored in a union at any time.
+2016-10-12  Ryan Haddad  <ryanhaddad@apple.com>
 
-        While we're at it, checking that sizeof(To) == sizeof(From) is
-        good, but we should also check that both types are trivially
-        copyable (can have a ctor, no dtor, and copy is defaulted as if by
-        memcpy for type and all subtypes). Unfortunately that trait isn't
-        implemented consistently in all recent compiler+stdlib
-        implementations, but recent clang has an equivalent builtin
-        (other compilers simply won't do the check, and will break on bots
-        with the right compilers which is better than the current silent
-        breakage). This builtin hack also avoids #include <type_traits>
-        which really doesn't save much.
+        Unreviewed, rolling out r207225.
 
-2016-08-26  Johan K. Jensen  <johan_jensen@apple.com>
+        This change causes debug tests to exit early with crashes.
 
-        Web Inspector: Frontend should have access to Resource Timing information
-        https://bugs.webkit.org/show_bug.cgi?id=160095
+        Reverted changeset:
 
-        Reviewed by Alex Christensen.
+        "Optional's move-constructor and move-assignment operator
+        don't disengage the value being moved from"
+        https://bugs.webkit.org/show_bug.cgi?id=163309
+        http://trac.webkit.org/changeset/207225
 
-        Add method to get elapsed time for any monotonic time.
-        Used by InspectorNetworkAgent.
+2016-10-11  Sam Weinig  <sam@webkit.org>
 
-        * wtf/Stopwatch.h:
-        (WTF::Stopwatch::elapsedTimeSinceMonotonicTime):
+        Optional's move-constructor and move-assignment operator don't disengage the value being moved from
+        https://bugs.webkit.org/show_bug.cgi?id=163309
 
-2016-08-26  Csaba Osztrogonác  <ossy@webkit.org>
+        Reviewed by Anders Carlsson.
 
-        Fix the ENABLE(WEBASSEMBLY) build on Linux
-        https://bugs.webkit.org/show_bug.cgi?id=161197
+        * wtf/Optional.h:
+        (WTF::Optional::Optional):
+        (WTF::Optional::operator=):
+        Disengage 'other' on move-construction and move-assignment.
 
-        Reviewed by Mark Lam.
+2016-10-08  Filip Pizlo  <fpizlo@apple.com>
 
-        * wtf/Platform.h:
+        MarkedBlock should know what objects are live during marking
+        https://bugs.webkit.org/show_bug.cgi?id=162309
 
-2016-08-25  Yusuke Suzuki  <utatane.tea@gmail.com>
+        Reviewed by Geoffrey Garen.
+        
+        This removes the atomicity mode, because it's not really used: it only affects the
+        concurrentBlah methods, but their only users turn on atomicity. This was useful because
+        previously, some binary Bitmap methods (like merge(const Bitmap&)) couldn't be used
+        effectively in the GC because some of the GC's bitmaps set the atomic mode and some didn't.
+        Removing this useless mode is the best solution.
+        
+        Also added some new binary Bitmap methods: mergeAndClear(Bitmap& other) and
+        setAndClear(Bitmap& other). They perform their action on 'this' (either merge or set,
+        respectively) while also clearing the contents of 'other'. This is great for one of the GC
+        hot paths.
 
-        [DFG][FTL] Implement ES6 Generators in DFG / FTL
-        https://bugs.webkit.org/show_bug.cgi?id=152723
+        * wtf/Bitmap.h:
+        (WTF::WordType>::Bitmap):
+        (WTF::WordType>::get):
+        (WTF::WordType>::set):
+        (WTF::WordType>::testAndSet):
+        (WTF::WordType>::testAndClear):
+        (WTF::WordType>::concurrentTestAndSet):
+        (WTF::WordType>::concurrentTestAndClear):
+        (WTF::WordType>::clear):
+        (WTF::WordType>::clearAll):
+        (WTF::WordType>::nextPossiblyUnset):
+        (WTF::WordType>::findRunOfZeros):
+        (WTF::WordType>::count):
+        (WTF::WordType>::isEmpty):
+        (WTF::WordType>::isFull):
+        (WTF::WordType>::merge):
+        (WTF::WordType>::filter):
+        (WTF::WordType>::exclude):
+        (WTF::WordType>::forEachSetBit):
+        (WTF::WordType>::mergeAndClear):
+        (WTF::WordType>::setAndClear):
+        (WTF::=):
+        (WTF::WordType>::hash):
 
-        Reviewed by Filip Pizlo.
+2016-10-11  Said Abou-Hallawa  <sabouhallawa@apple.com>
 
-        * wtf/FastBitVector.h:
-        (WTF::FastBitVector::FastBitVector):
+        Add SynchronizedFixedQueue class
+        https://bugs.webkit.org/show_bug.cgi?id=162478
 
-2016-08-25  JF Bastien  <jfbastien@apple.com>
+        Reviewed by Geoffrey Garen.
 
-        TryGetById should have a ValueProfile so that it can predict its output type
-        https://bugs.webkit.org/show_bug.cgi?id=160921
+        This class represents a simple producer/consumer worker. It facilitates
+        synchronizing enqueuing to and dequeuing from a fixed size-queue. It uses
+        a single lock and a single condition to synchronize all its members among
+        the working threads. This means a single thread is active at any time and
+        and the other threads are blocked waiting for the lock to be released. Or
+        they are sleeping waiting for the condition to be satisfied.
 
-        Reviewed by Saam Barati.
+        * WTF.xcodeproj/project.pbxproj:
+        * wtf/SynchronizedFixedQueue.h: Added.
+        (WTF::SynchronizedFixedQueue::SynchronizedFixedQueue):
+        (WTF::SynchronizedFixedQueue::open): Restore the queue to its original state.
+        (WTF::SynchronizedFixedQueue::close): Wake all the sleeping threads with a closing state.
+        (WTF::SynchronizedFixedQueue::isOpen): Does the queue accept new items?
+        (WTF::SynchronizedFixedQueue::enqueue): Enqueue an item into the queue.
+        (WTF::SynchronizedFixedQueue::dequeue): Dequeue an item form the queue.
 
-        Add WTF_CONCAT to StdLibExtras.h
+2016-10-11  Alex Christensen  <achristensen@webkit.org>
 
-        * wtf/StdLibExtras.h:
+        Remove dead networking code
+        https://bugs.webkit.org/show_bug.cgi?id=163263
 
-2016-08-25  Johan K. Jensen  <johan_jensen@apple.com>
+        Reviewed by Daniel Bates.
 
-        Don't store networkLoadTiming in the disk cache
-        https://bugs.webkit.org/show_bug.cgi?id=161161
+        * wtf/Platform.h:
+        * wtf/SchedulePair.h:
+        * wtf/SchedulePairMac.mm:
 
-        Reviewed by Antti Koivisto.
+2016-10-10  Zan Dobersek  <zdobersek@igalia.com>
 
-        * wtf/Forward.h:
-        Remove Encode and Decode forward declarations.
+        Add ENABLE_ENCRYPTED_MEDIA configuration option
+        https://bugs.webkit.org/show_bug.cgi?id=163219
 
-2016-08-24  Yusuke Suzuki  <utatane.tea@gmail.com>
+        Reviewed by Darin Adler.
 
-        [JSC] Move generic data structures out of B3
-        https://bugs.webkit.org/show_bug.cgi?id=161155
+        * wtf/FeatureDefines.h:
+        If undefined, define the ENABLE_ENCRYPTED_MEDIA option to 0.
 
-        Reviewed by Saam Barati.
+2016-10-10  Yusuke Suzuki  <utatane.tea@gmail.com>
 
-        Add IndexSet, IndexMap, and IndexedContainerIterator.
+        [DOMJIT] Implement Node accessors in DOMJIT
+        https://bugs.webkit.org/show_bug.cgi?id=163005
 
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/CMakeLists.txt:
-        * wtf/IndexMap.h: Copied from Source/JavaScriptCore/b3/B3IndexMap.h.
-        (WTF::IndexMap::IndexMap):
-        (WTF::IndexMap::resize):
-        (WTF::IndexMap::clear):
-        (WTF::IndexMap::size):
-        (WTF::IndexMap::operator[]):
-        * wtf/IndexSet.h: Renamed from Source/JavaScriptCore/b3/B3IndexSet.h.
-        (WTF::IndexSet::IndexSet):
-        (WTF::IndexSet::add):
-        (WTF::IndexSet::addAll):
-        (WTF::IndexSet::remove):
-        (WTF::IndexSet::contains):
-        (WTF::IndexSet::size):
-        (WTF::IndexSet::isEmpty):
-        (WTF::IndexSet::Iterable::Iterable):
-        (WTF::IndexSet::Iterable::iterator::iterator):
-        (WTF::IndexSet::Iterable::iterator::operator*):
-        (WTF::IndexSet::Iterable::iterator::operator++):
-        (WTF::IndexSet::Iterable::iterator::operator==):
-        (WTF::IndexSet::Iterable::iterator::operator!=):
-        (WTF::IndexSet::Iterable::begin):
-        (WTF::IndexSet::Iterable::end):
-        (WTF::IndexSet::values):
-        (WTF::IndexSet::indices):
-        (WTF::IndexSet::dump):
-        * wtf/IndexedContainerIterator.h: Renamed from Source/JavaScriptCore/b3/B3IndexMap.h.
-        (WTF::IndexedContainerIterator::IndexedContainerIterator):
-        (WTF::IndexedContainerIterator::operator++):
-        (WTF::IndexedContainerIterator::operator==):
-        (WTF::IndexedContainerIterator::operator!=):
-        (WTF::IndexedContainerIterator::findNext):
+        Reviewed by Filip Pizlo.
 
-2016-08-24  Andreas Kling  <akling@apple.com>
+        Add CAST_OFFSET. It is not necessary for JSCell thingy
+        since we don't use virtual member functions. However, it
+        is not true for WebCore DOM wrapped objects.
 
-        Add WTF::isFastMallocEnabled().
-        <https://webkit.org/b/160534>
+        * wtf/StdLibExtras.h:
 
-        Reviewed by Joseph Pecoraro.
+2016-10-07  Chris Dumez  <cdumez@apple.com>
 
-        * wtf/FastMalloc.cpp:
-        (WTF::isFastMallocEnabled):
-        * wtf/FastMalloc.h:
+        window.navigator.language incorrectly returns all lowercase string
+        https://bugs.webkit.org/show_bug.cgi?id=163096
 
-2016-08-23  Anders Carlsson  <andersca@apple.com>
+        Reviewed by Darin Adler.
 
-        Add enum traits and use them in the IPC::Decoder
-        https://bugs.webkit.org/show_bug.cgi?id=161103
+        Update platformUserPreferredLanguages() so that it no longer lowercases
+        the string it returns. On Mac, we rely on CFLocale which returns
+        BCP-47 language tags as per:
+        - https://developer.apple.com/reference/corefoundation/1666963-cflocale?language=objc
 
-        Reviewed by Sam Weinig.
+        * wtf/PlatformUserPreferredLanguagesMac.mm:
+        (WTF::httpStyleLanguageCode):
+        * wtf/PlatformUserPreferredLanguagesUnix.cpp:
+        (WTF::platformLanguage):
 
-        Add EnumTraits.h which provides a forward declaration for WTF::EnumTraits as well as
-        the WTF::isValidEnum function.
+2016-10-06  Brent Fulgham  <bfulgham@apple.com>
 
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/EnumTraits.h: Added.
+        [Win][Direct2D] Add Direct2D CMake rules
+        https://bugs.webkit.org/show_bug.cgi?id=162925
 
-2016-08-24  Filip Pizlo  <fpizlo@apple.com>
+        Reviewed by Brent Fulgham.
 
-        Unreviewed, roll out r204901, r204897, r204866, r204856, r204854.
+        * wtf/Platform.h: Don't USE(CA) or USE(CG) if building
+        with Direct2D.
 
-        * wtf/FastMalloc.cpp:
-        (WTF::tryFastAlignedMalloc): Deleted.
-        * wtf/FastMalloc.h:
-        * wtf/ParkingLot.cpp:
-        (WTF::ParkingLot::forEach):
-        (WTF::ParkingLot::forEachImpl): Deleted.
-        * wtf/ParkingLot.h:
-        (WTF::ParkingLot::parkConditionally):
-        (WTF::ParkingLot::unparkOne):
-        (WTF::ParkingLot::forEach): Deleted.
-        * wtf/ScopedLambda.h:
-        (WTF::scopedLambdaRef): Deleted.
+2016-10-05  Yusuke Suzuki  <utatane.tea@gmail.com>
 
-2016-08-22  Filip Pizlo  <fpizlo@apple.com>
+        [DOMJIT] Add initial CheckDOM and CallDOM implementations
+        https://bugs.webkit.org/show_bug.cgi?id=162941
 
-        Butterflies should be allocated in Auxiliary MarkedSpace instead of CopiedSpace and we should rewrite as much of the GC as needed to make this not a regression
-        https://bugs.webkit.org/show_bug.cgi?id=160125
+        Reviewed by Filip Pizlo.
 
-        Reviewed by Geoffrey Garen.
-        
-        I needed tryFastAlignedMalloc() so I added it.
+        * wtf/Box.h:
+        (WTF::Box::Box):
 
-        * wtf/FastMalloc.cpp:
-        (WTF::fastAlignedMalloc):
-        (WTF::tryFastAlignedMalloc):
-        (WTF::fastAlignedFree):
-        * wtf/FastMalloc.h:
+2016-10-05  Zan Dobersek  <zdobersek@igalia.com>
 
-2016-08-22  Keith Miller  <keith_miller@apple.com>
+        Rename ENABLE_ENCRYPTED_MEDIA_V2 to ENABLE_LEGACY_ENCRYPTED_MEDIA
+        https://bugs.webkit.org/show_bug.cgi?id=162903
 
-        Actually enable the WASM build.
-        https://bugs.webkit.org/show_bug.cgi?id=160933
+        Reviewed by Alex Christensen.
 
-        Reviewed by Geoffrey Garen.
+        Rename build guards for the remaining implementation of the legacy EME API
+        to ENABLE_LEGACY_ENCRYPTED_MEDIA. This will allow for the future implementation
+        of the near-finished API to be guarded with the simple ENABLE_ENCRYPTED_MEDIA guards.
 
         * wtf/FeatureDefines.h:
 
-2016-08-17  Don Olmstead  <don.olmstead@am.sony.com>
-
-        Use find_library within Windows build
-        https://bugs.webkit.org/show_bug.cgi?id=160904
-
-        Reviewed by Brent Fulgham.
-
-        * wtf/CMakeLists.txt:
+2016-10-04  Saam Barati  <sbarati@apple.com>
 
-2016-08-17  Anders Carlsson  <andersca@apple.com>
+        String.prototype.toLowerCase should be a DFG/FTL intrinsic
+        https://bugs.webkit.org/show_bug.cgi?id=162887
 
-        Move WKSignedPublicKeyAndChallengeString into WebCore and make it proper C++
-        https://bugs.webkit.org/show_bug.cgi?id=160945
+        Reviewed by Filip Pizlo and Yusuke Suzuki.
 
-        Reviewed by Dan Bernstein.
+        This patch exposes a new StringImpl function called convertToLowercaseWithoutLocaleStartingAtFailingIndex8Bit
+        which extracts slow path for the 8-bit part of convertToLowercaseWithoutLocale
+        into a helper function. I decided to extract this into its own function because
+        it may be the case that JSCs JITs will want to continue the operation
+        after it has already ensured that part of an 8-bit string is lower case.
 
-        * wtf/RetainPtr.h:
-        (WTF::RetainPtr::operator&):
-        Cast this to the right type.
+        * wtf/text/StringImpl.cpp:
+        (WTF::StringImpl::convertToLowercaseWithoutLocale):
+        (WTF::StringImpl::convertToLowercaseWithoutLocaleStartingAtFailingIndex8Bit):
+        * wtf/text/StringImpl.h:
+        * wtf/text/WTFString.cpp:
+        (WTF::String::convertToLowercaseWithoutLocaleStartingAtFailingIndex8Bit):
+        * wtf/text/WTFString.h:
 
-        * wtf/spi/cocoa/SecuritySPI.h:
-        Add new SPI.
+2016-10-04  Chris Dumez  <cdumez@apple.com>
 
-2016-08-17  Antti Koivisto  <antti@apple.com>
+        Implement KeyboardEvent.code from the UI Event spec
+        https://bugs.webkit.org/show_bug.cgi?id=149584
 
-        Remove CSS_IMAGE_SET feature define
-        https://bugs.webkit.org/show_bug.cgi?id=160944
+        Reviewed by Darin Adler.
 
-        Reviewed by Dean Jackson.
+        Add build time flag to toggle support for the code attribute on
+        KeyboardEvent and only enable it on Mac for now, given that the
+        implementation is missing on other platforms.
 
         * wtf/FeatureDefines.h:
 
-2016-08-16  Keith Miller  <keith_miller@apple.com>
+2016-10-03  Chris Dumez  <cdumez@apple.com>
 
-        Enable WebAssembly in the build.
-        https://bugs.webkit.org/show_bug.cgi?id=160916
+        Add support for KeyboardEvent.key attribute
+        https://bugs.webkit.org/show_bug.cgi?id=36267
 
-        Reviewed by Benjamin Poulain.
+        Reviewed by Darin Adler.
 
-        This patch turns on WebAssembly on all the platforms that support B3.
-        Turning on WebAssembly by default lets us check the build on every
-        platform.
+        Add compile time flag for the key attribute on KeyboardEvent and enable
+        it on Cocoa only.
 
         * wtf/FeatureDefines.h:
 
-2016-08-16  Anders Carlsson  <andersca@apple.com>
+2016-09-29  Sam Weinig  <sam@webkit.org>
 
-        Fix a thinko.
+        Add initial support for IDL union conversion
+        https://bugs.webkit.org/show_bug.cgi?id=161576
 
-        * wtf/Scope.h:
-
-2016-08-16  Anders Carlsson  <andersca@apple.com>
-
-        Add WTF::ScopeExit
-        https://bugs.webkit.org/show_bug.cgi?id=160908
-
-        Reviewed by Geoffrey Garen.
-
-        WTF::ScopeExit and WTF::makeScopeExit let you define an object that will invoke a function when the
-        object goes out of scope. This is going to be used to avoid spagetti-code and gotos in a future patch.
-
-        The class is modeled after the LWG paper "P0052 - Generic Scope Guard and RAII Wrapper for the Standard Library".
+        Reviewed by Chris Dumez.
 
         * WTF.xcodeproj/project.pbxproj:
-        * wtf/Scope.h: Added.
-        (WTF::makeScopeExit):
-
-2016-08-15  Anders Carlsson  <andersca@apple.com>
-
-        Add an address-of operator to RetainPtr
-        https://bugs.webkit.org/show_bug.cgi?id=160879
-
-        Reviewed by Tim Horton.
-
-        This will make some security-related code from WebKitSystemInterface easier to port.
-
-        * wtf/HashIterators.h:
-        (WTF::HashTableValuesIterator::get):
-        * wtf/HashTable.h:
-        (WTF::HashTableBucketInitializer<true>::initialize):
-        Use std::addressof instead of &, in case & is overloaded.
-
-        * wtf/RetainPtr.h:
-        (WTF::RetainPtr::operator&):
-        Implement this.
-
-2016-08-15  Sam Weinig  <sam@webkit.org>
-
-        Speed up compile times by not including wtf/Variant.h so much
-        https://bugs.webkit.org/show_bug.cgi?id=160847
-
-        Reviewed by Alex Christensen and Saam Barati.
+        * wtf/CMakeLists.txt:
+        Add Brigand.h
 
-        * wtf/Forward.h:
-        Add forward declaration of std::variant.
+        * wtf/Brigand.h: Added.
+        Import a standalone copy of Edouard Alligand and Joel Falcou's 
+        Brigand library for help with for help with list based meta programming
 
         * wtf/StdLibExtras.h:
-        Remove references to std::variant. Move them to wtf/Variant.h
+        Add a new three new type traits, IsTemplate, IsBaseOfTemplate and RemoveCVAndReference.
+        - IsTemplate acts like std::is_class, but works with a generic base.
+        - IsBaseOfTemplate acts like std::is_base_of, but works with a generic base.
+        - RemoveCVAndReference combines std::remove_cv and std::remove_reference.
 
-2016-08-15  Keith Miller  <keith_miller@apple.com>
+2016-09-30  Filip Pizlo  <fpizlo@apple.com>
 
-        Implement WASM Parser and B3 IR generator
-        https://bugs.webkit.org/show_bug.cgi?id=160681
+        B3::moveConstants should be able to edit code to minimize the number of constants
+        https://bugs.webkit.org/show_bug.cgi?id=162764
 
-        Reviewed by Benjamin Poulain.
-
-        * wtf/DataLog.h:
-        (WTF::dataLogLn): Add a new dataLog function, dataLogLn that
-        automagically includes a new line at the end of the print.
-        * wtf/LEBDecoder.h:
-        (decodeUInt32):
-        (decodeInt32): Change the LEBDecoder to take a pointer and length
-        rather than a Vector.
+        Reviewed by Saam Barati.
+        
+        I thought it would be a good idea to document the fact that dominator traversal happens in a
+        particular order for a reason.
 
-2016-08-15  Keith Rollin  <krollin@apple.com>
+        * wtf/Dominators.h:
 
-        Rename LOG_ALWAYS
-        https://bugs.webkit.org/show_bug.cgi?id=160768
+2016-09-29  Filip Pizlo  <fpizlo@apple.com>
 
-        Rename LOG_ALWAYS and friends, given that the first parameter to it is
-        a boolean expression that determines whether or not logging should be
-        performed.
+        Air should have a way of expressing additional instruction flags
+        https://bugs.webkit.org/show_bug.cgi?id=162699
 
-        Reviewed by Chris Dumez.
+        Reviewed by Mark Lam.
 
-        * wtf/Assertions.h:
+        * wtf/CommaPrinter.h:
+        (WTF::CommaPrinter::CommaPrinter):
+        (WTF::CommaPrinter::dump):
+        (WTF::CommaPrinter::didPrint):
 
-2016-08-15  Joseph Pecoraro  <pecoraro@apple.com>
+2016-09-30  Youenn Fablet  <youenn@apple.com>
 
-        Remove unused includes of wtf headers
-        https://bugs.webkit.org/show_bug.cgi?id=160839
+        Add a way to go from a RefPtr<T> to Ref<const T>
+        https://bugs.webkit.org/show_bug.cgi?id=162683
 
         Reviewed by Alex Christensen.
 
-        * wtf/BackwardsGraph.h:
-        * wtf/DataLog.cpp:
-        * wtf/WorkQueue.cpp:
-        * wtf/text/StringImpl.cpp:
-        * wtf/unicode/icu/CollatorICU.cpp:
-
-2016-08-14  Daniel Bates  <dabates@apple.com>
-
-        Fix compiler errors when building iOS WebKit using the iOS 10 beta SDK
-        https://bugs.webkit.org/show_bug.cgi?id=160725
+        * wtf/RefPtr.h:
+        (WTF::RefPtr::releaseConstNonNull): Added.
 
-        Reviewed by Sam Weinig.
+2016-09-29  Mark Lam  <mark.lam@apple.com>
 
-        For now, disable OS_LOG when building with the iOS 10 beta SDK until
-        we have the fix for <rdar://problem/27758343>.
+        Re-enable StringView life-cycle checking.
+        https://bugs.webkit.org/show_bug.cgi?id=160384
+        <rdar://problem/28479434>
 
-        * wtf/Platform.h:
+        Reviewed by Saam Barati.
 
-2016-08-13  Dan Bernstein  <mitz@apple.com>
+        Re-landing after slow running tests have been resolved.
 
-        Build fix follow-up to r204433.
+        * wtf/text/StringView.h:
 
-        * wtf/StdLibExtras.h:
-        (WTF::makeVisitor): Don’t use an auto return type.
+2016-09-29  Commit Queue  <commit-queue@webkit.org>
 
-2016-08-12  Sam Weinig  <sam@webkit.org>
+        Unreviewed, rolling out r206563.
+        https://bugs.webkit.org/show_bug.cgi?id=162732
 
-        Make variant only available when compiling for C++14 or greater
-        https://bugs.webkit.org/show_bug.cgi?id=160813
+        Caused stress/op_*.js.ftl-no-cjit tests to time out (Requested
+        by ryanhaddad on #webkit).
 
-        Reviewed by Anders Carlsson.
+        Reverted changeset:
 
-        * wtf/Compiler.h:
-        * wtf/StdLibExtras.h:
-        * wtf/Variant.h:
+        "Re-enable StringView life-cycle checking."
+        https://bugs.webkit.org/show_bug.cgi?id=160384
+        http://trac.webkit.org/changeset/206563
 
-2016-08-11  Maureen Daum  <mdaum@apple.com>
+2016-09-29  Fujii Hironori  <Hironori.Fujii@sony.com>
 
-        Add NSButtonType to AppKitCompatibilityDeclarations.h.
-        https://bugs.webkit.org/show_bug.cgi?id=160767.
+        Clang 3.9 reports a compilation warning about ENABLE_EXCEPTION_SCOPE_VERIFICATION
+        https://bugs.webkit.org/show_bug.cgi?id=162718
 
-        Reviewed by Dan Bernstein.
+        Reviewed by Alex Christensen.
 
-        Add NSButtonType to AppKitCompatibilityDeclarations.h so that we can use the new
-        names but still build successfully on older OS versions.
+        Clang 3.9 reports a following compilation warning:
+          Source/JavaScriptCore/runtime/VM.h:656:5: warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]
 
-        * wtf/mac/AppKitCompatibilityDeclarations.h:
+        * wtf/Platform.h: Changed the definition of ENABLE_EXCEPTION_SCOPE_VERIFICATION not to use 'defined'.
 
-2016-08-10  Benjamin Poulain  <bpoulain@apple.com>
+2016-09-28  Mark Lam  <mark.lam@apple.com>
 
-        [JSC] TinyPtrSet::deleteListIfNecessary() no longer needs to test for reservedValue
-        https://bugs.webkit.org/show_bug.cgi?id=160721
+        Re-enable StringView life-cycle checking.
+        https://bugs.webkit.org/show_bug.cgi?id=160384
+        <rdar://problem/28479434>
 
-        Reviewed by Sam Weinig.
+        Reviewed by Saam Barati.
 
-        Previously, TinyPtrSet was using a ThinFlag if there was no OutOfLineList.
-        A side effect is that isThin() was false for reservedValue. When deleting
-        the list, we had to consider both cases: isThin() and reservedValue.
+        * wtf/text/StringView.h:
 
-        In r204065, I changed the flag to a FatFlag to ensure TinyPtrSet can be initialized
-        with bzero().
-        This changes the value of isThin() of reservedValue to true since reservedValue
-        does not have the FatFlag bit set.
-        This patch removes the useless condition from deleteListIfNecessary().
+2016-09-28  Filip Pizlo  <fpizlo@apple.com>
 
-        * wtf/TinyPtrSet.h:
-        (WTF::TinyPtrSet::deleteListIfNecessary):
+        The write barrier should be down with TSO
+        https://bugs.webkit.org/show_bug.cgi?id=162316
 
-2016-08-09  Sam Weinig  <sam@webkit.org>
+        Reviewed by Geoffrey Garen.
+        
+        Added clearRange(), which quickly clears a range of bits. This turned out to be useful for
+        a DFG optimization pass.
 
-        Fix windows build.
+        * wtf/FastBitVector.cpp:
+        (WTF::FastBitVector::clearRange):
+        * wtf/FastBitVector.h:
 
-        * wtf/Variant.h:
-        (std::experimental::__visit_helper2::__visit):
-        MSVC does not support extended constexpr. Use a ternary operator instead of an if statement.
+2016-09-28  Mark Lam  <mark.lam@apple.com>
 
-2016-08-06  Sam Weinig  <sam@webkit.org>
+        Fix race condition in StringView's UnderlyingString lifecycle management.
+        https://bugs.webkit.org/show_bug.cgi?id=162702
 
-        Replace NodeOrString with std::variant<RefPtr<Node>, String>
-        https://bugs.webkit.org/show_bug.cgi?id=160638
+        Reviewed by Geoffrey Garen.
 
-        Reviewed by Anders Carlsson.
+        There 2 relevant functions at play:
 
-        * wtf/StdLibExtras.h:
-        (WTF::Visitor::Visitor):
-        (WTF::makeVisitor):
-        Add WTF::makeVisitor() which takes a list of lambdas to use
-        an an overload set for a visitor object.
+        void StringView::setUnderlyingString(const StringImpl* string)
+        {
+            UnderlyingString* underlyingString;
+            if (!string)
+                underlyingString = nullptr;
+            else {
+                std::lock_guard<StaticLock> lock(underlyingStringsMutex);
+                auto result = underlyingStrings().add(string, nullptr);
+                if (result.isNewEntry)
+                    result.iterator->value = new UnderlyingString(*string);
+                else
+                    ++result.iterator->value->refCount;
+                underlyingString = result.iterator->value; // Point P2.
+            }
+            adoptUnderlyingString(underlyingString); // Point P5.
+        }
 
-        Also, re-export std::experimental::variant (and helpers) in the std
-        namespace using type aliasing.
+        ... and ...
 
-        * wtf/Variant.h:
-        Make std::experimental::variant work in WebCore.
+        void StringView::adoptUnderlyingString(UnderlyingString* underlyingString)
+        {
+            if (m_underlyingString) {
+                // Point P0.
+                if (!--m_underlyingString->refCount) {
+                    if (m_underlyingString->isValid) { // Point P1.
+                        std::lock_guard<StaticLock> lock(underlyingStringsMutex);
+                        underlyingStrings().remove(&m_underlyingString->string); // Point P3.
+                    }
+                    delete m_underlyingString; // Point P4.
+                }
+            }
+            m_underlyingString = underlyingString;
+        }
 
-2016-08-06  Sam Weinig  <sam@webkit.org>
+        Imagine the following scenario:
+
+        1. Thread T1 has been using an UnderlyingString U1, and is now done with it.
+           T1 runs up to point P1 in adoptUnderlyingString(), and is blocked waiting for
+           the underlyingStringsMutex (which is currently being held by Thread T2).
+        2. Context switch to Thread T2.
+           T2 wants to use UnderlyingString U1, and runs up to point P2 in setUnderlyingString()
+           and releases the underlyingStringsMutex.
+           Note: T2 thinks it has successfully refCounted U1, and therefore U1 is safe to use.
+        3. Context switch to Thread T1.
+           T1 acquires the underlyingStringsMutex, and proceeds to remove it from the
+           underlyingStrings() map (see Point P3).  It thinks it has successfully done so
+           and proceeds to delete U1 (see Point P4).
+        4. Context switch to Thread T2.
+           T2 proceeds to use U1 (see Point P5 in setUnderlyingString()).
+           Note: U1 has already been freed.  This is a use after free.
+
+        The fix is to acquire the underlyingStringsMutex at Point P0 in adoptUnderlyingString()
+        instead of after P1.  This ensures that the decrementing of the UnderlyingString
+        refCount and its removal from the underlyingStrings() map is done as an atomic unit.
+
+        Note: If you look in StringView.cpp, you see another setUnderlyingString() which
+        takes a StringView otherString.  This version of setUnderlyingString() can only
+        be called from within the same thread that created the other StringView.  As a
+        result, here, we are guaranteed that the UnderlyingString refCount is never zero,
+        and there's no other threat of another thread trying to delete the UnderlyingString
+        while we adopt it.  Hence, we don't need to acquire the underlyingStringsMutex
+        here.
+
+        This race condition was found when running layout tests fetch/fetch-worker-crash.html
+        and storage/indexeddb/modern/opendatabase-versions.html when CHECK_STRINGVIEW_LIFETIME
+        is enabled.  This issue resulted in those tests crashing due to a use-after-free.
 
-        WTF needs a variant implementation
-        https://bugs.webkit.org/show_bug.cgi?id=160618
+        * wtf/text/StringView.cpp:
+        (WTF::StringView::adoptUnderlyingString):
+        (WTF::StringView::setUnderlyingString):
 
-        Reviewed by Darin Adler.
+2016-09-28  Brent Fulgham  <bfulgham@apple.com>
 
-        Add an implementation of std::experimental::variant matching the C++17 draft http://wg21.link/n4606 
-        taken from https://bitbucket.org/anthonyw/variant/src (5bce47fa788648f79e5ea1d77b0eef2e8f0b2999) and
-        modified to support compiling without exceptions (where it used to throw, we lovingly CRASH()).
+        Correct 'safeCast' implementation
+        https://bugs.webkit.org/show_bug.cgi?id=162679
+        <rdar://problem/28518189>
 
-        * WTF.xcodeproj/project.pbxproj:
-        Add new file.
+        Reviewed by Zalan Bujtas.
 
-        * wtf/Compiler.h:
-        Add COMPILER_SUPPORTS define for C++ exceptions.
+        * wtf/StdLibExtras.h:
+        (WTF::safeCast): Use a RELEASE_ASSERT.
 
-        * wtf/Variant.h: Added.
+2016-09-27  Don Olmstead  <don.olmstead@am.sony.com>
 
-2016-08-05  Keith Miller  <keith_miller@apple.com>
+        [CMake] Add HAVE_LOCALTIME_R definition
+        https://bugs.webkit.org/show_bug.cgi?id=162636
 
-        Add LEBDecoder and tests
-        https://bugs.webkit.org/show_bug.cgi?id=160625
+        Reviewed by Alex Christensen.
 
-        Reviewed by Benjamin Poulain.
+        * wtf/DateMath.cpp:
+        (WTF::getLocalTime):
+        * wtf/GregorianDateTime.cpp:
+        (WTF::GregorianDateTime::setToCurrentLocalTime):
+        * wtf/Platform.h:
 
-        Adds some LEB decoder functions to WTF. These are used in the
-        WASM spec to encode numbers in a semi-compressed format.
+2016-09-27  JF Bastien  <jfbastien@apple.com>
 
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/LEBDecoder.h: Added.
-        (decodeUInt32):
-        (decodeInt32):
+        Speed up Heap::isMarkedConcurrently
+        https://bugs.webkit.org/show_bug.cgi?id=162095
 
-2016-08-05  Keith Miller  <keith_miller@apple.com>
+        Reviewed by Filip Pizlo.
 
-        Delete out of date WASM code.
-        https://bugs.webkit.org/show_bug.cgi?id=160603
+        Heap::isMarkedConcurrently had a load-load fence which is expensive on weak memory ISAs such as ARM.
 
-        Reviewed by Saam Barati.
+        This patch is fairly perf-neutral overall, but the GC's instrumentation reports:
+          GC:Eden is 93% average runtime after change
+          GC:Full is 76% average runtime after change
 
-        Add Feature define for WebAssembly on mac.
+        The fence was there because:
+         1. If the read of m_markingVersion in MarkedBlock::areMarksStale isn't what's expected then;
+         2. The read of m_marks in MarkedBlock::isMarked needs to observe the value that was stored *before* m_markingVersion was stored.
 
-        * wtf/FeatureDefines.h:
+        This ordering isn't guaranteed on ARM, which has a weak memory model.
 
-2016-08-03  Csaba Osztrogonác  <ossy@webkit.org>
+        There are 3 ways to guarantee this ordering:
+         A. Use a barrier instruction.
+         B. Use a load-acquire (new in ARMv8).
+         C. use ARM's address dependency rule, which C++ calls memory_order_consume.
 
-        Lacking support on a arm-traditional disassembler.
-        https://bugs.webkit.org/show_bug.cgi?id=123717
+        In general:
+         A. is slow but orders all of memory in an intuitive manner.
+         B. is faster-ish and has the same property-ish.
+         C. should be faster still, but *only orders dependent loads*. This last part is critical! Consume isn't an all-out replacement for acquire (acquire is rather a superset of consume).
 
-        Reviewed by Mark Lam.
+        ARM explains the address dependency rule in their document "barrier litmus tests and cookbook":
 
-        * wtf/Platform.h:
+        > *Resolving by the use of barriers and address dependency*
+        >
+        > There is a rule within the ARM architecture that:
+        > Where the value returned by a read is used to compute the virtual address of a subsequent read or write (this is known as an address dependency), then these two memory accesses will be observed in program order. An address dependency exists even if the value read by the first read has no effect in changing the virtual address (as might be the case if the value returned is masked off before it is used, or if it had no effect on changing a predicted address value).
+        > This restriction applies only when the data value returned from one read is used as a data value to calculate the address of a subsequent read or write. This does not apply if the data value returned from one read is used to determine the condition code flags, and the values of the flags are used for condition code evaluation to determine the address of a subsequent reads, either through conditional execution or the evaluation of a branch. This is known as a control dependency.
+        > Where both a control and address dependency exist, the ordering behaviour is consistent with the address dependency.
 
-2016-08-02  Myles C. Maxfield  <mmaxfield@apple.com>
+        C++'s memory_order_consume is unfortunately unimplemented by C++ compilers, and maybe unimplementable as spec'd. I'm working with interested folks in the committee to fix this situation: http://wg21.link/p0190r2
 
-        Update breaking rules to match ICU 57
-        https://bugs.webkit.org/show_bug.cgi?id=160488
-        <rdar://problem/25856238>
+        * wtf/Atomics.h:
+        (WTF::zeroWithConsumeDependency): a 0 which carries a dependency
+        (WTF::consumeLoad): pixie magic
 
-        Reviewed by Darin Adler.
+2016-09-27  JF Bastien  <jfbastien@apple.com>
 
-        This patch fixes a typo in the uax14AssignmentsAfter rules which
-        was causing flag emoji to have line breaking opportunities in their
-        middles. It also fixes significant language issues for languages
-        such as Hebrew, and adds correct breaking opportunities around
-        hyphens.
+        Atomics.h on Windows: remove seq_cst hack
+        https://bugs.webkit.org/show_bug.cgi?id=162022
 
-        * wtf/text/TextBreakIterator.cpp:
-        (WTF::cursorMovementIterator):
-        (WTF::uax14AssignmentsAfter):
-        (WTF::uax14Forward):
-        (WTF::uax14Reverse):
+        Reviewed by Mark Lam.
 
-2016-08-02  Benjamin Poulain  <benjamin@webkit.org>
+        No need to force access to seq_cst, always inlining fixes the MSVC warning.
 
-        [JSC] Simplify the initialization of AbstractValue in the AbstractInterpreter
-        https://bugs.webkit.org/show_bug.cgi?id=160370
+        * wtf/Atomics.h:
+        (WTF::Atomic::compareExchangeWeak): remove seq_cst hack
+        (WTF::Atomic::compareExchangeStrong): remove seq_cst hack
+        (WTF::Atomic::exchangeAndAdd): remove seq_cst hack
+        (WTF::Atomic::exchange): remove seq_cst hack
 
-        Reviewed by Saam Barati.
+2016-09-27  Don Olmstead  <don.olmstead@am.sony.com>
 
-        * wtf/TinyPtrSet.h:
-        (WTF::TinyPtrSet::isThin):
-        (WTF::TinyPtrSet::set):
+        [CMake] Use CMake to determine HAVE_* defines
+        https://bugs.webkit.org/show_bug.cgi?id=162368
 
-2016-08-02  Benjamin Poulain  <bpoulain@apple.com>
+        Reviewed by Alex Christensen.
 
-        Clean up some useless AtomicString atoms
-        https://bugs.webkit.org/show_bug.cgi?id=160471
+        * wtf/Platform.h:
 
-        Reviewed by Geoffrey Garen.
+2016-09-20  Anders Carlsson  <andersca@apple.com>
 
-        * wtf/text/AtomicString.h:
-        * wtf/text/StringStatics.cpp:
-        (WTF::AtomicString::init): Deleted.
+        PlatformEvent::m_modifiers should be an OptionSet
+        https://bugs.webkit.org/show_bug.cgi?id=162326
 
-2016-08-01  Benjamin Poulain  <bpoulain@apple.com>
+        Reviewed by Daniel Bates.
 
-        [JSC][ARM64] Fix branchTest32/64 taking an immediate as mask
-        https://bugs.webkit.org/show_bug.cgi?id=160439
+        * wtf/OptionSet.h:
+        (WTF::OptionSet::operator!=):
+        (WTF::OptionSet::operator-):
 
-        Reviewed by Filip Pizlo.
+2016-09-27  Jer Noble  <jer.noble@apple.com>
 
-        * wtf/MathExtras.h:
-        (getLSBSet):
-        This was not working at all for MacroAssembler.
-        Since TrustedImm32/64 are signed integers, the arithmetic shift would
-        never get rid of the top bit and we get an infinite loop.
+        Remove deprecated ENCRYPTED_MEDIA implementation.
+        https://bugs.webkit.org/show_bug.cgi?id=161010
 
-2016-07-29  Mark Lam  <mark.lam@apple.com>
+        Reviewed by Eric Carlson.
 
-        Make StringView capable of being passed or returned in only 2 registers.
-        https://bugs.webkit.org/show_bug.cgi?id=160344
+        Remove ENABLE_ENCRYPTED_MEDIA.
 
-        Reviewed by Geoffrey Garen.
+        * wtf/FeatureDefines.h:
 
-        We just need to #if out copy and move constructors and assignment operators.
+2016-09-27  Youenn Fablet  <youenn@apple.com>
 
-        After this change, the following test code:
+        [Fetch API] Use Ref<const T> in FetchBody::m_data variant
+        https://bugs.webkit.org/show_bug.cgi?id=162599
 
-            JS_EXPORT_PRIVATE StringView returnStringView(StringView sv)
-            {
-                return sv;
-            }
+        Reviewed by Alex Christensen.
 
-        ... compiles to the following for x86_64:
+        Enabling to use DeferrableRefCounted<const T> by making m_refCount mutable.
 
-            __ZN3JSC16returnStringViewEN3WTF10StringViewE:
-            000000000093fb20        pushq   %rbp
-            000000000093fb21        movq    %rsp, %rbp
-            000000000093fb24        movq    %rdi, %rax // Copy from arg word 0 to ret word 0.
-            000000000093fb27        movq    %rsi, %rdx // Copy from arg word 1 to ret word 1.
-            000000000093fb2a        popq    %rbp
-            000000000093fb2b        retq
+        * wtf/DeferrableRefCounted.h:
+        (WTF::DeferrableRefCountedBase::ref):
+        (WTF::DeferrableRefCountedBase::derefBase):
+        (WTF::DeferrableRefCounted::deref):
 
-        ... and this for arm64:
+2016-09-26  Daniel Bates  <dabates@apple.com>
 
-            __ZN3JSC16returnStringViewEN3WTF10StringViewE:
-            0000000000818504        ret // arg word 0 and 1 are in the same regs as ret word 0 and 1.
+        Rename IOS_TEXT_AUTOSIZING to TEXT_AUTOSIZING
+        https://bugs.webkit.org/show_bug.cgi?id=162365
 
-        * wtf/text/StringView.h:
-        (WTF::StringView::StringView):
-        (WTF::StringView::~StringView):
-        (WTF::StringView::operator=):
+        Reviewed by Simon Fraser.
 
-2016-07-29  Csaba Osztrogonác  <ossy@webkit.org>
+        * wtf/FeatureDefines.h:
 
-        Remove PassRef.h after r177259
-        https://bugs.webkit.org/show_bug.cgi?id=160348
+2016-09-26  Benjamin Poulain  <benjamin@webkit.org>
 
-        Reviewed by Andreas Kling.
+        [JSC] Shrink the Math inline caches some more
+        https://bugs.webkit.org/show_bug.cgi?id=162485
 
-        * wtf/PassRef.h: Removed.
+        Reviewed by Saam Barati.
 
-2016-07-28  Mark Lam  <mark.lam@apple.com>
+        * wtf/Bag.h:
+        Don't copy the arguments before initializing the nodes.
 
-        StringView should have an explicit m_is8Bit field.
-        https://bugs.webkit.org/show_bug.cgi?id=160282
-        <rdar://problem/27327943>
+2016-09-26  Michael Catanzaro  <mcatanzaro@igalia.com>
 
-        Reviewed by Benjamin Poulain.
+        std::unique_ptr deleter functions should not check if pointer is null
+        https://bugs.webkit.org/show_bug.cgi?id=162558
 
-        The current implementation reserves 1 bit in the 32-bit m_length field as an
-        is16Bit flag.  As a result, a StringView is incapable of handling strings that
-        have a length of 32-bit in size.  This results in a mismatch with the
-        expectations of String, StringImpl, and JavaScriptCore's JSString which all
-        support a 32-bit unsigned length.
+        Reviewed by Alex Christensen.
 
-        This patch fixes this issue by introducing an explicit m_is8Bit field, thereby
-        allowing m_length to be a full 32-bit again.
+        std::unique_ptr already does this before calling the deleter.
 
-        We also introduced a clear() convenience method to set the fields of StringView
-        to empty values.  Previously, we were duplicating the code for clearing those
-        fields.  We now call clear() in all those places instead.
-
-        Note: in clear(), we set m_is8Bit to true because we want an empty StringView
-        to be 8-bit rather than 16-bit.  This is consistent with what the empty() method
-        returns.
-
-        * wtf/text/StringView.h:
-        (WTF::StringView::setUnderlyingString):
-        (WTF::StringView::StringView):
-        (WTF::StringView::operator=):
-        (WTF::StringView::initialize):
-        (WTF::StringView::clear):
-        (WTF::StringView::empty):
-        (WTF::StringView::length):
-        (WTF::StringView::operator bool):
-        (WTF::StringView::is8Bit):
-        (WTF::StringView::substring):
-        (WTF::StringView::getCharactersWithUpconvert):
-        (WTF::StringView::toString):
-        (WTF::StringView::toAtomicString):
-        (WTF::StringView::toFloat):
-        (WTF::StringView::toInt):
-        (WTF::StringView::toIntStrict):
-        (WTF::StringView::toStringWithoutCopying):
-        (WTF::StringView::find):
-
-2016-07-24  Filip Pizlo  <fpizlo@apple.com>
-
-        B3 should support multiple entrypoints
-        https://bugs.webkit.org/show_bug.cgi?id=159391
-
-        Reviewed by Saam Barati.
-
-        * wtf/GraphNodeWorklist.h: Expose some handy functionality.
-        (WTF::GraphNodeWorklist::pop):
-        (WTF::GraphNodeWorklist::saw):
-        (WTF::GraphNodeWorklist::seen):
-        * wtf/VectorTraits.h: Fix a bug! Otherwise filling a vector of byte-sized enum classes doesn't work.
-
-2016-07-21  Myles C. Maxfield  <mmaxfield@apple.com>
-
-        [macOS] Caret placement occurs in the middle of new emoji group candidates
-        https://bugs.webkit.org/show_bug.cgi?id=160008
-        <rdar://problem/27430111>
-
-        Reviewed by Simon Fraser.
-
-        r203330 added support for new emoji group candidates. This patch updates the rules
-        governing caret placement around these new emoji groups.
-
-        * wtf/text/TextBreakIterator.cpp:
-        (WTF::cursorMovementIterator):
-
-2016-07-20  Rajeev Misra  <rajeevmisraforapple@gmail.com>
-
-        Remove unnecessary if check from ParkingLot.cpp
-        https://bugs.webkit.org/show_bug.cgi?id=159961
-
-        Reviewed by Alex Christensen.
-
-        A good practice is to have as less conditional statement
-        or special cases as possible in code. This change
-        simply removes a unnecessary "if" statement for
-        condition which was already evaluated by switch/case
-        and thus there was no need to evaluate again.
-
-        * wtf/ParkingLot.cpp:
-
-2016-07-18  Anders Carlsson  <andersca@apple.com>
-
-        WebKit nightly fails to build on macOS Sierra
-        https://bugs.webkit.org/show_bug.cgi?id=159902
-        rdar://problem/27365672
-
-        Reviewed by Tim Horton.
-
-        * icu/unicode/ucurr.h: Added.
-        Add ucurr.h from ICU.
-
-2016-07-18  Michael Saboff  <msaboff@apple.com>
-
-        ASSERTION FAILED: : (year >= 1970 && yearday >= 0) || (year < 1970 && yearday < 0) -- WTF/wtf/DateMath.cpp
-        https://bugs.webkit.org/show_bug.cgi?id=159883
-
-        Reviewed by Filip Pizlo.
-
-        The function daysFrom1970ToYear() takes an integer year and returns a double result.
-        The calculation uses 1970 as a baseline year and subtracts 1970 from the argument year.
-        It does that subtraction using integer arithmetic, which given negative years close to
-        INT_MIN can underflow as a result of subtracting 1970.  Since we want a double result,
-        the fix is to cast year as a double before the subtraction, which eliminates the underflow.
-
-        * wtf/DateMath.cpp:
-        (WTF::daysFrom1970ToYear):
-
-2016-07-17  Filip Pizlo  <fpizlo@apple.com>
-
-        RegisterSet should use a Bitmap instead of a BitVector so that it never allocates memory and is trivial to copy
-        https://bugs.webkit.org/show_bug.cgi?id=159863
-
-        Reviewed by Saam Barati.
-        
-        Give Bitmap all of the power of BitVector (except for automatic resizing). This means a
-        variant of set() that takes a bool, and a bunch of helper methods (merge, filter, exclude,
-        forEachSetBit, ==, !=, and hash).
-
-        * wtf/Bitmap.h:
-        (WTF::WordType>::set):
-        (WTF::WordType>::testAndSet):
-        (WTF::WordType>::isFull):
-        (WTF::WordType>::merge):
-        (WTF::WordType>::filter):
-        (WTF::WordType>::exclude):
-        (WTF::WordType>::forEachSetBit):
-        (WTF::=):
-        (WTF::WordType>::hash):
-
-2016-07-02  Filip Pizlo  <fpizlo@apple.com>
-
-        WTF::Lock should be fair eventually
-        https://bugs.webkit.org/show_bug.cgi?id=159384
-
-        Reviewed by Geoffrey Garen.
-        
-        In https://webkit.org/blog/6161/locking-in-webkit/ we showed how relaxing the fairness of
-        locks makes them fast. That post presented lock fairness as a trade-off between two
-        extremes:
-        
-        - Barging. A barging lock, like WTF::Lock, releases the lock in unlock() even if there was a
-          thread on the queue. If there was a thread on the queue, the lock is released and that
-          thread is made runnable. That thread may then grab the lock, or some other thread may grab
-          the lock first (it may barge). Usually, the barging thread is the thread that released the
-          lock in the first place. This maximizes throughput but hurts fairness. There is no good
-          theoretical bound on how unfair the lock may become, but empirical data suggests that it's
-          fair enough for the cases we previously measured.
-        
-        - FIFO. A FIFO lock, like HandoffLock in ToyLocks.h, does not release the lock in unlock()
-          if there is a thread waiting. If there is a thread waiting, unlock() will make that thread
-          runnable and inform it that it now holds the lock. This ensures perfect round-robin
-          fairness and allows us to reason theoretically about how long it may take for a thread to
-          grab the lock. For example, if we know that only N threads are running and each one may
-          contend on a critical section, and each one may hold the lock for at most S seconds, then
-          the time it takes to grab the lock is N * S. Unfortunately, FIFO locks perform very badly
-          in most cases. This is because for the common case of short critical sections, they force
-          a context switch after each critical section if the lock is contended.
-        
-        This change makes WTF::Lock almost as fair as FIFO while still being as fast as barging.
-        Thanks to this new algorithm, you can now have both of these things at the same time.
-        
-        This change makes WTF::Lock eventually fair. We can almost (more on the caveats below)
-        guarantee that the time it takes to grab a lock is N * max(1ms, S). In other words, critical
-        sections that are longer than 1ms are always fair. For shorter critical sections, the amount
-        of time that any thread waits is 1ms times the number of threads. There are some caveats
-        that arise from our use of randomness, but even then, in the limit as the critical section
-        length goes to infinity, the lock becomes fair. The corner cases are unlikely to happen; our
-        experiments show that the lock becomes exactly as fair as a FIFO lock for any critical
-        section that is 1ms or longer.
-        
-        The fairness mechanism is broken into two parts. WTF::Lock can now choose to unlock a lock
-        fairly or unfairly thanks to the new ParkingLot token mechanism. WTF::Lock knows when to use
-        fair unlocking based on a timeout mechanism in ParkingLot called timeToBeFair.
-        
-        ParkingLot::unparkOne() and ParkingLot::parkConditionally() can now communicate with each
-        other via a token. unparkOne() can pass a token, which parkConditionally() will return. This
-        change also makes parkConditionally() a lot more precise about when it was unparked due to a
-        call to unparkOne(). If unparkOne() is told that a thread was unparked then this thread is
-        guaranteed to report that it was unparked rather than timing out, and that thread is
-        guaranteed to get the token that unparkOne() passed. The token is an intptr_t. We use it as
-        a boolean variable in WTF::Lock, but you could use it to pass arbitrary data structures. By
-        default, the token is zero. WTF::Lock's unlock() will pass 1 as the token if it is doing
-        fair unlocking. In that case, unlock() will not release the lock, and lock() will know that
-        it holds the lock as soon as parkConditionally() returns. Note that this algorithm relies
-        on unparkOne() invoking WTF::Lock's callback while the queue lock is held, so that WTF::Lock
-        can make a decision about unlock strategy and inject a token while it has complete knowledge
-        over the state of the queue. As such, it's not immediately obvious how to implement this
-        algorithm on top of futexes. You really need ParkingLot!
-        
-        WTF::Lock does not use fair unlocking every time. We expose a new API, Lock::unlockFairly(),
-        which forces the fair unlocking behavior. Additionally, ParkingLot now maintains a
-        per-bucket stochastic fairness timeout. When the timeout fires, the unparkOne() callback
-        sees UnparkResult::timeToBeFair = true. This timeout is set to be anywhere from 0ms to 1ms
-        at random. When a dequeue happens and there are threads that actually get dequeued, we check
-        if the time since the last unfair unlock (the last time timeToBeFair was set to true) is
-        more than the timeout amount. If so, then we set timeToBeFair to true and reset the timeout.
-        This means that in the absence of ParkingLot collisions, unfair unlocking is guaranteed to
-        happen at least once per millisecond. It will happen at 2 KHz on average. If there are
-        collisions, then each collision adds one millisecond to the worst case (and 0.5 ms to the
-        average case). The reason why we don't just use a fixed 1ms timeout is that we want to avoid
-        resonance. Imagine a program in which some thread acquires a lock at 1 KHz in-phase with the
-        timeToBeFair timeout. Then this thread would be the benefactor of fairness to the detriment
-        of everyone else. Randomness ensures that we aren't too fair to any one thread.
-        
-        Empirically, this is neutral on our major benchmarks like JetStream but it's an enormous
-        improvement in LockFairnessTest. It's common for an unfair lock (either our BargingLock, the
-        old WTF::Lock, any of the other futex-based locks that barge, or new os_unfair_lock) to
-        allow only one thread to hold the lock during a whole second in which each thread is holding
-        the lock for 1ms at a time. This is because in a barging lock, releasing a lock after
-        holding it for 1ms and then reacquiring it immediately virtually ensures that none of the
-        other threads can wake up in time to grab it before it's relocked. But the new WTF::Lock
-        handles this case like a champ: each thread gets equal turns.
-        
-        Here's some data. If we launch 10 threads and have each of them run for 1 second while
-        repeatedly holding a critical section for 1ms, then here's how many times each thread gets
-        to hold the lock using the old WTF::Lock algorithm:
-        
-        799, 6, 1, 1, 1, 1, 1, 1, 1, 1
-        
-        One thread hogged the lock for almost the whole time! With the new WTF::Lock, the lock
-        becomes totally fair:
-        
-        80, 79, 79, 79, 79, 79, 79, 80, 80, 79
-        
-        I don't know of anyone creating such an automatically-fair adaptive lock before, so I think
-        that this is a pretty awesome advancement to the state of the art!
-        
-        This change is good for three reasons:
-        
-        - We do have long critical sections in WebKit and we don't want to have to worry about
-          starvation. This reduces the likelihood that we will see starvation due to our lock
-          strategy.
-        
-        - I was talking to ggaren about bmalloc's locking needs, and he wanted unlockFairly() or
-          lockFairly() or some moral equivalent for the scavenger thread.
-        
-        - If we use a WTF::Lock to manage heap access in a multithreaded GC, we'll need the ability
-          to unlock and relock without barging.
-
-        * benchmarks/LockFairnessTest.cpp:
-        (main):
-        * benchmarks/ToyLocks.h:
-        * wtf/Condition.h:
-        (WTF::ConditionBase::waitUntil):
-        (WTF::ConditionBase::notifyOne):
-        * wtf/Lock.cpp:
-        (WTF::LockBase::lockSlow):
-        (WTF::LockBase::unlockSlow):
-        (WTF::LockBase::unlockFairlySlow):
-        (WTF::LockBase::unlockSlowImpl):
-        * wtf/Lock.h:
-        (WTF::LockBase::try_lock):
-        (WTF::LockBase::unlock):
-        (WTF::LockBase::unlockFairly):
-        (WTF::LockBase::isHeld):
-        (WTF::LockBase::isFullyReset):
-        * wtf/ParkingLot.cpp:
-        (WTF::ParkingLot::parkConditionallyImpl):
-        (WTF::ParkingLot::unparkOne):
-        (WTF::ParkingLot::unparkOneImpl):
-        (WTF::ParkingLot::unparkAll):
-        * wtf/ParkingLot.h:
-        (WTF::ParkingLot::parkConditionally):
-        (WTF::ParkingLot::compareAndPark):
-        (WTF::ParkingLot::unparkOne):
-
-2016-07-17  Myles C. Maxfield  <mmaxfield@apple.com>
-
-        Support new emoji group candidates
-        https://bugs.webkit.org/show_bug.cgi?id=159755
-        <rdar://problem/27325521>
-
-        Reviewed by Dean Jackson.
-
-        This patch doesn't update the rules for our cursor movement iterator, because
-        I don't know the language used for implementing these rules. These rules will
-        be updated in the near future. When they do,
-        editing/deleting/delete-emoji-expected.txt will need to be updated.
-
-        * wtf/text/TextBreakIterator.cpp:
-        (WTF::cursorMovementIterator):
-
-2016-07-16  Chris Dumez  <cdumez@apple.com>
-
-        Add move constructor / assignment operator to ListHashSet
-        https://bugs.webkit.org/show_bug.cgi?id=159837
-
-        Reviewed by Darin Adler.
-
-        Add move constructor / assignment operator to ListHashSet.
-
-        * wtf/ListHashSet.h:
-        (WTF::ListHashSetConstIterator::operator++):
-        (WTF::U>::ListHashSet):
-        (WTF::=):
-        (WTF::U>::clear):
-        (WTF::U>::appendNode):
-        (WTF::U>::prependNode):
-        (WTF::U>::deleteAllNodes):
-        (WTF::ListHashSetNode::ListHashSetNode): Deleted.
-
-2016-07-15  Chris Dumez  <cdumez@apple.com>
-
-        Use emptyString() / nullAtom when possible
-        https://bugs.webkit.org/show_bug.cgi?id=159850
-
-        Reviewed by Ryosuke Niwa.
-
-        Use emptyString() / nullAtom when possible, for performance.
-
-        * wtf/text/AtomicString.cpp:
-        (WTF::AtomicString::convertASCIICase):
-
-2016-07-15  Chris Dumez  <cdumez@apple.com>
-
-        Unreviewed, rolling out r203304.
-
-        This is wrong because of Node* entries in the internal HashMap
-
-        Reverted changeset:
-
-        "Add move constructor / assignment operator to ListHashSet"
-        https://bugs.webkit.org/show_bug.cgi?id=159837
-        http://trac.webkit.org/changeset/203304
-
-2016-07-15  Chris Dumez  <cdumez@apple.com>
-
-        Add move constructor / assignment operator to ListHashSet
-        https://bugs.webkit.org/show_bug.cgi?id=159837
-
-        Reviewed by Alex Christensen.
-
-        Add move constructor / assignment operator to ListHashSet.
-
-        * wtf/ListHashSet.h:
-
-2016-07-15  Geoffrey Garen  <ggaren@apple.com>
-
-        Added a makeRef<T> helper
-        https://bugs.webkit.org/show_bug.cgi?id=159835
-
-        Reviewed by Andreas Kling.
-
-        Anders told me to!
-
-        * wtf/Ref.h:
-        (WTF::makeRef): Helper function to do type inference for you.
-
-2016-07-15  Ryan Haddad  <ryanhaddad@apple.com>
-
-        Unreviewed, rolling out r203266.
-
-        This change caused editing/deleting/delete-emoji.html to time
-        out on El Capitan, crash under GuardMalloc
-
-        Reverted changeset:
-
-        "Support new emoji group candidates"
-        https://bugs.webkit.org/show_bug.cgi?id=159755
-        http://trac.webkit.org/changeset/203266
-
-2016-07-15  Csaba Osztrogonác  <ossy@webkit.org>
-
-        Revert r202560 to fix the ARMv7 build with ARM instruction set
-        https://bugs.webkit.org/show_bug.cgi?id=159707
-
-        Reviewed by Carlos Garcia Campos.
-
-        * wtf/Platform.h: Revert r202560.
-
-2016-07-14  Myles C. Maxfield  <mmaxfield@apple.com>
-
-        Support new emoji group candidates
-        https://bugs.webkit.org/show_bug.cgi?id=159755
-        <rdar://problem/27325521>
-
-        Reviewed by Dean Jackson.
-
-        This patch doesn't update the rules for our cursor movement iterator, because
-        I don't know the language used for implementing these rules. These rules will
-        be updated in the near future. When they do,
-        editing/deleting/delete-emoji-expected.txt will need to be updated.
-
-        * wtf/text/TextBreakIterator.cpp:
-        (WTF::cursorMovementIterator):
-
-2016-07-14  Alex Christensen  <achristensen@webkit.org>
-
-        Allow RefPtrs of const RefCounted types
-        https://bugs.webkit.org/show_bug.cgi?id=158269
-
-        Reviewed by Anders Carlsson.
-
-        * wtf/RefCounted.h:
-        (WTF::RefCountedBase::ref):
-        (WTF::RefCountedBase::~RefCountedBase):
-        (WTF::RefCountedBase::derefBase):
-        (WTF::RefCounted::deref):
-        Creating references to a const object does not really modify the object,
-        so everything in RefCounted is now mutable, and ref and deref are const.
-
-2016-07-14  Chris Dumez  <cdumez@apple.com>
-
-        Avoid an extra heap allocation when dispatching Functions to WorkQueue
-        https://bugs.webkit.org/show_bug.cgi?id=158367
-
-        Reviewed by Anders Carlsson.
-
-        Avoid an extra heap allocation when dispatching Functions to WorkQueue
-        by adding leakCallable() / adoptCallable() functions to Function.
-
-        * wtf/Function.h:
-        * wtf/cocoa/WorkQueueCocoa.cpp:
-        (WTF::WorkQueue::dispatch):
-        (WTF::WorkQueue::dispatchAfter):
-
-2016-07-13  Myles C. Maxfield  <mmaxfield@apple.com>
-
-        Addressing post-review comments after r203119
-        https://bugs.webkit.org/show_bug.cgi?id=159749
-
-        Unreviewed.
-
-        * wtf/text/StringView.h:
-        (WTF::StringView::CodePoints::Iterator::Iterator):
-        (WTF::StringView::CodePoints::Iterator::operator*):
-        (WTF::StringView::CodePoints::Iterator::operator==):
-
-2016-07-13  Enrica Casucci  <enrica@apple.com>
-
-        Update supported platforms in xcconfig files to match the sdk names.
-        https://bugs.webkit.org/show_bug.cgi?id=159728
-
-        Reviewed by Tim Horton.
-
-        * Configurations/Base.xcconfig:
-
-2016-07-13  Carlos Garcia Campos  <cgarcia@igalia.com>
-
-        [GTK] WebKitGtk+ uses too many file descriptors
-        https://bugs.webkit.org/show_bug.cgi?id=152316
-
-        Reviewed by Michael Catanzaro.
-
-        Add helper functions to duplicate a file descriptor setting close on exec flag, and also to set close on exec
-        flag to an existing file descriptor.
-
-        * wtf/UniStdExtras.h:
-        * wtf/UniStdExtras.cpp
-        (WTF::setCloseOnExec):
-        (WTF::dupCloseOnExec):
-
-2016-07-12  Benjamin Poulain  <bpoulain@apple.com>
-
-        [JSC] Array.prototype.join() fails some conformance tests
-        https://bugs.webkit.org/show_bug.cgi?id=159657
-
-        Reviewed by Saam Barati.
-
-        * wtf/text/AtomicString.cpp:
-        (WTF::AtomicString::number):
-        * wtf/text/AtomicString.h:
-
-2016-07-12  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r203131.
-        https://bugs.webkit.org/show_bug.cgi?id=159698
-
-        This change caused an existing LayoutTest to time out on debug
-        testers (Requested by ryanhaddad on #webkit).
-
-        Reverted changeset:
-
-        "[JSC] Array.prototype.join() fails some conformance tests"
-        https://bugs.webkit.org/show_bug.cgi?id=159657
-        http://trac.webkit.org/changeset/203131
-
-2016-07-12  Filip Pizlo  <fpizlo@apple.com>
-
-        platformUserPreferredLanguages on Mac should not try to put the region into the language
-        https://bugs.webkit.org/show_bug.cgi?id=159693
-
-        Rubber stamped by Alexey Proskuryakov.
-        
-        Currently, navigator.language is the thing that we use as the BCP-47 tag in our Intl code
-        when certain APIs are called without a locale argument.  That mostly makes sense, and is
-        deeply wired into our engine.
-
-        In r200105, we made Intl aware of the region as a separate thing from the language by having
-        platformUserPreferredLanguages() return something like a BCP-47 tag that was
-        <language>-<region>.  For example, if I told System Preferences that I want to speak English
-        but live in Poland then we'd get "en-pl".  This had the effect of making Intl APIs format
-        dates using Polish formatting, for example.
-
-        But this is an odd change, since that same function also feeds into navigator.language.
-        "en-pl" isn't what we want there, since my System Preferences settings aren't supposed to
-        mean that I want to speak Polish-style English.  There's no such thing.
-
-        It may be worthwhile to wire the region settings more elegantly into Intl, but if we do that,
-        it should be via a mechanism that is separate from navigator.language. So, this change simply
-        reverts r200105.
-
-        * wtf/PlatformUserPreferredLanguagesMac.mm:
-        (WTF::httpStyleLanguageCode):
-        (WTF::platformUserPreferredLanguages):
-        (WTF::isValidICUCountryCode): Deleted.
-
-2016-07-12  Per Arne Vollan  <pvollan@apple.com>
-
-        [Win] Fix for build error when trying to version stamp dll.
-        https://bugs.webkit.org/show_bug.cgi?id=159692
-
-        Reviewed by Brent Fulgham.
-
-        Use correct path to version stamp script.
-
-        * wtf/CMakeLists.txt:
-
-2016-07-12  Benjamin Poulain  <bpoulain@apple.com>
-
-        [JSC] Array.prototype.join() fails some conformance tests
-        https://bugs.webkit.org/show_bug.cgi?id=159657
-
-        Reviewed by Saam Barati.
-
-        * wtf/text/AtomicString.cpp:
-        (WTF::AtomicString::number):
-        * wtf/text/AtomicString.h:
-
-2016-07-12  Myles C. Maxfield  <mmaxfield@apple.com>
-
-        Relax ordering requirements on StringView::CodePoints iterator
-        https://bugs.webkit.org/show_bug.cgi?id=159609
-
-        Reviewed by Darin Adler.
-
-        Previously, there was a requirement where if you use a CodePoints
-        iterator, you couldn't dereference twice in a row or increment
-        twice in a row. This restriction is unnecessary.
-
-        * wtf/text/StringView.h:
-        (WTF::StringView::CodePoints::Iterator::Iterator):
-        (WTF::StringView::CodePoints::Iterator::advanceCurrentCodePoint):
-        (WTF::StringView::CodePoints::Iterator::operator*):
-        (WTF::StringView::CodePoints::Iterator::operator==):
-
-2016-07-12  Csaba Osztrogonác  <ossy@webkit.org>
-
-        JSCOnly bulidfix after r203078
-        https://bugs.webkit.org/show_bug.cgi?id=159669
-
-        Reviewed by Yusuke Suzuki.
-
-        * wtf/PlatformJSCOnly.cmake:
-        * wtf/text/jsconly/TextBreakIteratorInternalICUJSCOnly.cpp: Added.
-        (WTF::currentSearchLocaleID):
-        (WTF::currentTextBreakLocaleID):
-
-2016-07-12  Per Arne Vollan  <pvollan@apple.com>
-
-        [Win] DLLs are missing version information.
-        https://bugs.webkit.org/show_bug.cgi?id=159349
-
-        Reviewed by Brent Fulgham.
-
-        Generate autoversion.h and run perl version stamp utility.
-
-        * wtf/CMakeLists.txt:
-
-2016-07-11  Myles C. Maxfield  <mmaxfield@apple.com>
-
-        Implement grapheme cluster iterator on StringView
-        https://bugs.webkit.org/show_bug.cgi?id=159598
-
-        Reviewed by Anders Carlsson.
-
-        This is in preparation for honoring the second argument to FontFaceSet.load().
-
-        * wtf/text/StringView.cpp:
-        (WTF::StringView::GraphemeClusters::Iterator::Impl::Impl):
-        (WTF::StringView::GraphemeClusters::Iterator::Impl::operator++):
-        (WTF::StringView::GraphemeClusters::Iterator::Impl::operator*):
-        (WTF::StringView::GraphemeClusters::Iterator::Impl::operator==):
-        (WTF::StringView::GraphemeClusters::Iterator::Impl::computeIndexEnd):
-        (WTF::StringView::GraphemeClusters::Iterator::Iterator):
-        (WTF::StringView::GraphemeClusters::Iterator::~Iterator):
-        (WTF::StringView::GraphemeClusters::Iterator::operator*):
-        (WTF::StringView::GraphemeClusters::Iterator::operator==):
-        (WTF::StringView::GraphemeClusters::Iterator::operator!=):
-        * wtf/text/StringView.h:
-        (WTF::StringView::GraphemeClusters::GraphemeClusters):
-        * text/TextBreakIterator.cpp:
-        (WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator):
-        * text/TextBreakIterator.h:
-
-2016-07-10  Myles C. Maxfield  <mmaxfield@apple.com>
-
-        Move breaking iterator code to WTF
-        https://bugs.webkit.org/show_bug.cgi?id=159594
-
-        Reviewed by Alex Christensen.
-
-        This is in preparation for giving StringView a GraphemeClusters iterator.
-        Such an interator needs to be implemented on top of our breaking iterator
-        code.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * icu/unicode/ubrk.h: Added.
-        * icu/unicode/utext.h: Renamed from Source/WebCore/icu/unicode/utext.h.
-        * wtf/CMakeLists.txt:
-        * wtf/PlatformEfl.cmake:
-        * wtf/PlatformGTK.cmake:
-        * wtf/PlatformMac.cmake:
-        * wtf/PlatformWin.cmake:
-        * wtf/TinyLRUCache.h:
-        * wtf/text/LineBreakIteratorPoolICU.h: Renamed from Source/WebCore/platform/text/LineBreakIteratorPoolICU.h.
-        (WTF::LineBreakIteratorPool::LineBreakIteratorPool):
-        (WTF::LineBreakIteratorPool::sharedPool):
-        (WTF::LineBreakIteratorPool::makeLocaleWithBreakKeyword):
-        (WTF::LineBreakIteratorPool::take):
-        (WTF::LineBreakIteratorPool::put):
-        * wtf/text/TextBreakIterator.cpp: Renamed from Source/WebCore/platform/text/TextBreakIterator.cpp.
-        (WTF::initializeIterator):
-        (WTF::initializeIteratorWithRules):
-        (WTF::setTextForIterator):
-        (WTF::setContextAwareTextForIterator):
-        (WTF::wordBreakIterator):
-        (WTF::sentenceBreakIterator):
-        (WTF::cursorMovementIterator):
-        (WTF::acquireLineBreakIterator):
-        (WTF::releaseLineBreakIterator):
-        (WTF::mapLineIteratorModeToRules):
-        (WTF::isCJKLocale):
-        (WTF::openLineBreakIterator):
-        (WTF::closeLineBreakIterator):
-        (WTF::compareAndSwapNonSharedCharacterBreakIterator):
-        (WTF::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator):
-        (WTF::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator):
-        (WTF::textBreakFirst):
-        (WTF::textBreakLast):
-        (WTF::textBreakNext):
-        (WTF::textBreakPrevious):
-        (WTF::textBreakPreceding):
-        (WTF::textBreakFollowing):
-        (WTF::textBreakCurrent):
-        (WTF::isTextBreak):
-        (WTF::isWordTextBreak):
-        (WTF::numGraphemeClusters):
-        (WTF::numCharactersInGraphemeClusters):
-        * wtf/text/TextBreakIterator.h: Renamed from Source/WebCore/platform/text/TextBreakIterator.h.
-        (WTF::LazyLineBreakIterator::LazyLineBreakIterator):
-        (WTF::LazyLineBreakIterator::~LazyLineBreakIterator):
-        (WTF::LazyLineBreakIterator::string):
-        (WTF::LazyLineBreakIterator::isLooseCJKMode):
-        (WTF::LazyLineBreakIterator::lastCharacter):
-        (WTF::LazyLineBreakIterator::secondToLastCharacter):
-        (WTF::LazyLineBreakIterator::setPriorContext):
-        (WTF::LazyLineBreakIterator::updatePriorContext):
-        (WTF::LazyLineBreakIterator::resetPriorContext):
-        (WTF::LazyLineBreakIterator::priorContextLength):
-        (WTF::LazyLineBreakIterator::get):
-        (WTF::LazyLineBreakIterator::resetStringAndReleaseIterator):
-        (WTF::NonSharedCharacterBreakIterator::operator TextBreakIterator*):
-        * wtf/text/TextBreakIteratorInternalICU.h: Renamed from Source/WebCore/platform/text/TextBreakIteratorInternalICU.h.
-        * wtf/text/efl/TextBreakIteratorInternalICUEfl.cpp: Renamed from Source/WebCore/platform/text/efl/TextBreakIteratorInternalICUEfl.cpp.
-        (WebCore::currentSearchLocaleID):
-        (WebCore::currentTextBreakLocaleID):
-        * wtf/text/gtk/TextBreakIteratorInternalICUGtk.cpp: Renamed from Source/WebCore/platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp.
-        (WebCore::currentSearchLocaleID):
-        (WebCore::currentTextBreakLocaleID):
-        * wtf/text/icu/UTextProvider.cpp: Renamed from Source/WebCore/platform/text/icu/UTextProvider.cpp.
-        (WTF::fixPointer):
-        (WTF::uTextCloneImpl):
-        * wtf/text/icu/UTextProvider.h: Renamed from Source/WebCore/platform/text/icu/UTextProvider.h.
-        (WTF::uTextProviderContext):
-        (WTF::initializeContextAwareUTextProvider):
-        (WTF::uTextAccessPinIndex):
-        (WTF::uTextAccessInChunkOrOutOfRange):
-        * wtf/text/icu/UTextProviderLatin1.cpp: Renamed from Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp.
-        (WTF::uTextLatin1Clone):
-        (WTF::uTextLatin1NativeLength):
-        (WTF::uTextLatin1Access):
-        (WTF::uTextLatin1Extract):
-        (WTF::uTextLatin1MapOffsetToNative):
-        (WTF::uTextLatin1MapNativeIndexToUTF16):
-        (WTF::uTextLatin1Close):
-        (WTF::openLatin1UTextProvider):
-        (WTF::textLatin1ContextAwareGetCurrentContext):
-        (WTF::textLatin1ContextAwareMoveInPrimaryContext):
-        (WTF::textLatin1ContextAwareSwitchToPrimaryContext):
-        (WTF::textLatin1ContextAwareMoveInPriorContext):
-        (WTF::textLatin1ContextAwareSwitchToPriorContext):
-        (WTF::uTextLatin1ContextAwareClone):
-        (WTF::uTextLatin1ContextAwareNativeLength):
-        (WTF::uTextLatin1ContextAwareAccess):
-        (WTF::uTextLatin1ContextAwareExtract):
-        (WTF::uTextLatin1ContextAwareClose):
-        (WTF::openLatin1ContextAwareUTextProvider):
-        * wtf/text/icu/UTextProviderLatin1.h: Renamed from Source/WebCore/platform/text/icu/UTextProviderLatin1.h.
-        * wtf/text/icu/UTextProviderUTF16.cpp: Renamed from Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp.
-        (WTF::textUTF16ContextAwareGetCurrentContext):
-        (WTF::textUTF16ContextAwareMoveInPrimaryContext):
-        (WTF::textUTF16ContextAwareSwitchToPrimaryContext):
-        (WTF::textUTF16ContextAwareMoveInPriorContext):
-        (WTF::textUTF16ContextAwareSwitchToPriorContext):
-        (WTF::uTextUTF16ContextAwareClone):
-        (WTF::uTextUTF16ContextAwareNativeLength):
-        (WTF::uTextUTF16ContextAwareAccess):
-        (WTF::uTextUTF16ContextAwareExtract):
-        (WTF::uTextUTF16ContextAwareClose):
-        (WTF::openUTF16ContextAwareUTextProvider):
-        * wtf/text/icu/UTextProviderUTF16.h: Renamed from Source/WebCore/platform/text/icu/UTextProviderUTF16.h.
-        * wtf/text/mac/TextBreakIteratorInternalICUMac.mm: Renamed from Source/WebCore/platform/text/mac/TextBreakIteratorInternalICUMac.mm.
-        (WTF::textBreakLocalePreference):
-        (WTF::topLanguagePreference):
-        (WTF::getLocale):
-        (WTF::getSearchLocale):
-        (WTF::currentSearchLocaleID):
-        (WTF::getTextBreakLocale):
-        (WTF::currentTextBreakLocaleID):
-        * wtf/text/win/TextBreakIteratorInternalICUWin.cpp: Renamed from Source/WebCore/platform/text/win/TextBreakIteratorInternalICUWin.cpp.
-        (WebCore::currentSearchLocaleID):
-        (WebCore::currentTextBreakLocaleID):
-
-2016-07-08  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r202799.
-        https://bugs.webkit.org/show_bug.cgi?id=159568
-
-        Caused build failure (Requested by perarne on #webkit).
-
-        Reverted changeset:
-
-        "[Win] DLLs are missing version information."
-        https://bugs.webkit.org/show_bug.cgi?id=159349
-        http://trac.webkit.org/changeset/202799
-
-2016-07-08  Jiewen Tan  <jiewen_tan@apple.com>
-
-        Define DYLD_MACOSX_VERSION_10_12
-        https://bugs.webkit.org/show_bug.cgi?id=159525
-        <rdar://problem/26250296>
-
-        Reviewed by Brent Fulgham.
-
-        * wtf/spi/darwin/dyldSPI.h:
-
-2016-07-01  Jer Noble  <jer.noble@apple.com>
-
-        REGRESSION (r202641): Netflix playback stalls after a few seconds
-        https://bugs.webkit.org/show_bug.cgi?id=159365
-
-        Reviewed by Eric Carlson.
-
-        Add a isBetween() convenience method.
-
-        * wtf/MediaTime.cpp:
-        (WTF::MediaTime::isBetween):
-        * wtf/MediaTime.h:
-
-2016-07-03  Per Arne Vollan  <pvollan@apple.com>
-
-        [Win] DLLs are missing version information.
-        https://bugs.webkit.org/show_bug.cgi?id=159349
-
-        Reviewed by Brent Fulgham.
-
-        Generate autoversion.h in the prebuild step.
-        Run the perl version stamp utility.
-
-        * wtf/CMakeLists.txt:
-
-2016-07-03  Saam Barati  <sbarati@apple.com>
-
-        BytecodeGenerator::getVariablesUnderTDZ is too conservative
-        https://bugs.webkit.org/show_bug.cgi?id=159387
-
-        Reviewed by Filip Pizlo.
-
-        I've templatized SmallPtrSet on its SmallArraySize instead
-        of it always being 8.  
-
-        * wtf/SmallPtrSet.h:
-        (WTF::SmallPtrSet::SmallPtrSet):
-        (WTF::SmallPtrSet::add):
-        (WTF::SmallPtrSet::iterator::operator!=):
-        (WTF::SmallPtrSet::bucket):
-
-2016-07-03  Filip Pizlo  <fpizlo@apple.com>
-
-        Ugh. Once again, unreviewed, roll out unintentional commit in r202790.
-
-        * benchmarks/LockFairnessTest.cpp:
-        (main):
-
-2016-07-02  Dan Bernstein  <mitz@apple.com>
-
-        Build fix.
-
-        * wtf/Assertions.cpp:
-
-2016-07-02  Filip Pizlo  <fpizlo@apple.com>
-
-        Unreviewed, roll back unintentional commit in r202778.
-
-        * benchmarks/LockFairnessTest.cpp:
-        (main):
-
-2016-07-01  Jer Noble  <jer.noble@apple.com>
-
-        Deadlock inside -[WebCoreNSURLSession dealloc]
-        https://bugs.webkit.org/show_bug.cgi?id=159331
-        <rdar://problem/27122716>
-
-        Reviewed by Alex Christensen.
-
-        A Function<> object can wrap any callable type, including a C++ lambda.
-
-        dispatchFunctionsFromMainThread() holds a lock while iterating over the functions in
-        functionQueue(), and during ths iteration, the previous callable object is destroyed by
-        assigning the result of functionQueue().takeFirst(). Because lambdas (and other callables,
-        like functors) can own objects, destroying this callable can have side effects, and if one
-        of those side effects is to call callOnMainThread(), this can deadlock.
-
-        Move this side-effect-having call outside the locked block by clearing the function object
-        immediately after calling it.
-
-        * wtf/MainThread.cpp:
-        (WTF::dispatchFunctionsFromMainThread):
-
-2016-06-29  Jer Noble  <jer.noble@apple.com>
-
-        Adopt MediaRemote.
-        https://bugs.webkit.org/show_bug.cgi?id=159250
-
-        Reviewed by Eric Carlson.
-
-        Add USE_MEDIAREMOTE.
-
-        * wtf/Platform.h:
-
-2016-06-28  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r202580.
-        https://bugs.webkit.org/show_bug.cgi?id=159245
-
-        Caused all WKTR tests to fail on GuardMalloc and Production
-        only for unknown reasons, investigating offline. (Requested by
-        brrian on #webkit).
-
-        Reverted changeset:
-
-        "RunLoop::Timer should use constructor templates instead of
-        class templates"
-        https://bugs.webkit.org/show_bug.cgi?id=159153
-        http://trac.webkit.org/changeset/202580
-
-2016-06-28  Brian Burg  <bburg@apple.com>
-
-        RunLoop::Timer should use constructor templates instead of class templates
-        https://bugs.webkit.org/show_bug.cgi?id=159153
-
-        Reviewed by Alex Christensen.
-
-        Refactor RunLoop::Timer to align with WebCore::Timer. Use a constructor
-        template instead of a class template. Store a bound std::function rather than
-        a templated member and function. Add a constructor that takes a std::function.
-
-        * wtf/RunLoop.h:
-        (WTF::RunLoop::Timer::Timer):
-        (WTF::RunLoop::Timer::fired):
-
-2016-06-28  Tomas Popela  <tpopela@redhat.com>
-
-        THUMB2 support not correctly detected on Fedora with GCC 6.1.
-        https://bugs.webkit.org/show_bug.cgi?id=159083
-
-        Reviewed by Carlos Garcia Campos.
-
-        On Fedora 24 with GCC 6.1. the __thumb2__ and __thumb__ are not
-        defined so the detection of THUMB2 support will fail. Look also
-        whether the __ARM_ARCH_ISA_THUMB is defined to fix the THUMB2
-        detection.
-
-        * wtf/Platform.h:
-
-2016-06-27  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Remove now unused WTF::findNextLineStart
-        https://bugs.webkit.org/show_bug.cgi?id=159157
-
-        Reviewed by Mark Lam.
-
-        Unused after r202498.
-
-        * wtf/text/StringImpl.cpp:
-        (WTF::StringImpl::findNextLineStart): Deleted.
-        * wtf/text/StringImpl.h:
-        (WTF::findNextLineStart): Deleted.
-        * wtf/text/WTFString.h:
-        (WTF::String::findNextLineStart): Deleted.
-
-2016-06-21  Anders Carlsson  <andersca@apple.com>
-
-        Rename NoncopyableFunction to Function
-        https://bugs.webkit.org/show_bug.cgi?id=158354
-
-        Reviewed by Chris Dumez.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/CrossThreadTask.h:
-        (WTF::CrossThreadTask::CrossThreadTask):
-        * wtf/Function.h: Renamed from Source/WTF/wtf/NoncopyableFunction.h.
-        * wtf/FunctionDispatcher.h:
-        * wtf/MainThread.cpp:
-        (WTF::functionQueue):
-        (WTF::dispatchFunctionsFromMainThread):
-        (WTF::callOnMainThread):
-        * wtf/MainThread.h:
-        * wtf/RunLoop.cpp:
-        (WTF::RunLoop::performWork):
-        (WTF::RunLoop::dispatch):
-        * wtf/RunLoop.h:
-        * wtf/WorkQueue.h:
-        * wtf/cocoa/WorkQueueCocoa.cpp:
-        (WTF::WorkQueue::dispatch):
-        (WTF::WorkQueue::dispatchAfter):
-        * wtf/efl/DispatchQueueWorkItemEfl.h:
-        (WorkItem::WorkItem):
-        (TimerWorkItem::create):
-        (TimerWorkItem::TimerWorkItem):
-        * wtf/efl/WorkQueueEfl.cpp:
-        (WTF::WorkQueue::dispatch):
-        (WTF::WorkQueue::dispatchAfter):
-        * wtf/generic/RunLoopGeneric.cpp:
-        (WTF::RunLoop::TimerBase::ScheduledTask::create):
-        (WTF::RunLoop::TimerBase::ScheduledTask::ScheduledTask):
-        (WTF::RunLoop::dispatchAfter):
-        * wtf/generic/WorkQueueGeneric.cpp:
-        (WorkQueue::dispatch):
-        (WorkQueue::dispatchAfter):
-        * wtf/glib/RunLoopGLib.cpp:
-        (WTF::DispatchAfterContext::DispatchAfterContext):
-        (WTF::RunLoop::dispatchAfter):
-        * wtf/win/WorkItemWin.cpp:
-        (WTF::WorkItemWin::WorkItemWin):
-        (WTF::WorkItemWin::create):
-        (WTF::HandleWorkItem::HandleWorkItem):
-        (WTF::HandleWorkItem::createByAdoptingHandle):
-        * wtf/win/WorkItemWin.h:
-        (WTF::WorkItemWin::function):
-        * wtf/win/WorkQueueWin.cpp:
-        (WTF::WorkQueue::dispatch):
-        (WTF::WorkQueue::dispatchAfter):
-
-2016-06-23  David Kilzer  <ddkilzer@apple.com>
-
-        REGRESSION (r202380): iOS 9.x internal builds are broken
-
-        Follow-up fix for: Enable window.open() for existing versions of Secret Society
-        <https://webkit.org/b/159049>
-        <rdar://problem/26528349>
-
-        * wtf/spi/darwin/dyldSPI.h: Define DYLD_IOS_VERSION_10_0 when
-        building on internal SDKs older than iOS 10.
-
-2016-06-23  John Wilander  <wilander@apple.com>
-
-        Enable window.open() for existing versions of Secret Society
-        https://bugs.webkit.org/show_bug.cgi?id=159049
-        <rdar://problem/26528349>
-        
-        Reviewed by Andy Estes.
-
-        The Secret Society Hidden Mystery app has a broken version check treating iOS 10
-        as iOS 1 on iPads. Therefore it believes it can use window.open() in a tap
-        handler. We should allow the existing versions of the app to do this to not break
-        them.
-
-        * wtf/spi/darwin/dyldSPI.h:
-            Added DYLD_IOS_VERSION_10_0.
-
-2016-06-21  Said Abou-Hallawa  <sabouhallawa@apple,com>
-
-        Add system tracing points for requestAnimationFrame() workflow
-        https://bugs.webkit.org/show_bug.cgi?id=158723
-
-        Reviewed by Simon Fraser.
-
-        Define new trace score codes for requestAnimationFrame().
-
-        * wtf/SystemTracing.h:
-        (WTF::TracePoint):
-        (WTF::TraceScope::TraceScope):
-        (WTF::TraceScope::~TraceScope):
-
-2016-06-20  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r202136.
-        https://bugs.webkit.org/show_bug.cgi?id=158932
-
-        JSBench wasn't regressed by r202002 and r202111 on iOS after
-        all (Requested by rniwa_ on #webkit).
-
-        Reverted changeset:
-
-        "Unreviewed, rolling out r202002 and r202111."
-        https://bugs.webkit.org/show_bug.cgi?id=158638
-        http://trac.webkit.org/changeset/202136
-
-2016-06-17  Chris Dumez  <cdumez@apple.com>
-
-        Optimize parseCacheHeader() by using StringView
-        https://bugs.webkit.org/show_bug.cgi?id=158891
-
-        Reviewed by Darin Adler.
-
-        Add a StringView::find() overload which takes a CharacterMatchFunction
-        to match the one on String.
-
-        * wtf/text/StringView.h:
-        (WTF::StringView::find):
-
-2016-06-17  Mark Lam  <mark.lam@apple.com>
-
-        OOM Assertion failure in JSON.stringify.
-        https://bugs.webkit.org/show_bug.cgi?id=158794
-        <rdar://problem/26826254>
-
-        Reviewed by Saam Barati.
-
-        The bug was actually in StringBuilder::appendQuotedJSONString() where it failed
-        to detect an imminent unsigned int overflow.  The fix is to use Checked<unsigned>
-        for the needed math, and RELEASE_ASSERT afterwards that we did not overflow.
-
-        I also added more assertions to detect sooner if any there are any problems with
-        StringBuilder's m_buffer or m_length being incorrectly sized.  These assertions
-        have been run on the JSC and layout tests without any issue.
-
-        * wtf/text/StringBuilder.cpp:
-        (WTF::StringBuilder::resize):
-        (WTF::StringBuilder::allocateBuffer):
-        (WTF::StringBuilder::allocateBufferUpConvert):
-        (WTF::StringBuilder::reallocateBuffer<LChar>):
-        (WTF::StringBuilder::reallocateBuffer<UChar>):
-        (WTF::StringBuilder::reserveCapacity):
-        (WTF::StringBuilder::appendUninitializedSlow):
-        (WTF::StringBuilder::append):
-        (WTF::StringBuilder::appendQuotedJSONString):
-        * wtf/text/StringBuilder.h:
-        (WTF::StringBuilder::swap):
-
-2016-06-14  Filip Pizlo  <fpizlo@apple.com>
-
-        Baseline JIT should be concurrent
-        https://bugs.webkit.org/show_bug.cgi?id=158755
-
-        Reviewed by Geoffrey Garen.
-        
-        The concurrent baseline JIT needs to be able to clone bytecode to get a consistent snapshot.
-        So, this adds such a method.
-
-        * wtf/RefCountedArray.h:
-        (WTF::RefCountedArray::RefCountedArray):
-        (WTF::RefCountedArray::clone):
-
-2016-06-16  Chris Dumez  <cdumez@apple.com>
-
-        No need to ref connection in lambda inside NetworkResourceLoader::tryStoreAsCacheEntry()
-        https://bugs.webkit.org/show_bug.cgi?id=158862
-
-        Reviewed by Darin Adler.
-
-        Add NoncopyableFunction constructor that takes a nullptr_t in, in order
-        to match the std::function API and make porting from one to the other
-        easier.
-
-        * wtf/NoncopyableFunction.h:
-
-2016-06-16  Chris Dumez  <cdumez@apple.com>
-
-        Unreviewed, rolling out r202002 and r202111.
-
-        Ryosuke says this was a JSBench regression on iOS
-
-        Reverted changesets:
-
-        "Make HashMap and HashSet work with Refs"
-        https://bugs.webkit.org/show_bug.cgi?id=158638
-        http://trac.webkit.org/changeset/202002
-
-        "Improve HashMap and HashSet support for Ref"
-        https://bugs.webkit.org/show_bug.cgi?id=158789
-        http://trac.webkit.org/changeset/202111
-
-2016-06-15  Chris Dumez  <cdumez@apple.com>
-
-        [Cocoa] Clean up / optimize ResourceResponse::platformLazyInit(InitLevel)
-        https://bugs.webkit.org/show_bug.cgi?id=158809
-
-        Reviewed by Darin Adler.
-
-        Add toAtomicString() method to StringView to avoid having to call toString()
-        and then atomizing the String at call sites.
-
-        * wtf/text/StringView.h:
-        (WTF::StringView::toAtomicString):
-
-2016-06-15  Sam Weinig  <sam@webkit.org>
-
-        Improve HashMap and HashSet support for Ref
-        https://bugs.webkit.org/show_bug.cgi?id=158789
-
-        Reviewed by Chris Dumez.
-
-        Tests: Add more cases to WTF_HashMap.Ref_Key, WTF_HashMap.Ref_Value and WTF_HashSet.Ref
-
-        * wtf/HashMap.h:
-        * wtf/HashSet.h:
-        Add a MappedTakeType typedef and rework the take functions to use it and HashTraits::take(...).
-
-        * wtf/HashTraits.h:
-        (WTF::GenericHashTraits::assignToEmpty):
-        Move to GenericHashTraits rather than GenericHashTraitsBase, since it is not different
-        between integral and non-integral HashTraits.
-
-        (WTF::GenericHashTraits::take):
-        Add a trait function for take that defaults as a forward. This allows us to override take
-        just like we do with get/peek.
-
-        (WTF::HashTraits<Ref<P>>::emptyValue):
-        Remove unnecessary explicit construction.
-
-        (WTF::HashTraits<Ref<P>>::peek):
-        Fix assertion that could happen if you did a HashMap.get() on an empty Ref value.
-
-        (WTF::HashTraits<Ref<P>>::take):
-        Make the TakeType of a Ref<P> be Optional<Ref<P>>, to avoid having empty
-        Refs returned from HashMap and HashSet. Implement an explicit take() function to
-        construct one.
-
-        (WTF::HashTraits<Ref<P>>::customDeleteBucket): Deleted.
-        Remove unnecessary customDeleteBucket implementation. Ref does not assign nullptr to
-        it's m_ptr in destruction, so there is no dead store to avoid here.
-
-        * wtf/Ref.h:
-        (WTF::Ref::ptrAllowingHashTableEmptyValue):
-        Add HashTrait helper to allow getting the value of m_ptr even when it is null. This
-        allows us to avoid a branch in HashTraits<Ref<P>>::peek().
-
-2016-06-15  Konstantin Tokarev  <annulen@yandex.ru>
-
-        Only Mac port needs ObjC API for JSC
-        https://bugs.webkit.org/show_bug.cgi?id=158780
-
-        Reviewed by Philippe Normand.
-
-        * wtf/FeatureDefines.h:
-
-2016-06-15  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        Unreviewed, follow up patch for r202092
-        https://bugs.webkit.org/show_bug.cgi?id=158661
-
-        During checking Windows port on EWS, accidentally introduce the regression.
-
-        * wtf/Platform.h:
-
-2016-06-15  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        [JSC] Move calling convention flags to WTF
-        https://bugs.webkit.org/show_bug.cgi?id=158661
-
-        Reviewed by Keith Miller.
-
-        * wtf/Platform.h:
-
-2016-06-14  Myles C. Maxfield  <mmaxfield@apple.com>
-
-        Honor bidi unicode codepoints
-        https://bugs.webkit.org/show_bug.cgi?id=149170
-        <rdar://problem/26527378>
-
-        Reviewed by Simon Fraser.
-
-        * wtf/unicode/CharacterNames.h:
-
-2016-06-14  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r202057.
-        https://bugs.webkit.org/show_bug.cgi?id=158749
-
-        This change broke the Windows build. (Requested by ryanhaddad
-        on #webkit).
-
-        Reverted changeset:
-
-        "Honor bidi unicode codepoints"
-        https://bugs.webkit.org/show_bug.cgi?id=149170
-        http://trac.webkit.org/changeset/202057
-
-2016-06-14  Myles C. Maxfield  <mmaxfield@apple.com>
-
-        Honor bidi unicode codepoints
-        https://bugs.webkit.org/show_bug.cgi?id=149170
-        <rdar://problem/26527378>
-
-        Reviewed by Simon Fraser.
-
-        * wtf/unicode/CharacterNames.h:
-
-2016-06-13  Alex Christensen  <achristensen@webkit.org>
-
-        Add WebSocketProvider stub
-        https://bugs.webkit.org/show_bug.cgi?id=158702
-
-        Reviewed by Brady Eidson.
-
-        * wtf/UniqueRef.h:
-        (WTF::UniqueRef::operator->):
-        (WTF::UniqueRef::operator T&):
-        (WTF::UniqueRef::operator const T&):
-        Added operator T& to avoid unneeded .get() calls.
-
-2016-06-13  Sam Weinig  <sam@webkit.org>
-
-        Make HashMap and HashSet work with Refs
-        https://bugs.webkit.org/show_bug.cgi?id=158638
-
-        Reviewed by Darin Adler.
-
-        * wtf/GetPtr.h:
-        Move HashTableDeletedValueType and HashTableEmptyValueType here, as they are now shared
-        by more than one smart pointer. This file should probably be renamed to something else
-        at some point to indicate that it contains helpers for pointer and ref related functionality.
-
-        * wtf/HashFunctions.h:
-        Add a DefaultHash for Refs. Customize the PtrHash to indicate that it is not safe to compare
-        to empty or deleted Refs.
-
-        * wtf/HashMap.h:
-        (WTF::HashMapTranslator::equal):
-        (WTF::HashMapTranslator::translate):
-        (WTF::HashMapEnsureTranslator::equal):
-        (WTF::HashMapEnsureTranslator::translate):
-        * wtf/HashSet.h:
-        (WTF::IdentityExtractor::extract):
-        (WTF::HashSetTranslator::hash):
-        (WTF::HashSetTranslator::equal):
-        (WTF::HashSetTranslator::translate):
-        * wtf/HashTable.h:
-        (WTF::IdentityHashTranslator::hash):
-        (WTF::IdentityHashTranslator::equal):
-        (WTF::IdentityHashTranslator::translate):
-        Use the new assignToEmpty trait function to allow uninitialized Ref's to be safely assigned to.
-
-        * wtf/HashTraits.h:
-        (WTF::HashTraits<Ref<P>>::emptyValue):
-        (WTF::HashTraits<Ref<P>>::isEmptyValue):
-        (WTF::HashTraits<Ref<P>>::assignToEmpty):
-        (WTF::HashTraits<Ref<P>>::peek):
-        (WTF::HashTraits<Ref<P>>::customDeleteBucket):
-        Add custom HashTraits for Ref. Also, introduce a new trait function, assignToEmpty, for use
-        in translation assignments. This is necessary since the default assignment operator for Ref
-        will not allow assignment to the empty Ref, which we need to do here.
-
-        * wtf/Ref.h:
-        (WTF::Ref::operator=):
-        (WTF::Ref::Ref):
-        (WTF::Ref::isHashTableDeletedValue):
-        (WTF::Ref::hashTableDeletedValue):
-        (WTF::Ref::isHashTableEmptyValue):
-        (WTF::Ref::hashTableEmptyValue):
-        Add explicit constructors/predicates for making deleted/empty Refs.
-
-        (WTF::Ref::assignToHashTableEmptyValue):
-        Add a special function that allows assignment to an empty Ref, which the
-        assignment operator does not.
-        
-        (WTF::IsSmartPtr):
-        Add an IsSmartPtr override to indicate that Ref is a smart pointer.
-
-        * wtf/RefPtr.h:
-        Move HashTableDeletedValueType to GetPtr.h.
-
-2016-06-13  Fujii Hironori  <Hironori.Fujii@sony.com>
-
-        Stack overflow at RefPtr::release on Windows port since r201782
-        https://bugs.webkit.org/show_bug.cgi?id=158687
-
-        Reviewed by Chris Dumez.
-
-        RefPtr::release calls RefPtr::RefPtr, and RefPtr::RefPtr calls
-        RefPtr::release.
-
-        RefPtr::RefPtr does not need to call RefPtr::release.
-
-        * wtf/RefPtr.h:
-        (WTF::RefPtr::RefPtr): Do not call RefPtr::release.
-
-2016-06-11  Myles C. Maxfield  <mmaxfield@apple.com>
-
-        Addressing post-review comments after r201978.
-        https://bugs.webkit.org/show_bug.cgi?id=158649
-        <rdar://problem/13258122>
-
-        Unreviewed.
-
-        * wtf/text/StringCommon.h:
-        (WTF::equal):
-        (WTF::naiveEqualWithoutPerformingUnicodeNormalization): Deleted.
-
-2016-06-11  Myles C. Maxfield  <mmaxfield@apple.com>
-
-        [Cocoa] Map commonly used Chinese Windows font names to names present on Cocoa operating systems
-        https://bugs.webkit.org/show_bug.cgi?id=158649
-        <rdar://problem/13258122>
-
-        Reviewed by Darin Adler.
-
-        * wtf/text/StringCommon.h:
-        (WTF::naiveEqualWithoutPerformingUnicodeNormalization): Added.
-
-2016-06-11  Chris Dumez  <cdumez@apple.com>
-
-        WorkerNavigator is missing some attributes
-        https://bugs.webkit.org/show_bug.cgi?id=158593
-        <rdar://problem/26731334>
-
-        Reviewed by Darin Adler.
-
-        * wtf/PlatformUserPreferredLanguages.h:
-        * wtf/PlatformUserPreferredLanguagesWin.cpp:
-        (WTF::platformLanguage):
-        (WTF::platformUserPreferredLanguages):
-
-        Make platformUserPreferredLanguages() thread safe on Windows. The
-        Mac and Unix implementations are already thread-safe.
-
-        HAS_FASTCALL_CALLING_CONVENTION is changed to COMPILER_SUPPORTS(FASTCALL_CALLING_CONVENTION).
-
-2016-06-10  Alex Christensen  <achristensen@webkit.org>
-
-        Introduce WTF::UniqueRef
-        https://bugs.webkit.org/show_bug.cgi?id=158596
-
-        Reviewed by Brady Eidson.
-
-        WTF::UniqueRef is like a std::unique_ptr that is guaranteed to be non-null.
-        std::make_unique returns a non-null value that is put into a std::unique_ptr, a type
-        that could contain null values.  To be able to pass such values around and store them
-        without wondering if they are null, we now have WTF::UniqueRef which cannot be null.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/CMakeLists.txt:
-        * wtf/UniqueRef.h: Added.
-        (WTF::makeUniqueRef):
-        (WTF::UniqueRef::UniqueRef):
-        (WTF::UniqueRef::get):
-        (WTF::UniqueRef::operator&):
-        (WTF::UniqueRef::operator->):
-
-2016-06-09  Brady Eidson  <beidson@apple.com>
-
-        Unaddressed review feedback from r201872
-
-        * wtf/CrossThreadTask.h:
-        (WTF::callFunctionForCrossThreadTask): Fix typo.
-
-2016-06-09  Brady Eidson  <beidson@apple.com>
-
-        Greatly simplify CrossThreadTask.h.
-        https://bugs.webkit.org/show_bug.cgi?id=158542
-
-        Reviewed by Darin Adler.
-
-        * wtf/CrossThreadTask.h:
-        (WTF::crossThreadCopy):
-        (WTF::callFunctionForCrossThreadTaskImpl):
-        (WTF::callFunctionForCrossThreadTask):
-        (WTF::createCrossThreadTask):
-        (WTF::callMemberFunctionForCrossThreadTaskImpl):
-        (WTF::callMemberFunctionForCrossThreadTask):
-
-2016-06-08  Brady Eidson  <beidson@apple.com>
-
-        Make CrossThreadCopier more efficient (fewer copies!).
-        https://bugs.webkit.org/show_bug.cgi?id=158456
-
-        Reviewed by Alex Christensen.
-
-        Previously, we'd run all arguments through CrossThreadCopier, then immediately make
-        an unnecessary copy of the result during lambda capture.
-
-        Instead, we should just put the CrossThreadCopier generated objects directly in lambdas,
-        which are then captured by NoncopyableFunctions.
-
-        This reduces the number of constructor calls per argument from 2 copies to 1 move.
-
-        * wtf/CrossThreadTask.h:
-        (WTF::CrossThreadTask::CrossThreadTask):
-        (WTF::createCrossThreadTask):
-
-2016-06-07  Filip Pizlo  <fpizlo@apple.com>
-
-        Implement Air::allocateStack() in ES6 to see how much of a bad idea that is
-        https://bugs.webkit.org/show_bug.cgi?id=158318
-
-        Reviewed by Saam Barati.
-
-        * wtf/Insertion.h:
-        (WTF::executeInsertions): I found a bug while rewriting this code in JS.
-        * wtf/PrintStream.h:
-        (WTF::PrintStream::print):
-        (WTF::PrintStream::println): This is useful to have.
-
-2016-06-07  Keith Rollin  <krollin@apple.com>
-
-        Remove all uses of PassRefPtr in WTF
-        https://bugs.webkit.org/show_bug.cgi?id=157596
-        <rdar://problem/26234391>
-
-        Reviewed by Chris Dumez.
-
-        Remove/update most interfaces that take or return PassRefPtrs.
-        Remaining references include those in non-Cocoa implementations and
-        those required for continued compatibility with modules that still use
-        PassRefPtrs (specifically: Forward.h, RefPtr interoperability,
-        SizeLimits.h, WorkQueue (Windows) DispatchQueueEfl,
-        DispatchWorkItemEfl, and PassRefPtr itself).
-
-        Update calls to interfaces that no longer take or return PassRefPtrs.
-
-        Update adoptRef(T*) to return a RefPtr instead of a PassRefPtr and
-        move it to RefPtr.h from PassRefPtr.h.
-
-        * wtf/MetaAllocator.cpp:
-        (WTF::MetaAllocator::allocate):
-        * wtf/MetaAllocator.h:
-        * wtf/ParallelJobsGeneric.h:
-        (WTF::ParallelEnvironment::ThreadPrivate::create):
-        * wtf/text/AtomicStringImpl.cpp:
-        (WTF::HashAndUTF8CharactersTranslator::translate):
-        (WTF::SubstringTranslator::translate):
-        * wtf/text/CString.cpp:
-        (WTF::CStringBuffer::createUninitialized):
-        * wtf/text/CString.h:
-        * wtf/text/StringBuilder.cpp:
-        (WTF::StringBuilder::reifyString):
-        (WTF::StringBuilder::resize):
-        (WTF::StringBuilder::reallocateBuffer<LChar>):
-        (WTF::StringBuilder::reallocateBuffer<UChar>):
-        * wtf/text/StringImpl.cpp:
-        (WTF::StringImpl::reallocateInternal):
-        (WTF::StringImpl::reallocate):
-        (WTF::StringImpl::create8BitIfPossible):
-        (WTF::StringImpl::createSymbol):
-        (WTF::StringImpl::createNullSymbol):
-        (WTF::StringImpl::convertToLowercaseWithoutLocale):
-        (WTF::StringImpl::convertToUppercaseWithoutLocale):
-        (WTF::StringImpl::convertToLowercaseWithLocale):
-        (WTF::StringImpl::convertToUppercaseWithLocale):
-        (WTF::StringImpl::convertASCIICase):
-        * wtf/text/StringImpl.h:
-        (WTF::StringImpl::StringImpl):
-        (WTF::StringImpl::createSubstringSharingImpl):
-        (WTF::StringImpl::tryCreateUninitialized):
-        (WTF::StringImpl::extractFoldedStringInSymbol):
-        * wtf/text/SymbolRegistry.cpp:
-        (WTF::SymbolRegistry::symbolForKey):
-        * wtf/text/WTFString.cpp:
-        (WTF::String::substringSharingImpl):
-        * wtf/text/WTFString.h:
-        (WTF::String::String): Deleted.
-        * wtf/text/cf/StringImplCF.cpp:
-
-2016-06-07  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        [JSC] Do not allocate unnecessary UTF-8 string for encodeXXX functions
-        https://bugs.webkit.org/show_bug.cgi?id=158416
-
-        Reviewed by Darin Adler and Geoffrey Garen.
-
-        * wtf/Bitmap.h:
-        (WTF::Bitmap::size):
-        (WTF::WordType>::Bitmap):
-        (WTF::WordType>::get):
-        (WTF::WordType>::set):
-        (WTF::WordType>::testAndSet):
-        (WTF::WordType>::testAndClear):
-        (WTF::WordType>::concurrentTestAndSet):
-        (WTF::WordType>::concurrentTestAndClear):
-        (WTF::WordType>::clear):
-        (WTF::WordType>::clearAll):
-        (WTF::WordType>::nextPossiblyUnset):
-        (WTF::WordType>::findRunOfZeros):
-        (WTF::WordType>::count):
-        (WTF::WordType>::isEmpty):
-        (WTF::WordType>::isFull):
-
-2016-06-06  Saam Barati  <sbarati@apple.com>
-
-        equal(StringView, StringView) for strings should have a fast path for pointer equality
-        https://bugs.webkit.org/show_bug.cgi?id=158452
-
-        Reviewed by Andreas Kling.
-
-        JSBench does a lot of StringView::operator== on StringViews that have
-        the same underlying characters pointer. This becomes hot inside JSBench
-        because JSBench heavily stresses JSC's UnlinkedCodeCache with a high
-        hit rate. This means that when we get a hit in the cache, we used to
-        do the long form of string compare. However, we were often comparing
-        two StringViews that had the same underlying buffer and length.
-        This patch speeds this case up to run in constant time instead of
-        linear time.
-
-        * wtf/text/StringCommon.h:
-        (WTF::equalCommon):
-        * wtf/text/StringImpl.h:
-        (WTF::StringImpl::StringImpl):
-        (WTF::StringImpl::data):
-        * wtf/text/StringView.h:
-        (WTF::StringView::data):
-
-2016-06-04  Anders Carlsson  <andersca@apple.com>
-
-        Get rid of WorkItemWin
-        https://bugs.webkit.org/show_bug.cgi?id=158381
-
-        Reviewed by Sam Weinig.
-
-        * wtf/PlatformWin.cmake:
-        * wtf/WorkQueue.h:
-        * wtf/win/WorkItemWin.cpp: Removed.
-        (WTF::WorkItemWin::WorkItemWin): Deleted.
-        (WTF::WorkItemWin::create): Deleted.
-        (WTF::WorkItemWin::~WorkItemWin): Deleted.
-        * wtf/win/WorkItemWin.h: Removed.
-        (WTF::WorkItemWin::function): Deleted.
-        (WTF::WorkItemWin::queue): Deleted.
-        * wtf/win/WorkQueueWin.cpp:
-        (WTF::WorkQueue::performWorkOnRegisteredWorkThread):
-        (WTF::WorkQueue::dispatch):
-
-2016-06-03  Anders Carlsson  <andersca@apple.com>
-
-        Get rid of HANDLE registration code in WorkQueueWin
-        https://bugs.webkit.org/show_bug.cgi?id=158375
-
-        Reviewed by Darin Adler.
-
-        * wtf/WorkQueue.h:
-        * wtf/win/WorkItemWin.cpp:
-        (WTF::HandleWorkItem::HandleWorkItem): Deleted.
-        (WTF::HandleWorkItem::createByAdoptingHandle): Deleted.
-        (WTF::HandleWorkItem::~HandleWorkItem): Deleted.
-        * wtf/win/WorkItemWin.h:
-        (WTF::HandleWorkItem::setWaitHandle): Deleted.
-        (WTF::HandleWorkItem::waitHandle): Deleted.
-        * wtf/win/WorkQueueWin.cpp:
-        (WTF::WorkQueue::handleCallback): Deleted.
-        (WTF::WorkQueue::platformInvalidate): Deleted.
-        (WTF::WorkQueue::unregisterWaitAndDestroyItemSoon): Deleted.
-        (WTF::WorkQueue::unregisterWaitAndDestroyItemCallback): Deleted.
-
-2016-06-03  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r201663.
-        https://bugs.webkit.org/show_bug.cgi?id=158374
-
-        Broke the Windows build (Requested by andersca on #webkit).
-
-        Reverted changeset:
-
-        "Rename NoncopyableFunction to Function"
-        https://bugs.webkit.org/show_bug.cgi?id=158354
-        http://trac.webkit.org/changeset/201663
-
-2016-06-03  Anders Carlsson  <andersca@apple.com>
-
-        Rename NoncopyableFunction to Function
-        https://bugs.webkit.org/show_bug.cgi?id=158354
-
-        Reviewed by Chris Dumez.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/CrossThreadTask.h:
-        (WTF::CrossThreadTask::CrossThreadTask):
-        * wtf/Function.h: Renamed from Source/WTF/wtf/NoncopyableFunction.h.
-        * wtf/FunctionDispatcher.h:
-        * wtf/MainThread.cpp:
-        (WTF::functionQueue):
-        (WTF::dispatchFunctionsFromMainThread):
-        (WTF::callOnMainThread):
-        * wtf/MainThread.h:
-        * wtf/RunLoop.cpp:
-        (WTF::RunLoop::performWork):
-        (WTF::RunLoop::dispatch):
-        * wtf/RunLoop.h:
-        * wtf/WorkQueue.h:
-        * wtf/cocoa/WorkQueueCocoa.cpp:
-        (WTF::WorkQueue::dispatch):
-        (WTF::WorkQueue::dispatchAfter):
-        * wtf/efl/DispatchQueueWorkItemEfl.h:
-        (WorkItem::WorkItem):
-        (TimerWorkItem::create):
-        (TimerWorkItem::TimerWorkItem):
-        * wtf/efl/WorkQueueEfl.cpp:
-        (WTF::WorkQueue::dispatch):
-        (WTF::WorkQueue::dispatchAfter):
-        * wtf/generic/RunLoopGeneric.cpp:
-        (WTF::RunLoop::TimerBase::ScheduledTask::create):
-        (WTF::RunLoop::TimerBase::ScheduledTask::ScheduledTask):
-        (WTF::RunLoop::dispatchAfter):
-        * wtf/generic/WorkQueueGeneric.cpp:
-        (WorkQueue::dispatch):
-        (WorkQueue::dispatchAfter):
-        * wtf/glib/RunLoopGLib.cpp:
-        (WTF::DispatchAfterContext::DispatchAfterContext):
-        (WTF::RunLoop::dispatchAfter):
-        * wtf/win/WorkItemWin.cpp:
-        (WTF::WorkItemWin::WorkItemWin):
-        (WTF::WorkItemWin::create):
-        (WTF::HandleWorkItem::HandleWorkItem):
-        (WTF::HandleWorkItem::createByAdoptingHandle):
-        * wtf/win/WorkItemWin.h:
-        (WTF::WorkItemWin::function):
-        * wtf/win/WorkQueueWin.cpp:
-        (WTF::WorkQueue::dispatch):
-        (WTF::WorkQueue::dispatchAfter):
-
-2016-06-03  Mark Lam  <mark.lam@apple.com>
-
-        Clean up how StackVisitor dumps its frames.
-        https://bugs.webkit.org/show_bug.cgi?id=158316
-
-        Reviewed by Keith Miller.
-
-        Added an Indenter class what works with dataLog.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/Indenter.h: Added.
-        (WTF::Indenter::Indenter):
-        (WTF::Indenter::dump):
-        (WTF::Indenter::operator++):
-        (WTF::Indenter::operator--):
-
-2016-06-02  Said Abou-Hallawa  <sabouhallawa@apple,com>
-
-        [iOS] PDFDocumentImage should not create a cached image larger than 4M pixels
-        https://bugs.webkit.org/show_bug.cgi?id=157857
-
-        Reviewed by Darin Adler.
-
-        * wtf/StdLibExtras.h: Add a constant value for GB (2^30).
-
-2016-06-02  Oliver Hunt  <oliver@apple.com>
-
-        JS parser incorrectly handles invalid utf8 in error messages.
-        https://bugs.webkit.org/show_bug.cgi?id=158128
-
-        Reviewed by Saam Barati.
-
-        Add a new toStringWithLatin1Fallback that simply uses
-        String::fromUTF8WithLatin1Fallback, so we can avoid the
-        standard String::fromUTF8 null return.
-
-        * wtf/StringPrintStream.cpp:
-        (WTF::StringPrintStream::toStringWithLatin1Fallback):
-        * wtf/StringPrintStream.h:
-
-2016-06-02  Keith Miller  <keith_miller@apple.com>
-
-        Unreviewed, reland r201532. The associated regressions have been fixed
-        by r201584.
-
-2016-06-02  Filip Pizlo  <fpizlo@apple.com>
-
-        Use "= delete" for Locker(int) 
-
-        Rubber stamped by Saam Barati.
-        
-        See discussion: https://bugs.webkit.org/show_bug.cgi?id=158306#c8
-
-        * wtf/Locker.h:
-        (WTF::Locker::Locker):
-        (WTF::Locker::~Locker):
-
-2016-06-02  Filip Pizlo  <fpizlo@apple.com>
-
-        Make it harder to accidentally pass an integer to a locker.
-
-        Rubber stamped by Keith Miller.
-        
-        See here for the discussion: https://bugs.webkit.org/show_bug.cgi?id=158306#c3
-
-        * wtf/Locker.h:
-        (WTF::Locker::Locker):
-        (WTF::Locker::~Locker):
-
-2016-06-02  Filip Pizlo  <fpizlo@apple.com>
-
-        Make it easier to use NoLockingNecessary
-        https://bugs.webkit.org/show_bug.cgi?id=158306
-
-        Reviewed by Keith Miller.
-        
-        An idiom that we borrowed from LLVM is that if a function requires a lock to be held, we
-        have it take a const Locker& as its first argument. This may not communicate which lock is
-        to be held, but it does help us to remember that some lock must be held. So far, it's been
-        relatively easy to then figure out which lock. We've had bugs where we forgot to hold a
-        lock but I don't remember the last time we had a bug where we grabbed the wrong lock.
-        
-        But sometimes, we know at the point where we call such a method that we actually don't
-        need to hold any lock. This usually happens during object construction. If we're
-        constructing some object then we usually know that we have not escaped it yet, so we don't
-        need to waste time acquiring its lock. We could solve this by having a separate set of
-        methods that don't do or require locking. This would be cumbersome, since usually for
-        every variant that takes const Locker&, there is already one that doesn't, and that one
-        will grab the lock for you. So this means having a third variant, that also doesn't take a
-        const Locker&, but does no locking. That's pretty weird.
-        
-        So, we introduced NoLockingNecessary for situations like this. The idiom went like so:
-        
-            Locker<Whatever> locker(Locker<Whatever>::NoLockingNecessary)
-            stuff->foo(locker);
-        
-        Usually though, there would be some distance between where the locker is defined and where
-        it's used, so when you just look at stuff->foo(locker) in isolation you don't know if this
-        is a real locker or a NoLockingNecessary cast. Also, requiring two lines for this just
-        adds code.
-        
-        This change makes this easier. Now you can just do:
-        
-            stuff->foo(NoLockingNecessary).
-        
-        This is because NoLockingNecessary has been pulled out into the WTF namespace (and is
-        usinged from the global namespace) and the Locker<> constructor that takes
-        NoLockingNecessaryTag is now implicit.
-        
-        The only possible downside of this change is that people might use this idiom more
-        frequently now that it's easier to use. I don't think that's a bad thing. I'm now
-        convinced that this is not a bad idiom. When I was fixing an unrelated bug, I almost went
-        the way of adding more locking to some core JSC data structures, and in the process, I
-        needed to use NoLockingNecessary. It's clear that this is a general-purpose idiom and we
-        should not impose artificial constraints on its use.
-
-        * wtf/Locker.h:
-        (WTF::Locker::Locker):
-        (WTF::Locker::~Locker):
-
-2016-06-01  Brady Eidson  <beidson@apple.com>
-
-        Get rid of StringCapture.
-        https://bugs.webkit.org/show_bug.cgi?id=158285
-
-        Reviewed by Chris Dumez.
-
-        * wtf/text/WTFString.h:
-        (WTF::StringCapture::StringCapture): Deleted.
-        (WTF::StringCapture::string): Deleted.
-        (WTF::StringCapture::releaseString): Deleted.
-        (WTF::StringCapture::operator=): Deleted.
-
-2016-06-01  Benjamin Poulain  <bpoulain@apple.com>
-
-        [JSC] Some setters for components of Date do not timeClip() their result
-        https://bugs.webkit.org/show_bug.cgi?id=158278
-
-        Unreviewed.
-
-        * wtf/DateMath.cpp:
-        (WTF::equivalentYearForDST): Deleted.
-        The assertion is bogus.
-        As the comments above explains, the function is completely wrong for years
-        outside [1900-2100].
-        The tests passing large values for years are failing (year <= maxYear).
-        The weird NaN test is a mystery. The old changelog does not explain it.
-
-2016-05-31  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r201363 and r201456.
-        https://bugs.webkit.org/show_bug.cgi?id=158240
-
-        "40% regression on date-format-xparb" (Requested by
-        keith_miller on #webkit).
-
-        Reverted changesets:
-
-        "LLInt should be able to cache prototype loads for values in
-        GetById"
-        https://bugs.webkit.org/show_bug.cgi?id=158032
-        http://trac.webkit.org/changeset/201363
-
-        "get_by_id should support caching unset properties in the
-        LLInt"
-        https://bugs.webkit.org/show_bug.cgi?id=158136
-        http://trac.webkit.org/changeset/201456
-
-2016-05-31  Brady Eidson  <beidson@apple.com>
-
-        Make createCrossThreadTask() functions return on the stack instead of the heap.
-        https://bugs.webkit.org/show_bug.cgi?id=158215
-
-        Reviewed by Darin Adler.
-
-        * WTF.xcodeproj/project.pbxproj:
-
-        * wtf/CrossThreadCopier.cpp:
-
-        * wtf/CrossThreadQueue.h: Added. A lightweight of MessageQueue that deals directly
-          in objects instead of in std::unique_ptrs.
-        (WTF::CrossThreadQueue::isKilled):
-        (WTF::CrossThreadQueue<DataType>::append):
-        (WTF::CrossThreadQueue<DataType>::waitForMessage):
-        (WTF::CrossThreadQueue<DataType>::tryGetMessage):
-
-        * wtf/CrossThreadTask.h:
-        (WTF::createCrossThreadTask):
-        (WTF::CrossThreadTask::CrossThreadTask): Deleted.
-
-2016-05-30  Brady Eidson  <beidson@apple.com>
-
-        Move CrossThreadCopier/CrossThreadTask to WTF.
-        https://bugs.webkit.org/show_bug.cgi?id=158207
-
-        Reviewed by Alex Christensen.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/CMakeLists.txt:
-
-        * wtf/CrossThreadCopier.cpp: Renamed from Source/WebCore/platform/CrossThreadCopier.cpp.
-        * wtf/CrossThreadCopier.h: Renamed from Source/WebCore/platform/CrossThreadCopier.h.
-        (WTF::CrossThreadCopierPassThrough::copy):
-        
-        * wtf/CrossThreadTask.h: Renamed from Source/WebCore/platform/CrossThreadTask.h.
-        (WTF::CrossThreadTask::CrossThreadTask):
-        (WTF::CrossThreadTask::performTask):
-        (WTF::createCrossThreadTask):
-
-2016-05-28  Chris Dumez  <cdumez@apple.com>
-
-        Templatize NoncopyableFunction class similarly to std::function
-        https://bugs.webkit.org/show_bug.cgi?id=158185
-
-        Reviewed by Darin Adler.
-
-        Templatize NoncopyableFunction class similarly to std::function, so
-        that it can be used as a std::function replacement in more places.
-
-        Previously, NoncopyableFunction could only support "void()" lambdas.
-
-        * wtf/FunctionDispatcher.h:
-        * wtf/MainThread.cpp:
-        (WTF::functionQueue):
-        (WTF::dispatchFunctionsFromMainThread):
-        (WTF::callOnMainThread):
-        * wtf/MainThread.h:
-        * wtf/NoncopyableFunction.h:
-        * wtf/RunLoop.cpp:
-        (WTF::RunLoop::performWork):
-        (WTF::RunLoop::dispatch):
-        * wtf/RunLoop.h:
-        * wtf/WorkQueue.h:
-        * wtf/cocoa/WorkQueueCocoa.cpp:
-        (WTF::WorkQueue::dispatch):
-        (WTF::WorkQueue::dispatchAfter):
-        * wtf/efl/DispatchQueueWorkItemEfl.h:
-        (WorkItem::WorkItem):
-        (TimerWorkItem::create):
-        (TimerWorkItem::TimerWorkItem):
-        * wtf/efl/WorkQueueEfl.cpp:
-        (WTF::WorkQueue::dispatch):
-        (WTF::WorkQueue::dispatchAfter):
-        * wtf/generic/RunLoopGeneric.cpp:
-        (WTF::RunLoop::TimerBase::ScheduledTask::create):
-        (WTF::RunLoop::TimerBase::ScheduledTask::ScheduledTask):
-        (WTF::RunLoop::dispatchAfter):
-        * wtf/generic/WorkQueueGeneric.cpp:
-        (WorkQueue::dispatch):
-        (WorkQueue::dispatchAfter):
-        * wtf/glib/RunLoopGLib.cpp:
-        (WTF::DispatchAfterContext::DispatchAfterContext):
-        (WTF::RunLoop::dispatchAfter):
-        * wtf/win/WorkItemWin.cpp:
-        (WTF::WorkItemWin::WorkItemWin):
-        (WTF::WorkItemWin::create):
-        (WTF::HandleWorkItem::HandleWorkItem):
-        (WTF::HandleWorkItem::createByAdoptingHandle):
-        * wtf/win/WorkItemWin.h:
-        (WTF::WorkItemWin::function):
-        * wtf/win/WorkQueueWin.cpp:
-        (WTF::WorkQueue::dispatch):
-        (WTF::WorkQueue::dispatchAfter):
-
-2016-05-28  Dan Bernstein  <mitz@apple.com>
-
-        Build fix for projects that include MainThread.h without including FastMalloc.h.
-
-        * wtf/NoncopyableFunction.h: Include FastMalloc.h from here.
-
-2016-05-27  Chris Dumez  <cdumez@apple.com>
-
-        callOnMainThread() should not copy captured lambda variables
-        https://bugs.webkit.org/show_bug.cgi?id=158166
-
-        Reviewed by Brady Eidson.
-
-        callOnMainThread() should not copy captured lambda variables. This
-        function is usually called cross-thread with a lambda and copying
-        the lambda (and its captured variables) can lead to thread-safety
-        issues.
-
-        This patch updates callOnMainThread() to take a NoncopyableFunction&&
-        in parameter instead of a std::function. The call sites of
-        callOnMainThread() have also been updated to use C++14's lambda
-        capture with initializer.
-
-        * WTF.xcodeproj/project.pbxproj:
-
-        * wtf/FunctionDispatcher.h:
-        * wtf/NoncopyableFunction.h:
-        - Moved NoncopyableFunction from FunctionDispatcher.h to
-          NoncopyableFunction.h.
-        - Add a new operator=(nullptr_t) operator to NoncopyableFunction to
-          match std::function, as one of the call sites needed it.
-
-        * wtf/MainThread.cpp:
-        (WTF::functionQueue):
-        (WTF::dispatchFunctionsFromMainThread):
-        (WTF::callOnMainThread):
-        * wtf/MainThread.h:
-
-2016-05-27  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        Unreviewed, build fix for JSCOnly port.
-        https://bugs.webkit.org/show_bug.cgi?id=158111
-
-        Use NoncopyableFunction instead of std::function<>.
-
-        * wtf/generic/RunLoopGeneric.cpp:
-        (WTF::RunLoop::TimerBase::ScheduledTask::create):
-        (WTF::RunLoop::TimerBase::ScheduledTask::ScheduledTask):
-
-2016-05-27  Chris Dumez  <cdumez@apple.com>
-
-        WorkQueue::dispatch() / RunLoop::dispatch() should not copy captured lambda variables
-        https://bugs.webkit.org/show_bug.cgi?id=158111
-
-        Reviewed by Darin Adler.
-
-        WorkQueue::dispatch() / RunLoop::dispatch() should not copy captured lambda variables.
-        These are often used cross-thread and copying the captured lambda variables can be
-        dangerous (e.g. we do not want to copy a String after calling isolatedCopy() upon
-        capture).
-
-        This patch introduces a new NoncopyableFunction type that behaves similarly to
-        std::function but guarantees that the passed-in lambda (and its captured variables)
-        cannot be copied. This new NoncopyableFunction type is now used for
-        WorkQueue / RunLoop's dispatch() / dispatchAfter() which are commonly used
-        cross-thread. This should now allow us to call WorkQueue::dispatch() with a lambda
-        that captures a String like so:
-        [str = str.isolatedCopy()]() { }
-
-        Also note that even though this is not leveraged in this patch, NoncopyableFunction
-        would allow us to capture move-only types such as std::unique_ptr as so:
-        [p = WTFMove(p)]() { }
-        This does not work if we convert the lambda into an std::function because
-        std::function requires the lambda to be copyable, NoncopyableFunction does not.
-
-        * wtf/FunctionDispatcher.h:
-        (WTF::CallableWrapperBase::~CallableWrapperBase):
-        (WTF::NoncopyableFunction::NoncopyableFunction):
-        (WTF::NoncopyableFunction::operator()):
-        (WTF::NoncopyableFunction::operator bool):
-        (WTF::NoncopyableFunction::operator=):
-        * wtf/RunLoop.cpp:
-        (WTF::RunLoop::performWork):
-        (WTF::RunLoop::dispatch):
-        * wtf/RunLoop.h:
-        * wtf/WorkQueue.h:
-        * wtf/cocoa/WorkQueueCocoa.cpp:
-        (WTF::WorkQueue::dispatch):
-        (WTF::WorkQueue::dispatchAfter):
-        * wtf/efl/DispatchQueueWorkItemEfl.h:
-        (WorkItem::WorkItem):
-        (TimerWorkItem::create):
-        (TimerWorkItem::TimerWorkItem):
-        * wtf/efl/WorkQueueEfl.cpp:
-        (WTF::WorkQueue::dispatch):
-        (WTF::WorkQueue::dispatchAfter):
-        * wtf/generic/RunLoopGeneric.cpp:
-        (WTF::RunLoop::dispatchAfter):
-        * wtf/generic/WorkQueueGeneric.cpp:
-        (WorkQueue::dispatch):
-        (WorkQueue::dispatchAfter):
-        * wtf/glib/RunLoopGLib.cpp:
-        (WTF::DispatchAfterContext::DispatchAfterContext):
-        (WTF::RunLoop::dispatchAfter):
-        * wtf/win/WorkItemWin.cpp:
-        (WTF::WorkItemWin::WorkItemWin):
-        (WTF::WorkItemWin::create):
-        (WTF::HandleWorkItem::HandleWorkItem):
-        (WTF::HandleWorkItem::createByAdoptingHandle):
-        * wtf/win/WorkItemWin.h:
-        (WTF::WorkItemWin::function):
-        * wtf/win/WorkQueueWin.cpp:
-        (WTF::WorkQueue::dispatch):
-        (WTF::WorkQueue::timerCallback):
-        (WTF::WorkQueue::dispatchAfter):
-
-2016-05-26  Filip Pizlo  <fpizlo@apple.com>
-
-        ScopedLambda should have a lifetime story that makes sense to the compiler
-        https://bugs.webkit.org/show_bug.cgi?id=158118
-
-        Reviewed by Mark Lam.
-
-        Prior to this change, there were two lifetime bugs in ScopedLambda:
-        
-        - scopedLambda(Functor&&) would bind Functor to const lambda&, so the resulting ScopedLambdaFunctor
-          would hold a reference to the original lambda. This would have surprising behavior; for example
-          it meant that this code was wrong:
-          
-          auto l = scopedLambda<things>([&] ...);
-          
-          The solution is to have explicit copy/move versions of scopedLambda() rather than rely on perfect
-          forwarding.
-        
-        - ScopedLambdaFunctor did not override its copy or move operations, so if the compiler did not RVO
-          scopedLambda(), it would return a ScopedLambdaFunctor whose m_arg points to a dead temporary
-          ScopedLambdaFunctor instance. The solution is to have explicit copy/move constructors and
-          operators, which preserve the invariant that ScopedLambda::m_arg points to this.
-        
-        One nice side-effect of all of these constructors and operators being explicit is that we can rely
-        on WTFMove's excellent assertions, which helped catch the first issue.
-        
-        This reverts ParkingLot to use ScopedLambda again.
-
-        * wtf/ParkingLot.cpp:
-        (WTF::ParkingLot::parkConditionallyImpl):
-        (WTF::ParkingLot::unparkOne):
-        (WTF::ParkingLot::unparkOneImpl):
-        * wtf/ParkingLot.h:
-        (WTF::ParkingLot::parkConditionally):
-        (WTF::ParkingLot::unparkOne):
-        * wtf/ScopedLambda.h:
-        (WTF::scopedLambda):
-
-2016-05-25  Anders Carlsson  <andersca@apple.com>
-
-        Get rid of WTF/Functional.h
-        https://bugs.webkit.org/show_bug.cgi?id=158081
-
-        Reviewed by Chris Dumez.
-
-        This is no longer used, and removing it will free up the name for a new Functional.h implementation.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/Functional.h: Removed.
-        (WTF::RefAndDeref::ref): Deleted.
-        (WTF::RefAndDeref::deref): Deleted.
-        (WTF::ParamStorageTraits::wrap): Deleted.
-        (WTF::ParamStorageTraits::unwrap): Deleted.
-        (WTF::ParamStorageTraits<PassRefPtr<T>>::wrap): Deleted.
-        (WTF::ParamStorageTraits<PassRefPtr<T>>::unwrap): Deleted.
-        (WTF::ParamStorageTraits<RefPtr<T>>::wrap): Deleted.
-        (WTF::ParamStorageTraits<RefPtr<T>>::unwrap): Deleted.
-        (WTF::ParamStorageTraits<RetainPtr<T>>::wrap): Deleted.
-        (WTF::ParamStorageTraits<RetainPtr<T>>::unwrap): Deleted.
-        (WTF::FunctionImplBase::~FunctionImplBase): Deleted.
-        (WTF::FunctionBase::isNull): Deleted.
-        (WTF::FunctionBase::FunctionBase): Deleted.
-        (WTF::FunctionBase::impl): Deleted.
-        (WTF::bind): Deleted.
-        * wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
-
-2016-05-24  Keith Miller  <keith_miller@apple.com>
-
-        LLInt should be able to cache prototype loads for values in GetById
-        https://bugs.webkit.org/show_bug.cgi?id=158032
-
-        Reviewed by Filip Pizlo.
-
-        Add move constructors/initializers to Bags.
-
-        * wtf/Bag.h:
-        (WTF::Bag::Bag):
-        (WTF::Bag::operator=):
-
-2016-05-24  Chris Dumez  <cdumez@apple.com>
-
-        Use auto for some of our lambda function parameters
-        https://bugs.webkit.org/show_bug.cgi?id=158001
-
-        Reviewed by Darin Adler.
-
-        Use auto for some of our lambda function parameters now that we build with c++14.
-
-        * wtf/BubbleSort.h:
-        (WTF::bubbleSort):
-
-2016-05-23  Chris Dumez  <cdumez@apple.com>
-
-        Speed up move of vectors of POD types that have an inline buffer
-        https://bugs.webkit.org/show_bug.cgi?id=158003
-
-        Reviewed by Benjamin Poulain.
-
-        When moving a vector of POD types that have an inline buffer, we would
-        call std::swap() on the inline buffers. This unnecessarily slow because:
-        1. It does not consider the vector size, and therefore may end up doing
-           more work than necessary when the inline buffer is not full.
-        2. In the "move" case, the destination buffer is completely empty so
-           we don't really want a swap. We merely want the move the content of
-           the source's inline buffer into the destination's one.
-
-        Instead of calling std::swap(), we now call swapInlineBuffers() which
-        was already used for non-POD types. swapInlineBuffers() will do just
-        what we want in the "move" case because swapBound is going to be 0.
-        As a result, we will only move the content of the source buffer into
-        the destination one. Also swapInlineBuffers() is aware of the source
-        vector's size so it will only move what's strictly needed.
-
-        This seems to be a 2% progression on Dromaeo DOM attributes test.
-
-        * wtf/Vector.h:
-        (WTF::VectorBuffer::swapInlineBuffer):
-
-2016-05-22  Dan Bernstein  <mitz@apple.com>
-
-        Added NSEventMaskMouseMoved to AppKitCompatibilityDeclarations.h.
-
-        Rubber-stamped by Anders Carlsson.
-
-        * wtf/mac/AppKitCompatibilityDeclarations.h:
-
-2016-05-22  Dan Bernstein  <mitz@apple.com>
-
-        Another attempt to fix the GTK build after my previous changes.
-
-        * wtf/StdLibExtras.h:
-
-2016-05-22  Dan Bernstein  <mitz@apple.com>
-
-        Tried to fix the GTK build after r201257.
-
-        * wtf/StdLibExtras.h:
-
-2016-05-22  Dan Bernstein  <mitz@apple.com>
-
-        Additional fixes for non-C++14 Apple projects that use WTF.
-
-        * wtf/StdLibExtras.h:
-        (std::exchange):
-
-2016-05-22  Dan Bernstein  <mitz@apple.com>
-
-        Additional fixes for non-C++14 Apple projects that use WTF.
-
-        * wtf/StdLibExtras.h:
-        (std::make_unique):
-        (std::move):
-
-2016-05-22  Dan Bernstein  <mitz@apple.com>
-
-        Correct the previous build fix attempt.
-
-        * wtf/StdLibExtras.h:
-
-2016-05-22  Dan Bernstein  <mitz@apple.com>
-
-        Build fix for non-C++14 Apple projects that use WTF.
-
-        Rubber-stamped by Anders.
-
-        * wtf/StdLibExtras.h:
-
-2016-05-22  Brady Eidson  <beidson@apple.com>
-
-        Move to C++14.
-        https://bugs.webkit.org/show_bug.cgi?id=157948
-
-        Reviewed by Michael Catanzaro.
-
-        * Configurations/Base.xcconfig:
-        
-        Delete a lot of "stl additions until we can adopt C++14" code:
-        * wtf/StdLibExtras.h:
-        (std::make_unique): Deleted.
-        (std::index_sequence::size): Deleted.
-        (std::exchange): Deleted.
-        (std::literals::chrono_literals::operator _s): Deleted.
-        (std::literals::chrono_literals::operator _ms): Deleted.
-
-2016-05-20  Rawinder Singh  <rawinder.singh-webkit@cisra.canon.com.au>
-
-        Implement operator== for WeakPtr
-        https://bugs.webkit.org/show_bug.cgi?id=157883
-
-        Reviewed by Chris Dumez.
-
-        Implement operator== and operator!= for WeakPtr and update code to use the operators.
-
-        * wtf/WeakPtr.h:
-        (WTF::operator==):
-        (WTF::operator!=):
-
-2016-05-19  Chris Dumez  <cdumez@apple.com>
-
-        Improve compile-time assertions in is<>() / downcast<>()
-        https://bugs.webkit.org/show_bug.cgi?id=157817
-
-        Reviewed by Darin Adler.
-
-        * wtf/Ref.h:
-        (WTF::is):
-        Add is<>() overloads taking a Ref<>() so that is<>() keeps working when
-        passing a Ref<>(), despite the new static assertions on the input type.
-        Some call sites were already leveraging this as it was working by
-        implicitly converting the Ref<T> into a T&.
-
-        * wtf/TypeCasts.h:
-        (WTF::is):
-        (WTF::downcast):
-        Make static assertions stricter in is<>() / downcast<>() to catch more
-        cases where those are either unnecessary or incorrect.
-
-2016-05-19  Filip Pizlo  <fpizlo@apple.com>
-
-        Unreviewed, fix all of the builds. I failed a second time.
-
-        * wtf/BackwardsGraph.h:
-        (WTF::BackwardsGraph::rootName):
-
-2016-05-19  Filip Pizlo  <fpizlo@apple.com>
-
-        Unreviewed, fix all of the builds. I had made an additional change that I did not mean to
-        commit. This fixes it.
-
-        * wtf/BackwardsGraph.h:
-        (WTF::BackwardsGraph::rootName):
-        (WTF::BackwardsGraph::Set::dump):
-        (WTF::BackwardsGraph::dump):
-
-2016-05-18  Filip Pizlo  <fpizlo@apple.com>
-
-        DFG::LICMPhase shouldn't hoist type checks unless it knows that the check will succeed at the loop pre-header
-        https://bugs.webkit.org/show_bug.cgi?id=144527
-
-        Reviewed by Saam Barati.
-        
-        This adds an adaptor for graphs called BackwardsGraph. The WTF graph framework is based on
-        passing around a Graph template argument that follows the protocol shared by DFG::CFG,
-        B3::CFG, and Air::CFG. These graphs always have a single root node but may have many leaf
-        nodes. This new BackwardsGraph adaptor reverses the graph by creating a synthetic return
-        node that it uses as the root in the inverted graph. This currently may resort to some
-        heuristics in programs that have an infinite loop, but other than that, it'll work well in
-        the general case.
-        
-        This allows us to say Dominators<BackwardsGraph<some graph type>> as a way of computing
-        backwards dominators, which then allows us to easily answer control flow equivalence
-        queries.
-
-        * CMakeLists.txt:
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/BackwardsGraph.h: Added.
-        (WTF::BackwardsGraph::Node::Node):
-        (WTF::BackwardsGraph::Node::root):
-        (WTF::BackwardsGraph::Node::operator==):
-        (WTF::BackwardsGraph::Node::operator!=):
-        (WTF::BackwardsGraph::Node::operator bool):
-        (WTF::BackwardsGraph::Node::isRoot):
-        (WTF::BackwardsGraph::Node::node):
-        (WTF::BackwardsGraph::Set::Set):
-        (WTF::BackwardsGraph::Set::add):
-        (WTF::BackwardsGraph::Set::remove):
-        (WTF::BackwardsGraph::Set::contains):
-        (WTF::BackwardsGraph::Set::dump):
-        (WTF::BackwardsGraph::Map::Map):
-        (WTF::BackwardsGraph::Map::clear):
-        (WTF::BackwardsGraph::Map::size):
-        (WTF::BackwardsGraph::Map::operator[]):
-        (WTF::BackwardsGraph::BackwardsGraph):
-        (WTF::BackwardsGraph::root):
-        (WTF::BackwardsGraph::newMap):
-        (WTF::BackwardsGraph::successors):
-        (WTF::BackwardsGraph::predecessors):
-        (WTF::BackwardsGraph::index):
-        (WTF::BackwardsGraph::node):
-        (WTF::BackwardsGraph::numNodes):
-        (WTF::BackwardsGraph::dump):
-        * wtf/Dominators.h:
-        (WTF::Dominators::Dominators):
-        (WTF::Dominators::dump):
-        (WTF::Dominators::LengauerTarjan::computeDepthFirstPreNumbering):
-        * wtf/GraphNodeWorklist.h:
-        (WTF::GraphNodeWith::GraphNodeWith):
-        (WTF::GraphNodeWith::operator bool):
-        * wtf/StdLibExtras.h:
-        (WTF::callStatelessLambda):
-        (WTF::checkAndSet):
-
-2016-05-18  Saam barati  <sbarati@apple.com>
-
-        StringBuilder::appendQuotedJSONString doesn't properly protect against the math it's doing. Make the math fit the assertion.
-        https://bugs.webkit.org/show_bug.cgi?id=157868
-
-        Reviewed by Benjamin Poulain.
-
-        appendQuotedJSONString was rounding up to the next power of two when resizing
-        its buffer. Lets call the allocation size X. If X > 2^31, then
-        roundUpToPowerOfTwo(X) == 0. This patch fixes this by making the
-        assertion reflect what the code is doing. We now allocate to a size
-        of X = std::max(maximumCapacityRequired , roundUpToPowerOfTwo(maximumCapacityRequired))
-
-        * wtf/text/StringBuilder.cpp:
-        (WTF::StringBuilder::appendQuotedJSONString):
-
-2016-05-17  Joseph Pecoraro  <pecoraro@apple.com>
-
-        REGRESSION(r192855): Math.random() always produces the same first 7 decimal points the first two invocations
-        https://bugs.webkit.org/show_bug.cgi?id=157805
-        <rdar://problem/26327851>
-
-        Reviewed by Geoffrey Garen.
-
-        * wtf/WeakRandom.h:
-        (WTF::WeakRandom::setSeed):
-        Advance once to randomize the 32bit seed across the 128bit state
-        and avoid re-using 64bits of state in the second advance.
-
-2016-05-17  Dean Jackson  <dino@apple.com>
-
-        Remove ES6_GENERATORS flag
-        https://bugs.webkit.org/show_bug.cgi?id=157815
-        <rdar://problem/26332894>
-
-        Reviewed by Geoffrey Garen.
-
-        This flag isn't needed. Generators are enabled everywhere and
-        part of a stable specification.
-
-        * wtf/FeatureDefines.h:
-
-2016-05-17  Filip Pizlo  <fpizlo@apple.com>
-
-        WTF should know about Language
-        https://bugs.webkit.org/show_bug.cgi?id=157756
-
-        Reviewed by Geoffrey Garen.
-
-        This contains two changes:
-
-        - Move everything that WebCore's logic for getting the platform user preferred language
-          depended on into WTF. This means CFBundleSPI.h and BlockObjCExceptions.h|cpp.
-
-        - Move WebCore::platformUserPreferredLanguages() to WTF::platformUserPreferredLanguages().
-          This is needed by https://bugs.webkit.org/show_bug.cgi?id=157755, which will make JSC
-          use this to detect the platform user preferred language when running standalone.
-
-        Moving the dependencies accounts for a huge chunk of this change, since we have to rewire
-        all of the references to those headers in all of WebKit.
-
-        Moving platformUserPreferredLanguages() is mostly easy except for the weird callback.
-        That function would call languageDidChange(), which needs to stay in WebCore. So, this
-        gives WebCore the ability to register a languageDidChange callback. Other than this new
-        logic, the code being added to WTF is just being lifted out of WebCore.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/BlockObjCExceptions.h: Added.
-        * wtf/BlockObjCExceptions.mm: Added.
-        (ReportBlockedObjCException):
-        * wtf/PlatformEfl.cmake:
-        * wtf/PlatformGTK.cmake:
-        * wtf/PlatformJSCOnly.cmake:
-        * wtf/PlatformMac.cmake:
-        * wtf/PlatformUserPreferredLanguages.h: Added.
-        * wtf/PlatformUserPreferredLanguagesMac.mm: Added.
-        (WTF::setPlatformUserPreferredLanguagesChangedCallback):
-        (WTF::preferredLanguages):
-        (+[WTFLanguageChangeObserver languagePreferencesDidChange:]):
-        (WTF::httpStyleLanguageCode):
-        (WTF::isValidICUCountryCode):
-        (WTF::platformUserPreferredLanguages):
-        * wtf/PlatformUserPreferredLanguagesUnix.cpp: Added.
-        (WTF::setPlatformUserPreferredLanguagesChangedCallback):
-        (WTF::platformLanguage):
-        (WTF::platformUserPreferredLanguages):
-        * wtf/PlatformUserPreferredLanguagesWin.cpp: Added.
-        (WTF::setPlatformUserPreferredLanguagesChangedCallback):
-        (WTF::localeInfo):
-        (WTF::platformLanguage):
-        (WTF::platformUserPreferredLanguages):
-        * wtf/PlatformWin.cmake:
-        * wtf/spi/cf: Added.
-        * wtf/spi/cf/CFBundleSPI.h: Added.
-
-2016-05-17  Youenn Fablet  <youenn.fablet@crf.canon.fr>
-
-        DOMPromise should only restrict the resolution type
-        https://bugs.webkit.org/show_bug.cgi?id=157307
-
-        Reviewed by Darin Adler.
-
-        * wtf/Ref.h: Adding static constexpr to ease detection of Ref for templates.
-        * wtf/RefPtr.h: Ditto.
-
-2016-05-16  Michael Saboff  <msaboff@apple.com>
-
-        ARMV7K: Crash at JavaScriptCore: WTF::ScopedLambdaFunctor<bool
-        https://bugs.webkit.org/show_bug.cgi?id=157781
-
-        Reviewed by Filip Pizlo.
-
-        Replaced use of ScopedLambda in locking code with std::function much as it was
-        before change set 199760 to work around what appears to be a clang compiler issue.
-
-        * wtf/ParkingLot.cpp:
-        (WTF::ParkingLot::parkConditionallyImpl):
-        (WTF::ParkingLot::unparkOne):
-        (WTF::ParkingLot::unparkAll):
-        (WTF::ParkingLot::forEach):
-        (WTF::ParkingLot::unparkOneImpl): Deleted.
-        (WTF::ParkingLot::forEachImpl): Deleted.
-        * wtf/ParkingLot.h:
-        (WTF::ParkingLot::parkConditionally):
-        (WTF::ParkingLot::unparkOne): Deleted.
-        (WTF::ParkingLot::forEach): Deleted.
-
-2016-05-15  Chris Dumez  <cdumez@apple.com>
-
-        Use more references in JS wrappers related code
-        https://bugs.webkit.org/show_bug.cgi?id=157721
-
-        Reviewed by Darin Adler.
-
-        Add new static_reference_cast() overload that takes a Ref<U>&& in
-        in order to downcast Ref<> types without causing ref-counting
-        churn.
-
-        * wtf/Ref.h:
-        (WTF::static_reference_cast):
-
-2016-05-13  Chris Dumez  <cdumez@apple.com>
-
-        Unreviewed, rolling out r200837.
-
-        Seems to have regressed Speedometer and JetStream on iOS
-
-        Reverted changeset:
-
-        "DOMPromise should only restrict the resolution type"
-        https://bugs.webkit.org/show_bug.cgi?id=157307
-        http://trac.webkit.org/changeset/200837
-
-2016-05-13  Beth Dakin  <bdakin@apple.com>
-
-        Add dyldSPI.h
-        https://bugs.webkit.org/show_bug.cgi?id=157401
-        -and corresponding-
-        rdar://problem/26253396
-
-        Reviewed by Darin Adler.
-
-        New header for dyld spi.
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/spi/darwin/dyldSPI.h: Added.
-
-2016-05-13  Youenn Fablet  <youenn.fablet@crf.canon.fr>
-
-        DOMPromise should only restrict the resolution type
-        https://bugs.webkit.org/show_bug.cgi?id=157307
-
-        Reviewed by Darin Adler.
-
-        * wtf/Ref.h: Adding static constexpr to ease detection of Ref for templates.
-        * wtf/RefPtr.h: Ditto.
-
-2016-05-12  Daniel Bates  <dabates@apple.com>
-
-        Use SecTask SPI to retrieve code signing identifier for user directory suffix
-        https://bugs.webkit.org/show_bug.cgi?id=157570
-
-        Reviewed by Darin Adler.
-        <rdar://problem/25706517>
-
-        Forward declare SPI SecTaskCopySigningIdentifier().
-
-        * wtf/spi/cocoa/SecuritySPI.h:
-
-2016-05-12  Csaba Osztrogonác  <ossy@webkit.org>
-
-        Remove ENABLE(ES6_ARROWFUNCTION_SYNTAX) guards
-        https://bugs.webkit.org/show_bug.cgi?id=157564
-
-        Reviewed by Darin Adler.
-
-        * wtf/FeatureDefines.h:
-
-2016-05-10  Filip Pizlo  <fpizlo@apple.com>
-
-        Internal JSC profiler should have a timestamped log of events for each code block
-        https://bugs.webkit.org/show_bug.cgi?id=157538
-
-        Reviewed by Benjamin Poulain.
-
-        * wtf/PrintStream.h:
-        (WTF::PrintStream::print):
-
-2016-05-10  Chris Dumez  <cdumez@apple.com>
-
-        Get rid of a lot of calls to RefPtr::release()
-        https://bugs.webkit.org/show_bug.cgi?id=157505
-
-        Reviewed by Alex Christensen.
-
-        Get rid of a lot of calls to RefPtr::release() and use WTFMove() instead.
-
-        * wtf/text/AtomicStringImpl.cpp:
-        (WTF::HashAndUTF8CharactersTranslator::translate):
-        * wtf/text/CString.cpp:
-        (WTF::CString::copyBufferIfNeeded):
-        * wtf/text/StringBuilder.cpp:
-        (WTF::StringBuilder::allocateBuffer):
-        (WTF::StringBuilder::allocateBufferUpConvert):
-        (WTF::StringBuilder::shrinkToFit):
-        * wtf/text/WTFString.cpp:
-        (WTF::String::append):
-        (WTF::String::insert):
-        (WTF::String::removeInternal):
-        * wtf/text/WTFString.h:
-        (WTF::String::String):
-        (WTF::String::operator=):
-        (WTF::String::releaseImpl):
-        (WTF::String::isNull): Deleted.
-
-2016-05-08  Chris Dumez  <cdumez@apple.com>
-
-        [COCOA] Disable HAVE_DTRACE at build time
-        https://bugs.webkit.org/show_bug.cgi?id=157433
-        <rdar://problem/26148841>
-
-        Reviewed by Mark Lam.
-
-        Disable HAVE_DTRACE on COCOA since it is mostly unused and has a performance
-        impact, at least on iOS.
-
-        * wtf/Platform.h:
-
-2016-05-08  Chris Dumez  <cdumez@apple.com>
-
-        [Bindings] Simplify [RequiresExistingAtomicString] IDL extended attribute handling
-        https://bugs.webkit.org/show_bug.cgi?id=157465
-
-        Reviewed by Darin Adler.
-
-        Add an AtomicString(RefPtr<AtomicStringImpl>&&) constructor that is now
-        used by the bindings when [RequiresExistingAtomicString] is used. This
-        is more efficient than using AtomicString(AtomicStringImpl*) as the
-        caller has a RefPtr<AtomicStringImpl> and is consistent with the
-        pre-existing String(RefPtr<AtomicStringImpl>&&) constructor.
-
-        * wtf/text/AtomicString.h:
-        (WTF::AtomicString::AtomicString):
-
-2016-05-08  Darin Adler  <darin@apple.com>
-
-        * wtf/text/WTFString.h: Remove pragma once. Not working for some reason.
-
-2016-05-08  Darin Adler  <darin@apple.com>
-
-        Follow-up to that last patch (missed review comments).
-
-        * wtf/text/WTFString.h: Use nullptr instead of 0 as needed. Also use pragma once.
-
-2016-05-08  Darin Adler  <darin@apple.com>
-
-        Change EventSource constructor to take an IDL dictionary instead of a WebCore::Dictionary
-        https://bugs.webkit.org/show_bug.cgi?id=157459
-
-        Reviewed by Chris Dumez.
-
-        * wtf/text/WTFString.h: Export a symbol now used in WebCore.
-
-2016-05-02  Sam Weinig  <sam@webkit.org>
-
-        On platforms that support it, use a SecTrustRef as the basis of CertificateInfo instead of a chain of SecCertificateRefs.
-        https://bugs.webkit.org/show_bug.cgi?id=157220
-
-        Reviewed by Darin Adler.
-
-        * wtf/Platform.h:
-        Add support for HAVE(SEC_TRUST_SERIALIZATION).
-
-        * wtf/spi/cocoa/SecuritySPI.h:
-        Add SPI access to SecTrustSerialize and SecTrustDeserialize.
-
-2016-05-04  Filip Pizlo  <fpizlo@apple.com>
-
-        Add HLE locks and synchronic TTAS locks to the ToyLocks benchmark suite
-        https://bugs.webkit.org/show_bug.cgi?id=157367
-
-        Rubber stamped by Benjamin Poulain.
-        
-        Turns out they are both a lot slower than WTF::Lock. The HLE lock is written according to Intel's
-        documentation. The synchronic lock follows the algorithm of the "ttas_lock" in the synchronic
-        test.hpp.
-
-        * benchmarks/ToyLocks.h:
-
-2016-05-04  Filip Pizlo  <fpizlo@apple.com>
-
-        Add a few more WTF locking benchmarks
-        https://bugs.webkit.org/show_bug.cgi?id=157365
-
-        Rubber stamped by Benjamin Poulain.
-        
-        Factors out our toy locks into ToyLocks.h and adds a new test (LockFairnessTest) that measures
-        the fairness of locks.
-        
-        The result: WTF::Lock is pretty fair enough.
-
-        * benchmarks/LockFairnessTest.cpp: Added.
-        (main):
-        * benchmarks/LockSpeedTest.cpp:
-        (main):
-        * benchmarks/ToyLocks.h: Added.
-
-2016-05-04  Filip Pizlo  <fpizlo@apple.com>
-
-        Speed up JSGlobalObject initialization by making some properties lazy
-        https://bugs.webkit.org/show_bug.cgi?id=157045
-
-        Reviewed by Keith Miller.
-        
-        This WTF change is at the heart of a large JSC change. In JSC I found myself wanting to
-        do this a lot:
-        
-            static void callback(Foo& foo) { ... }
-        
-            foo.setCallback(callback);
-        
-        But that's not very nice to write if many different setCallback() calls are inside of the
-        same very large function: you'll have to have a lot of static function definitions in
-        one part of the file, and then a bunch of setCallback() calls in another part. It's hard
-        to reason about what's going on with such code.
-        
-        So what if you wrote this instead:
-        
-            foo.setCallback([] (Foo& foo) { ... });
-        
-        Much nicer! There is a standard way to do this: lambdas that are stateless are
-        convertible to function pointers. This change also offers another approach that is a bit
-        more general.
-        
-        These additions to WTF help you do it:
-        
-        isStatelessLambda<Func>(): tells you if Func is a stateless lambda. This uses is_empty to
-        test if the lambda is stateless. This turns out to be a stronger property than
-        convertibility to function pointers. For example, a function pointer is convertible to a
-        function pointer, but it is definitely stateful: you cannot successfully call it if you
-        only has its type. On the other hand, a stateless lambda is really stateless in the sense
-        that you only need its type to call it.
-        
-        callStatelessLambda<ResultType, Func>(Arguments&&...): calls the given stateless lambda.
-        
-        JSC uses these to build up some sophisticated lazy-initialization APIs. The use of
-        statelessness allows JSC to combine a lambda with other logic into a single function
-        pointer.
-
-        * wtf/StdLibExtras.h:
-        (WTF::isStatelessLambda):
-        (WTF::callStatelessLambda):
-
-2016-05-04  Per Arne Vollan  <peavo@outlook.com>
-
-        [Win] Use NeverDestroyed template.
-        https://bugs.webkit.org/show_bug.cgi?id=157345
-
-        Reviewed by Darin Adler.
-
-        * wtf/ThreadingWin.cpp:
-        (WTF::threadMapMutex):
-        (WTF::threadMap):
-
-2016-05-04  Chris Dumez  <cdumez@apple.com>
-
-        Unreviewed, rolling out r200383 and r200406.
-
-        Seems to have caused crashes on iOS / ARMv7s
-
-        Reverted changesets:
-
-        "Speed up JSGlobalObject initialization by making some
-        properties lazy"
-        https://bugs.webkit.org/show_bug.cgi?id=157045
-        http://trac.webkit.org/changeset/200383
-
-        "REGRESSION(r200383): Setting lazily initialized properties
-        across frame boundaries crashes"
-        https://bugs.webkit.org/show_bug.cgi?id=157333
-        http://trac.webkit.org/changeset/200406
-
-2016-05-03  Filip Pizlo  <fpizlo@apple.com>
-
-        Speed up JSGlobalObject initialization by making some properties lazy
-        https://bugs.webkit.org/show_bug.cgi?id=157045
-
-        Reviewed by Keith Miller.
-        
-        This WTF change is at the heart of a large JSC change. In JSC I found myself wanting to
-        do this a lot:
-        
-            static void callback(Foo& foo) { ... }
-        
-            foo.setCallback(callback);
-        
-        But that's not very nice to write if many different setCallback() calls are inside of the
-        same very large function: you'll have to have a lot of static function definitions in
-        one part of the file, and then a bunch of setCallback() calls in another part. It's hard
-        to reason about what's going on with such code.
-        
-        So what if you wrote this instead:
-        
-            foo.setCallback([] (Foo& foo) { ... });
-        
-        Much nicer! There is a standard way to do this: lambdas that are stateless are
-        convertible to function pointers. This change also offers another approach that is a bit
-        more general.
-        
-        These additions to WTF help you do it:
-        
-        isStatelessLambda<Func>(): tells you if Func is a stateless lambda. This uses is_empty to
-        test if the lambda is stateless. This turns out to be a stronger property than
-        convertibility to function pointers. For example, a function pointer is convertible to a
-        function pointer, but it is definitely stateful: you cannot successfully call it if you
-        only has its type. On the other hand, a stateless lambda is really stateless in the sense
-        that you only need its type to call it.
-        
-        callStatelessLambda<ResultType, Func>(Arguments&&...): calls the given stateless lambda.
-        
-        JSC uses these to build up some sophisticated lazy-initialization APIs. The use of
-        statelessness allows JSC to combine a lambda with other logic into a single function
-        pointer.
-
-        * wtf/StdLibExtras.h:
-        (WTF::isStatelessLambda):
-        (WTF::callStatelessLambda):
-
-2016-05-03  Per Arne Vollan  <peavo@outlook.com>
-
-        [Win] Remove Windows XP Compatibility Requirements
-        https://bugs.webkit.org/show_bug.cgi?id=152899
-
-        Reviewed by Brent Fulgham.
-
-        Windows XP is not supported anymore, we can remove workarounds.
-
-        * wtf/Assertions.cpp:
-
-2016-05-03  Per Arne Vollan  <peavo@outlook.com>
-
-        [Win] Warning fix.
-        https://bugs.webkit.org/show_bug.cgi?id=157309
-
-        Reviewed by Darin Adler.
-
-        MSVC gives a warning when converting from signed to unsigned.
-
-        * wtf/SmallPtrSet.h:
-        (WTF::SmallPtrSet::begin):
-
-2016-05-02  Brady Eidson  <beidson@apple.com>
-
-        Add the ability to accumulate logs for specific logging channels to help diagnose test timeouts.
-        https://bugs.webkit.org/show_bug.cgi?id=157274
-
-        Reviewed by Alex Christensen.
-
-        This patch changes WTFLog to add the logging string to the logging accumulator if the logging channel says so.
-        It also adds support for using this new accumulation mechanism.
-
-        * WTF.xcodeproj/project.pbxproj:
-
-        * wtf/Assertions.cpp:
-        (WTF::resetAccumulatedLogs):
-        (WTF::getAndResetAccumulatedLogs):
-        * wtf/Assertions.h:
-
-        * wtf/LoggingAccumulator.h: Added. Expose functions to get accumulated logs and to reset the accumulation.
-
-        * wtf/text/WTFString.cpp:
-        (WTF::String::format): Update to handle %@ on CF (Well, really ObjC) platforms.
-
-2016-05-02  Per Arne Vollan  <peavo@outlook.com>
-
-        [Win] Enable IndexedDB.
-        https://bugs.webkit.org/show_bug.cgi?id=157192
-
-        Reviewed by Brent Fulgham.
-
-        Fix compile errors when format specifiers like PRIu64 is used, by defining
-        __STDC_FORMAT_MACROS before inttypes.h is included.
-
-        * wtf/Platform.h: 
-
-2016-04-27  Brady Eidson  <beidson@apple.com>
-
-        Modern IDB: Implement native IDBFactory.getAllDatabaseNames for WebInspector.
-        https://bugs.webkit.org/show_bug.cgi?id=157072
-
-        Reviewed by Alex Christensen.
-
-        Moved these Hex Digit utilities from WebCore URL code (???), 
-        and add a checked version of getting the hex digit value.
-        
-        * wtf/HexNumber.h:
-        (WTF::isHexDigit):
-        (WTF::uncheckedHexDigit):
-        (WTF::hexDigitValue):
-        (WTF::uncheckedHexDigitValue):
-
-2016-04-25  Ryosuke Niwa  <rniwa@webkit.org>
-
-        Remove the build flag for template elements
-        https://bugs.webkit.org/show_bug.cgi?id=157022
-
-        Reviewed by Daniel Bates.
-
-        * wtf/FeatureDefines.h:
-
-2016-04-25  Fujii Hironori  <Hironori.Fujii@sony.com>
-
-        Heap corruption is detected when destructing JSGlobalObject
-        https://bugs.webkit.org/show_bug.cgi?id=156831
-
-        Reviewed by Mark Lam.
-
-        WebKit uses CRT static library on Windows.  Each copy of the CRT
-        library has its own heap manager, allocating memory in one CRT
-        library and passing the pointer across a DLL boundary to be freed
-        by a different copy of the CRT library is a potential cause for
-        heap corruption.
-
-          Potential Errors Passing CRT Objects Across DLL Boundaries
-          <https://msdn.microsoft.com/en-us/library/ms235460(v=vs.140).aspx>
-
-        JSGlobalObject::createRareDataIfNeeded is inlined but
-        JSGlobalObject::~JSGlobalObject is not.  Then, the heap of
-        allocating JSGlobalObjectRareData is WebKit.dll, but deallocating
-        JavaScriptCore.dll.  Adding WTF_MAKE_FAST_ALLOCATED to
-        JSGlobalObjectRareData ensures heap consistency of it.  WTF::Lock
-        also needs WTF_MAKE_FAST_ALLOCATED because it is allocated from
-        the inlined constructor of JSGlobalObjectRareData.
-
-        * wtf/Lock.h: Add WTF_MAKE_FAST_ALLOCATED.
-
-2016-04-21  Saam barati  <sbarati@apple.com>
-
-        Lets do less locking of symbol tables in the BytecodeGenerator where we don't have race conditions
-        https://bugs.webkit.org/show_bug.cgi?id=156821
-
-        Reviewed by Filip Pizlo.
-
-        This patch introduces a new constructor for Locker which implies no
-        locking is necessary. You instantiate such a locker like so:
-        `Locker<Lock> locker(Locker<Lock>::NoLockingNecessary);`
-
-        This is useful to for very specific places when it is not yet
-        required to engage in a specified locking protocol. As an example,
-        we use this in JSC when we allocate a particular object that
-        engages in a locking protocol with the concurrent compiler thread,
-        but before a concurrent compiler thread that could have access
-        to the object exists.
-
-        * wtf/Locker.h:
-        (WTF::Locker::Locker):
-        (WTF::Locker::~Locker):
-
-2016-04-19  Michael Saboff  <msaboff@apple.com>
-
-        iTunes crashing JavaScriptCore.dll
-        https://bugs.webkit.org/show_bug.cgi?id=156647
-
-        Reviewed by Filip Pizlo.
-
-        If a thread was created without using the WTF thread apis and that thread uses
-        a JavaScript VM and that thread exits with the VM still around, JSC won't know
-        that the thread has exited.  Currently, we use ThreadSpecificThreadExit() to
-        clean up any thread specific keys.  Cleaning up these keys is how JSC is
-        notified of a thread exit.  We only call ThreadSpecificThreadExit() from
-        wtfThreadEntryPoint() when the thread entry point function returns.
-        This mechanism was put in place for Windows because we layer the WTF::ThreadSpecific
-        functionality on top of TLS (Thread Local Storage), but TLS doesn't have
-        a thread exiting callback the way that pthread_create_key does.
-
-        The fix is to change from using TLS to using FLS (Fiber Local Storage).  Although
-        Windows allows multiple fibers per thread, WebKit is not designed to work with a
-        multiple fibers per thread.  When there is only one fiber per thread, FLS works just
-        like TLS, but it has the destroy callback.
-
-        I restructured the Windows version of WTF::ThreadSpecific to be almost the same
-        as the pthread version.  Added THREAD_SPECIFIC_CALL to set the correct
-        calling convenction for Windows 32 bit.
-
-        * wtf/ThreadSpecific.h:
-        (WTF::threadSpecificKeyCreate):
-        (WTF::threadSpecificKeyDelete):
-        (WTF::threadSpecificSet):
-        (WTF::threadSpecificGet):
-        (WTF::ThreadSpecific<T>::ThreadSpecific):
-        (WTF::ThreadSpecific<T>::~ThreadSpecific):
-        (WTF::ThreadSpecific<T>::get):
-        (WTF::ThreadSpecific<T>::set):
-        (WTF::ThreadSpecific<T>::destroy):
-        Restructured to use FLS.  Renamed TLS* to FLS*.
-
-        * wtf/ThreadSpecificWin.cpp:
-        (WTF::flsKeyCount):
-        (WTF::flsKeys):
-        Renamed from tlsKey*() to flsKey*().
-
-        (WTF::destructorsList): Deleted.
-        (WTF::destructorsMutex): Deleted.
-        (WTF::PlatformThreadSpecificKey::PlatformThreadSpecificKey): Deleted.
-        (WTF::PlatformThreadSpecificKey::~PlatformThreadSpecificKey): Deleted.
-        (WTF::PlatformThreadSpecificKey::setValue): Deleted.
-        (WTF::PlatformThreadSpecificKey::value): Deleted.
-        (WTF::PlatformThreadSpecificKey::callDestructor): Deleted.
-        (WTF::tlsKeyCount): Deleted.
-        (WTF::tlsKeys): Deleted.
-        (WTF::threadSpecificKeyCreate): Deleted.
-        (WTF::threadSpecificKeyDelete): Deleted.
-        (WTF::threadSpecificSet): Deleted.
-        (WTF::threadSpecificGet): Deleted.
-        (WTF::ThreadSpecificThreadExit): Deleted.
-
-        * wtf/ThreadingWin.cpp:
-        (WTF::wtfThreadEntryPoint): Eliminated call to ThreadSpecificThreadExit.
-
-2016-04-19  Filip Pizlo  <fpizlo@apple.com>
-
-        Add more locking algorithms to the LockSpeedTest.
-
-        Rubber stamped by Saam Barati.
-
-        * benchmarks/LockSpeedTest.cpp:
-        (main):
-
-2016-04-19  Filip Pizlo  <fpizlo@apple.com>
-
-        Clean up the ParkingLot uparking API a bit
-        https://bugs.webkit.org/show_bug.cgi?id=156746
-
-        Reviewed by Saam Barati and Geoffrey Garen.
-        
-        Previously, unparkOne() would either return a boolean to tell you if there are any more threads on
-        the queue or it would pass your callback a pair of booleans - one to tell if a thread was unparked
-        and another to tell if there are any more threads. This was an annoying inconsistency. What if you
-        wanted to know if unparkOne() unparked a thread but you don't care to use callbacks?
-
-        This fixes unparkOne() to use a struct called UnparkResult for both of its variants. This makes the
-        code a bit cleaner.
-
-        * wtf/Atomics.h: Add some more atomic ops.
-        (WTF::Atomic::exchangeAndAdd):
-        (WTF::Atomic::exchange):
-        * wtf/Condition.h: Change calls to unparkOne().
-        (WTF::ConditionBase::notifyOne):
-        * wtf/Lock.cpp: Change calls to unparkOne().
-        (WTF::LockBase::unlockSlow):
-        * wtf/ParkingLot.cpp:
-        (WTF::ParkingLot::parkConditionally):
-        (WTF::ParkingLot::unparkOne):
-        * wtf/ParkingLot.h: Switch to using ScopedLambda and introduce UnparkResult.
-
-2016-04-19  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r199726.
-        https://bugs.webkit.org/show_bug.cgi?id=156748
-
-        WebKit tests crash on Windows 32 (Requested by msaboff on
-        #webkit).
-
-        Reverted changeset:
-
-        "iTunes crashing JavaScriptCore.dll"
-        https://bugs.webkit.org/show_bug.cgi?id=156647
-        http://trac.webkit.org/changeset/199726
-
-2016-04-19  Michael Saboff  <msaboff@apple.com>
-
-        iTunes crashing JavaScriptCore.dll
-        https://bugs.webkit.org/show_bug.cgi?id=156647
-
-        Reviewed by Saam Barati.
-
-        If a thread was created without using the WTF thread apis and that thread uses
-        a JavaScript VM and that thread exits with the VM still around, JSC won't know
-        that the thread has exited.  Currently, we use ThreadSpecificThreadExit() to
-        clean up any thread specific keys.  Cleaning up these keys is how JSC is
-        notified of a thread exit.  We only call ThreadSpecificThreadExit() from
-        wtfThreadEntryPoint() when the thread entry point function returns.
-        This mechanism was put in place for Windows because we layer the WTF::ThreadSpecific
-        functionality on top of TLS (Thread Local Storage), but TLS doesn't have
-        a thread exiting callback the way that pthread_create_key.
-
-        The fix is to change from using TLS to using FLS (Fiber Local Storage).  Although
-        Windows allows multiple fibers per thread, WebKit is not designed to work with a
-        multiple fibers per thread.  When there is only one fiber per thread, FLS works just
-        like TLS, but it has the destroy callback.
-
-        I restructured the Windows version of WTF::ThreadSpecific to be almost the same
-        as the pthread version.
-
-        * wtf/ThreadSpecific.h:
-        (WTF::threadSpecificKeyCreate):
-        (WTF::threadSpecificKeyDelete):
-        (WTF::threadSpecificSet):
-        (WTF::threadSpecificGet):
-        (WTF::ThreadSpecific<T>::ThreadSpecific):
-        (WTF::ThreadSpecific<T>::~ThreadSpecific):
-        (WTF::ThreadSpecific<T>::get):
-        (WTF::ThreadSpecific<T>::set):
-        (WTF::ThreadSpecific<T>::destroy):
-        Restructured to use FLS.  Renamed TLS* to FLS*.
-
-        * wtf/ThreadSpecificWin.cpp:
-        (WTF::flsKeyCount):
-        (WTF::flsKeys):
-        Renamed from tlsKey*() to flsKey*().
-
-        (WTF::destructorsList): Deleted.
-        (WTF::destructorsMutex): Deleted.
-        (WTF::PlatformThreadSpecificKey::PlatformThreadSpecificKey): Deleted.
-        (WTF::PlatformThreadSpecificKey::~PlatformThreadSpecificKey): Deleted.
-        (WTF::PlatformThreadSpecificKey::setValue): Deleted.
-        (WTF::PlatformThreadSpecificKey::value): Deleted.
-        (WTF::PlatformThreadSpecificKey::callDestructor): Deleted.
-        (WTF::tlsKeyCount): Deleted.
-        (WTF::tlsKeys): Deleted.
-        (WTF::threadSpecificKeyCreate): Deleted.
-        (WTF::threadSpecificKeyDelete): Deleted.
-        (WTF::threadSpecificSet): Deleted.
-        (WTF::threadSpecificGet): Deleted.
-        (WTF::ThreadSpecificThreadExit): Deleted.
-
-        * wtf/ThreadingWin.cpp:
-        (WTF::wtfThreadEntryPoint): Eliminated call to ThreadSpecificThreadExit.
-
-2016-04-19  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        [GTK] Use Generic WorkQueue instead of WorkQueueGLib
-        https://bugs.webkit.org/show_bug.cgi?id=156721
-
-        Reviewed by Benjamin Poulain.
-
-        WorkQueueGLib includes platform-dependent part only for WorkQueue::dispatchAfter.
-        However, its code is related to RunLoopGLib rather than WorkQueueGLib.
-        In this patch, we move the code from WorkQueueGLib to RunLoopGLib, drop WorkQueueGLib
-        and use WorkQueueGeneric.
-
-        * wtf/PlatformGTK.cmake:
-        * wtf/RunLoop.h:
-        * wtf/WorkQueue.h:
-        * wtf/glib/RunLoopGLib.cpp:
-        (WTF::DispatchAfterContext::DispatchAfterContext):
-        (WTF::DispatchAfterContext::dispatch):
-        (WTF::RunLoop::dispatchAfter):
-        * wtf/glib/WorkQueueGLib.cpp: Removed.
-        (WTF::WorkQueue::platformInitialize): Deleted.
-        (WTF::WorkQueue::platformInvalidate): Deleted.
-        (WTF::WorkQueue::dispatch): Deleted.
-        (WTF::DispatchAfterContext::DispatchAfterContext): Deleted.
-        (WTF::DispatchAfterContext::~DispatchAfterContext): Deleted.
-        (WTF::DispatchAfterContext::dispatch): Deleted.
-        (WTF::WorkQueue::dispatchAfter): Deleted.
-
-2016-04-18  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        [JSCOnly] Implement RunLoop and remove glib dependency
-        https://bugs.webkit.org/show_bug.cgi?id=155706
-
-        Reviewed by Michael Catanzaro.
-
-        Add missing RunLoop and WorkQueue platform code for JSCOnly port.
-        The implementation does not use platform specific things. Instead, we
-        implement them on WTF framework; using condition variables to construct
-        the run loop and timers.
-
-        Since the fallback is implemented, it is not necessary for JSCOnly port
-        to depend on GLib's RunLoop abstraction. So this patch removes its
-        dependency. As a result, now, JSCOnly port removes dependencies except for the system ICU.
-
-        We clean up event loop ifdefs by introducing USE_XXX_EVENT_LOOP flags.
-        USE(XXX_EVENT_LOOP) is exclusive to each other. So from now, we do not need to take care
-        of the order of if-defs for the event loops. (For example, USE(GLIB) should have lead before
-        OS(DARWIN) in WorkQueue.h for WebKitGTK on Darwin.)
-
-        EVENT_LOOP determination is done in Platform.h. This follows the style of WTF PLATFORM.
-
-        * wtf/Platform.h:
-        * wtf/PlatformJSCOnly.cmake:
-        * wtf/RunLoop.h:
-        * wtf/WorkQueue.h:
-        * wtf/generic/MainThreadGeneric.cpp: Renamed from Source/WTF/wtf/none/MainThreadNone.cpp.
-        (WTF::initializeMainThreadPlatform):
-        (WTF::scheduleDispatchFunctionsOnMainThread):
-        * wtf/generic/RunLoopGeneric.cpp: Added.
-        (WTF::RunLoop::TimerBase::ScheduledTask::create):
-        (WTF::RunLoop::TimerBase::ScheduledTask::ScheduledTask):
-        (WTF::RunLoop::TimerBase::ScheduledTask::fired):
-        (WTF::RunLoop::TimerBase::ScheduledTask::scheduledTimePoint):
-        (WTF::RunLoop::TimerBase::ScheduledTask::updateReadyTime):
-        (WTF::RunLoop::TimerBase::ScheduledTask::EarliestSchedule::operator()):
-        (WTF::RunLoop::TimerBase::ScheduledTask::isActive):
-        (WTF::RunLoop::TimerBase::ScheduledTask::deactivate):
-        (WTF::RunLoop::RunLoop):
-        (WTF::RunLoop::~RunLoop):
-        (WTF::RunLoop::populateTasks):
-        (WTF::RunLoop::runImpl):
-        (WTF::RunLoop::run):
-        (WTF::RunLoop::iterate):
-        (WTF::RunLoop::stop):
-        (WTF::RunLoop::wakeUp):
-        (WTF::RunLoop::schedule):
-        (WTF::RunLoop::scheduleAndWakeUp):
-        (WTF::RunLoop::dispatchAfter):
-        (WTF::RunLoop::TimerBase::TimerBase):
-        (WTF::RunLoop::TimerBase::~TimerBase):
-        (WTF::RunLoop::TimerBase::start):
-        (WTF::RunLoop::TimerBase::stop):
-        (WTF::RunLoop::TimerBase::isActive):
-        * wtf/generic/WorkQueueGeneric.cpp: Added.
-        (WorkQueue::platformInitialize):
-        (WorkQueue::platformInvalidate):
-        (WorkQueue::dispatch):
-        (WorkQueue::dispatchAfter):
-        * wtf/none/MainThreadNone.cpp:
-        (WTF::initializeMainThreadPlatform): Deleted.
-        (WTF::scheduleDispatchFunctionsOnMainThread): Deleted.
-        * wtf/none/RunLoopNone.cpp:
-        (WTF::RunLoop::RunLoop): Deleted.
-        (WTF::RunLoop::~RunLoop): Deleted.
-        (WTF::RunLoop::run): Deleted.
-        (WTF::RunLoop::stop): Deleted.
-        (WTF::RunLoop::wakeUp): Deleted.
-        (WTF::RunLoop::TimerBase::TimerBase): Deleted.
-        (WTF::RunLoop::TimerBase::~TimerBase): Deleted.
-        (WTF::RunLoop::TimerBase::start): Deleted.
-        (WTF::RunLoop::TimerBase::stop): Deleted.
-        (WTF::RunLoop::TimerBase::isActive): Deleted.
-        * wtf/none/WorkQueueNone.cpp:
-        (WorkQueue::platformInitialize): Deleted.
-        (WorkQueue::platformInvalidate): Deleted.
-        (WorkQueue::dispatch): Deleted.
-        (WorkQueue::dispatchAfter): Deleted.
-
-2016-04-18  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r199621.
-        https://bugs.webkit.org/show_bug.cgi?id=156708
-
-        made windows tests crash (Requested by alexchristensen on
-        #webkit).
-
-        Reverted changeset:
-
-        "iTunes crashing JavaScriptCore.dll"
-        https://bugs.webkit.org/show_bug.cgi?id=156647
-        http://trac.webkit.org/changeset/199621
-
-2016-04-15  Michael Saboff  <msaboff@apple.com>
-
-        iTunes crashing JavaScriptCore.dll
-        https://bugs.webkit.org/show_bug.cgi?id=156647
-
-        Reviewed by Geoffrey Garen.
-
-        If a thread was created without using the WTF thread apis and that thread uses
-        a JavaScript VM and that thread exits with the VM still around, JSC won't know
-        that the thread has exited.  Currently, we use ThreadSpecificThreadExit() to
-        clean up any thread specific keys.  Cleaning up these keys is how JSC is
-        notified of a thread exit.  We only call ThreadSpecificThreadExit() from
-        wtfThreadEntryPoint() when the thread entry point function returns.
-        This mechanism was put in place for Windos because we layer the WTF::ThreadSpecific
-        functionality on top of TLS (Thread Local Storage), but TLS doesn't have
-        a thread exiting callback the way that pthread_create_key.
-
-        The fix is to change from using TLS to using FLS (Fiber Local Storage).  Although
-        Windows allows multiple fibers per thread, WebKit is not designed to work with a
-        multiple fibers per thread.  When ther is only one fiber per thread, FLS works just
-        like TLS, but it has the destroy callback.
-
-        I restructured the Windows version of WTF::ThreadSpecific to be almost the same
-        as the pthread version.
-        
-        * wtf/ThreadSpecific.h:
-        (WTF::threadSpecificKeyCreate):
-        (WTF::threadSpecificKeyDelete):
-        (WTF::threadSpecificSet):
-        (WTF::threadSpecificGet):
-        (WTF::ThreadSpecific<T>::ThreadSpecific):
-        (WTF::ThreadSpecific<T>::~ThreadSpecific):
-        (WTF::ThreadSpecific<T>::get):
-        (WTF::ThreadSpecific<T>::set):
-        (WTF::ThreadSpecific<T>::destroy):
-        Restructured to use FLS.  Renamed TLS* to FLS*.
-
-        * wtf/ThreadSpecificWin.cpp:
-        (WTF::flsKeyCount):
-        (WTF::flsKeys):
-        Renamed from tlsKey*() to flsKey*().
-
-        (WTF::destructorsList): Deleted.
-        (WTF::destructorsMutex): Deleted.
-        (WTF::PlatformThreadSpecificKey::PlatformThreadSpecificKey): Deleted.
-        (WTF::PlatformThreadSpecificKey::~PlatformThreadSpecificKey): Deleted.
-        (WTF::PlatformThreadSpecificKey::setValue): Deleted.
-        (WTF::PlatformThreadSpecificKey::value): Deleted.
-        (WTF::PlatformThreadSpecificKey::callDestructor): Deleted.
-        (WTF::tlsKeyCount): Deleted.
-        (WTF::tlsKeys): Deleted.
-        (WTF::threadSpecificKeyCreate): Deleted.
-        (WTF::threadSpecificKeyDelete): Deleted.
-        (WTF::threadSpecificSet): Deleted.
-        (WTF::threadSpecificGet): Deleted.
-        (WTF::ThreadSpecificThreadExit): Deleted.
-
-        * wtf/ThreadingWin.cpp:
-        (WTF::wtfThreadEntryPoint): Eliminated call to ThreadSpecificThreadExit.
-
-2016-04-12  Filip Pizlo  <fpizlo@apple.com>
-
-        PolymorphicAccess should buffer AccessCases before regenerating
-        https://bugs.webkit.org/show_bug.cgi?id=156457
-
-        Reviewed by Benjamin Poulain.
-
-        * wtf/TinyPtrSet.h:
-        (WTF::TinyPtrSet::add): Add a helpful comment because I had forgotten what the bool return meant.
-
-2016-04-12  Tomas Popela  <tpopela@redhat.com>
-
-        S390X and PPC64 architectures detection is wrong
-        https://bugs.webkit.org/show_bug.cgi?id=156337
-
-        Reviewed by Carlos Garcia Campos.
-
-        After the http://trac.webkit.org/changeset/198919 was committed
-        it showed that the PPC64 detection is wrong as the CPU(PPC) path was
-        activated even for PPC64. The thing is that GCC defines __ppc__
-        even on PPC64 and not just on PPC(32). The same applies for S390X.
-
-        * wtf/Platform.h:
-
-2016-04-05  Oliver Hunt  <oliver@apple.com>
-
-        Remove compile time define for SEPARATED_HEAP
-        https://bugs.webkit.org/show_bug.cgi?id=155508
-
-        Reviewed by Mark Lam.
-
-        * wtf/FeatureDefines.h:
-        * wtf/Platform.h:
-
-2016-04-11  Fujii Hironori  <Hironori.Fujii@jp.sony.com>
-
-        [CMake] Make FOLDER property INHERITED
-        https://bugs.webkit.org/show_bug.cgi?id=156460
-
-        Reviewed by Brent Fulgham.
-
-        * CMakeLists.txt:
-        Set FOLDER directory property
-
-2016-04-08  Alex Christensen  <achristensen@webkit.org>
-
-        Progress towards running CMake WebKit2 on Mac
-        https://bugs.webkit.org/show_bug.cgi?id=156426
-
-        Reviewed by Tim Horton.
-
-        * wtf/PlatformMac.cmake:
-
-2016-04-08  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        [JSC] Enable Concurrent JIT by default
-        https://bugs.webkit.org/show_bug.cgi?id=156341
-
-        Reviewed by Filip Pizlo.
-
-        We enable Concurrent JIT by default when DFG JIT and JSVALUE64 are enabled.
-        This change offers Concurrent JIT to the JSCOnly port.
-
-        * wtf/Platform.h:
-
-2016-04-07  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Remove ENABLE(ENABLE_ES6_CLASS_SYNTAX) guards
-        https://bugs.webkit.org/show_bug.cgi?id=156384
-
-        Reviewed by Ryosuke Niwa.
-
-        * wtf/FeatureDefines.h:
-
-2016-04-06  Filip Pizlo  <fpizlo@apple.com>
-
-        JSC should have a simple way of gathering IC statistics
-        https://bugs.webkit.org/show_bug.cgi?id=156317
-
-        Reviewed by Benjamin Poulain.
-        
-        Make it easier to do relative sleeping on a condition. Previously you could do this using
-        std::chrono. I now believe that std::chrono is just a bad decision, and I always want to
-        use doubles instead. This makes it easier to do the right thing and use doubles.
-
-        * wtf/Condition.h:
-        (WTF::ConditionBase::waitUntilMonotonicClockSeconds):
-        (WTF::ConditionBase::waitForSeconds):
-
-2016-04-06  Simon Fraser  <simon.fraser@apple.com>
-
-        Fix Windows build by converting clampToInteger() into a template that only
-        takes integral types.
-
-        * wtf/MathExtras.h:
-        (clampToInteger):
-
-2016-04-06  Simon Fraser  <simon.fraser@apple.com>
-
-        Page tiles are missing when graphics acceleration is unavailable
-        https://bugs.webkit.org/show_bug.cgi?id=156325
-
-        Reviewed by Tim Horton.
-
-        Add clampToInteger(size_t).
-
-        * wtf/MathExtras.h:
-        (clampToInteger):
-
-2016-04-05  Simon Fraser  <simon.fraser@apple.com>
-
-        Implement operator== and operator!= for Optional<>
-        https://bugs.webkit.org/show_bug.cgi?id=156266
-
-        Reviewed by Anders Carlsson.
-        
-        Implement non-member operator== and operator!= variants for Optional<>.
-
-        * wtf/Optional.h:
-        (WTF::operator==):
-        (WTF::operator!=):
-
-2016-03-19  Filip Pizlo  <fpizlo@apple.com>
-
-        DFG and FTL should constant-fold RegExpExec
-        https://bugs.webkit.org/show_bug.cgi?id=155270
-
-        Reviewed by Saam Barati.
-
-        Make executeInsertions() return the amount by which the vector increased in size. This is a
-        convenient feature that I use in DFG::InsertionSet.
-
-        * wtf/Insertion.h:
-        (WTF::executeInsertions):
-
-2016-04-05  Antoine Quint  <graouts@apple.com>
-
-        [WebGL2] Allow enabling WebGL2 with a runtime flag
-        https://bugs.webkit.org/show_bug.cgi?id=156166
-        <rdar://problem/25526929>
-
-        Removed the manual overrides of ENABLE_WEBGL2.
-
-        Reviewed by Dean Jackson.
-
-        * wtf/FeatureDefines.h:
-
-2016-03-31  Konstantin Tokarev  <annulen@yandex.ru>
-
-        Removed leftovers of ENABLE(INSPECTOR) and ENABLE(VIEWPORT).
-        https://bugs.webkit.org/show_bug.cgi?id=156064
-
-        Reviewed by Csaba Osztrogonác.
-
-        This ifdef guards were removed in r178820 and r147714, respectively.
-
-        * wtf/FeatureDefines.h:
-
-2016-03-31  Brent Fulgham  <bfulgham@apple.com>
-
-        [WK2] Support download attribute feature
-        https://bugs.webkit.org/show_bug.cgi?id=102914
-        <rdar://problem/13177492>
-
-        Reviewed by Darin Adler.
-
-        * wtf/FeatureDefines.h: Turn the ENABLE_DOWNLOAD_ATTRIBUTE flag
-        on to see what happens.
-
-2016-03-30  Brian Burg  <bburg@apple.com>
-
-        Web Automation: Add Automation.performKeyboardInteractions
-        https://bugs.webkit.org/show_bug.cgi?id=155990
-        <rdar://problem/25426408>
-
-        Reviewed by Timothy Hatcher.
-
-        Add a missing NSEventType declaration.
-
-        * wtf/mac/AppKitCompatibilityDeclarations.h:
-
-2016-03-29  Benjamin Poulain  <bpoulain@apple.com>
-
-        [WTF] Removing a smart pointer from HashTable issues two stores to the same location
-        https://bugs.webkit.org/show_bug.cgi?id=155676
-
-        Reviewed by Darin Adler.
-
-        While working on the hot loop of r198376, I noticed something
-        weird...
-        Every time we removed a smart pointer from the hash table,
-        the code generated was something like:
-            Load([bucket]) -> Tmp
-            Store(0 -> [bucket])
-            JumpIfZero(Tmp, ->End)
-            Call fastFree()
-            Store(-1 -> [bucket])
-            -> End:
-
-        The useless store before the branch is annoying, especially on ARM.
-
-        Here is what happens:
-            1) The destructor of the smart pointer swaps its internal value with nullptr.
-            2) Since the smart pointer is not a local in-register value, that nullptr
-               is stored in memory because it could be observable from fastFree().
-            3) The destructor destroy the value if not zero (or deref for RefPtr).
-               The "if-not-zero" may or may not be eliminated depending on what
-               is between getting the iterator and the call to remove().
-            4) fastFree() is called.
-            5) The deleted value is set in the bucket.
-
-        This patch adds custom deletion for those cases to avoid the useless
-        store. The useless null check is still eliminated when we are lucky.
-
-        I went this path instead of changing the destructor of RefPtr for two reasons:
-        -I need this to work in unique_ptr for JSC.
-        -Nulling the memory may have security advantages in the cases where we do not immediately
-         write over that memory again.
-
-        This patch removes 13kb out of x86_64 WebCore.
-
-        * wtf/HashTable.h:
-        (WTF::HashTable::deleteBucket):
-        (WTF::KeyTraits>::removeIf):
-        * wtf/HashTraits.h:
-        (WTF::HashTraits<RefPtr<P>>::customDeleteBucket):
-        (WTF::hashTraitsDeleteBucket):
-        (WTF::KeyValuePairHashTraits::customDeleteBucket):
-        * wtf/text/AtomicStringHash.h:
-        (WTF::HashTraits<WTF::AtomicString>::isEmptyValue):
-        (WTF::HashTraits<WTF::AtomicString>::customDeleteBucket):
-        * wtf/text/StringHash.h:
-        (WTF::HashTraits<String>::customDeleteBucket):
-
-2016-03-28  Brian Burg  <bburg@apple.com>
-
-        Web Automation: implement Automation.performMouseInteraction
-        https://bugs.webkit.org/show_bug.cgi?id=155606
-        <rdar://problem/25227576>
-
-        Reviewed by Timothy Hatcher.
-
-        * wtf/mac/AppKitCompatibilityDeclarations.h: Add missing some NSEventTypes.
-
-2016-03-29  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        REGRESSION(r192914): 10% regression on Sunspider's date-format-tofte
-        https://bugs.webkit.org/show_bug.cgi?id=155559
-
-        Reviewed by Saam Barati.
-
-        Add HashTable::inlineLookup and HashMap::fastGet.
-
-        * wtf/HashMap.h:
-        * wtf/HashTable.h:
-
-2016-03-25  Alex Christensen  <achristensen@webkit.org>
-
-        Add a compile time flag for using QTKit
-        https://bugs.webkit.org/show_bug.cgi?id=155868
-
-        Reviewed by Dan Bates.
-
-        * wtf/Platform.h:
-
-2016-03-24  Alex Christensen  <achristensen@webkit.org>
-
-        Fix iOS9 performance regression after r197572
-        https://bugs.webkit.org/show_bug.cgi?id=155845
-        <rdar://problem/25144924>
-
-        Reviewed by Chris Dumez.
-
-        * wtf/Platform.h:
-        Use CFURLConnection instead of NSURLConnection on internal iOS9 builds.
-
-2016-03-23  Saam Barati  <sbarati@apple.com>
-
-        SmallPtrSet leaks memory in its move assignment operator when !this->isSmall()
-        https://bugs.webkit.org/show_bug.cgi?id=155701
-
-        Reviewed by Darin Adler.
-
-        * wtf/SmallPtrSet.h:
-        (WTF::SmallPtrSet::SmallPtrSet):
-        (WTF::SmallPtrSet::operator=):
-
-2016-03-22  Per Arne Vollan  <peavo@outlook.com>
-
-        [Win] [64-bit] Remove MSVC 2013 FMA3 Bug Workaround
-        https://bugs.webkit.org/show_bug.cgi?id=141499
-
-        Reviewed by Brent Fulgham.
-
-        As we have moved on to VS2015, this workaround is no longer needed.
-
-        * wtf/PlatformWin.cmake:
-        * wtf/win/WTFDLL.cpp: Removed.
-
-2016-03-20  Dan Bernstein  <mitz@apple.com>
-
-        [Mac] Determine TARGET_MAC_OS_X_VERSION_MAJOR from MACOSX_DEPLOYMENT_TARGET rather than from MAC_OS_X_VERSION_MAJOR
-        https://bugs.webkit.org/show_bug.cgi?id=155707
-        <rdar://problem/24980691>
-
-        Reviewed by Darin Adler.
-
-        * Configurations/Base.xcconfig: Set TARGET_MAC_OS_X_VERSION_MAJOR based on the last
-          component of MACOSX_DEPLOYMENT_TARGET.
-        * Configurations/DebugRelease.xcconfig: For engineering builds, preserve the behavior of
-          TARGET_MAC_OS_X_VERSION_MAJOR being the host’s OS version.
-
-2016-03-20  Dan Bernstein  <mitz@apple.com>
-
-        Update build settings
-
-        Rubber-stamped by Andy Estes.
-
-        * Configurations/DebugRelease.xcconfig:
-
-2016-03-17  Benjamin Poulain  <bpoulain@apple.com>
-
-        [JSC] Make CSE's ImpureData faster when dealing with large blocks
-        https://bugs.webkit.org/show_bug.cgi?id=155594
-
-        Reviewed by Filip Pizlo.
-
-        * wtf/HashSet.h:
-        (WTF::V>::removeIf):
-
-2016-03-17  Saam barati  <sbarati@apple.com>
-
-        Implement SmallPtrSet and integrate it into the Parser
-        https://bugs.webkit.org/show_bug.cgi?id=155552
-
-        Reviewed by Filip Pizlo.
-
-        This patch implements the SmallPtrSet data struture.
-        Inspired by the implementation in llvm:
-        http://llvm.org/docs/doxygen/html/SmallPtrSet_8h_source.html
-
-        The data structure uses an inline array for storage up until
-        a fixed limit (8 entries in our implementation). If that storage
-        fills up, we fall back to a simple hash table implementation.
-        Crucially, this implementation doesn't support the remove
-        operation. This is on purpose. The hash table will only ever
-        grow.
-
-        Also, the implementation allows for it to be memcopied around.
-        I.e, we can put SmallPtrSet inside a Vector and allow that
-        Vector to use memcpy as its move operation (of course this
-        is only valid if the SmallPtrSet in the old memory doesn't have 
-        its destructor called unless it is set back to its initial state.)
-
-        For now, SmallPtrSet only supports pointer types that are trivially
-        destructible. It's probably not too difficult to extend this to
-        smart pointers, but it's not part of this original implementation.
-
-        I've also implemented a pure forwarding varargs constructAndAppend
-        method on Vector. This allows you to do:
-        Vector<T> v;
-        v.constructAndAppend(a1, a2, ...)
-        as long as T has a constructor that accepts arguments (a1, a2, ...).
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/CMakeLists.txt:
-        * wtf/SmallPtrSet.h: Added.
-        (WTF::SmallPtrSet::SmallPtrSet):
-        (WTF::SmallPtrSet::operator=):
-        (WTF::SmallPtrSet::~SmallPtrSet):
-        (WTF::SmallPtrSet::add):
-        (WTF::SmallPtrSet::contains):
-        (WTF::SmallPtrSet::iterator::operator++):
-        (WTF::SmallPtrSet::iterator::operator*):
-        (WTF::SmallPtrSet::iterator::operator==):
-        (WTF::SmallPtrSet::iterator::operator!=):
-        (WTF::SmallPtrSet::begin):
-        (WTF::SmallPtrSet::end):
-        (WTF::SmallPtrSet::size):
-        (WTF::SmallPtrSet::emptyValue):
-        (WTF::SmallPtrSet::isValidEntry):
-        (WTF::SmallPtrSet::isSmall):
-        (WTF::SmallPtrSet::initialize):
-        (WTF::SmallPtrSet::grow):
-        (WTF::SmallPtrSet::bucket):
-        * wtf/Vector.h:
-        (WTF::Vector::append):
-        (WTF::Vector::uncheckedAppend):
-        (WTF::minCapacity>::append):
-        (WTF::minCapacity>::constructAndAppend):
-        (WTF::minCapacity>::appendSlowCase):
-        (WTF::minCapacity>::constructAndAppendSlowCase):
-
-2016-03-16  Filip Pizlo  <fpizlo@apple.com>
-
-        Replace all of the various non-working and non-compiling sampling profiler hacks with a single super hack
-        https://bugs.webkit.org/show_bug.cgi?id=155561
-
-        Reviewed by Saam Barati.
-
-        This patch replaces all of our various ad hoc profiling hacks with a single ad hoc profiling hack.
-        That needs to be able to sleep a thread, so I added a portable way to do it.
-
-        This also removes a bunch of ENABLE flags for all of the old non-working hacks.
-
-        * wtf/CurrentTime.cpp:
-        (WTF::currentCPUTime):
-        (WTF::sleep):
-        * wtf/CurrentTime.h:
-        (WTF::sleepMS):
-        * wtf/Platform.h:
-
-2016-03-17  Chris Dumez  <cdumez@apple.com>
-
-        Set the WebContent process's main thread QoS to USER-INTERACTIVE
-        https://bugs.webkit.org/show_bug.cgi?id=155595
-        <rdar://problem/22534965>
-
-        Reviewed by Antti Koivisto.
-
-        Add a relativePriority parameter to setCurrentThreadIsUser*() so that
-        we can do more fine-grained prioritization of threads that have the
-        same QoS.
-
-        * wtf/Threading.cpp:
-        (WTF::setCurrentThreadIsUserInteractive):
-        (WTF::setCurrentThreadIsUserInitiated):
-        (WTF::createThread): Deleted.
-        * wtf/Threading.h:
-
-2016-03-17  Filip Pizlo  <fpizlo@apple.com>
-
-        Silence leaks in ParkingLot
-        https://bugs.webkit.org/show_bug.cgi?id=155510
-
-        Reviewed by Alexey Proskuryakov.
-
-        ParkingLot has a concurrent hashtable that it reallocates on demand. It will not reallocate
-        it in steady state. The hashtable is sized to accommodate the high watermark of the number
-        of active threads - so long as the program doesn't just keep starting an unbounded number
-        of threads that are all active, the hashtable will stop resizing. Each resize operation is
-        designed to stay out of the way of the data-access-parallel normal path, in which two
-        threads operating on different lock addresses don't have to synchronize. To do this, it
-        simply drops the old hashtable without deleting it, so that threads that were still using
-        it don't crash. They will realize that they have the wrong hashtable before doing anything
-        bad, but we don't have a way of proving when all of those threads are no longer going to
-        read from the old hashtables. So, we just leak them.
-
-        This is a bounded leak, since the hashtable resizes exponentially. Thus the total memory
-        utilization of all hashtables, including the leaked ones, converges to a linear function of
-        the current hashtable's size (it's 2 * size of current hashtable).
-
-        But this leak is a problem for leaks tools, which will always report this leak. This is not
-        useful. It's better to silence the leak. That's what this patch does by ensuring that all
-        hashtables, including leaked ones, end up in a global vector. This is perf-neutral.
-
-        This requires making a StaticWordLock variant of WordLock. That's probably the biggest part
-        of this change.
-
-        * wtf/ParkingLot.cpp:
-        * wtf/WordLock.cpp:
-        (WTF::WordLockBase::lockSlow):
-        (WTF::WordLockBase::unlockSlow):
-        (WTF::WordLock::lockSlow): Deleted.
-        (WTF::WordLock::unlockSlow): Deleted.
-        * wtf/WordLock.h:
-        (WTF::WordLockBase::lock):
-        (WTF::WordLockBase::isLocked):
-        (WTF::WordLock::WordLock):
-        (WTF::WordLock::lock): Deleted.
-        (WTF::WordLock::isLocked): Deleted.
-
-2016-03-16  Chris Dumez  <cdumez@apple.com>
-
-        Unreviewed, rolling out r198235, r198240, r198241, and
-        r198252.
-
-        Causing crashes on ARM
-
-        Reverted changesets:
-
-        "Remove compile time define for SEPARATED_HEAP"
-        https://bugs.webkit.org/show_bug.cgi?id=155508
-        http://trac.webkit.org/changeset/198235
-
-        "Gardening: build fix after r198235."
-        http://trac.webkit.org/changeset/198240
-
-        "Build fix."
-        http://trac.webkit.org/changeset/198241
-
-        "Rename performJITMemcpy to something more inline with our
-        normal webkit function names"
-        https://bugs.webkit.org/show_bug.cgi?id=155525
-        http://trac.webkit.org/changeset/198252
-
-2016-03-15  Oliver Hunt  <oliver@apple.com>
-
-        Remove compile time define for SEPARATED_HEAP
-        https://bugs.webkit.org/show_bug.cgi?id=155508
-
-        Reviewed by Mark Lam.
-
-        Remove the feature define.
-
-        * wtf/FeatureDefines.h:
-        * wtf/Platform.h:
-
-2016-03-14  Mark Lam  <mark.lam@apple.com>
-
-        Need to distinguish between Symbol() and Symbol("").
-        https://bugs.webkit.org/show_bug.cgi?id=155438
-
-        Reviewed by Saam Barati.
-
-        While toString of both Symbol() and Symbol("") yields "Symbol()", Function.name
-        should yield "" and "[]" respectively.  Hence, we need to tell between the two.
-        This functionality will be needed later in https://bugs.webkit.org/show_bug.cgi?id=155437.
-
-        We achieve this by creating another singleton instance like the empty StringImpl
-        as the null StringImpl.  isNullSymbol() tests if the Stringimpl instance is a
-        symbol, and its substring is the null() singleton.
-
-        * wtf/text/StringImpl.cpp:
-        (WTF::StringImpl::createSymbol):
-        (WTF::StringImpl::createNullSymbol):
-        (WTF::StringImpl::containsOnlyWhitespace):
-        (WTF::StringImpl::createSymbolEmpty): Deleted.
-        * wtf/text/StringImpl.h:
-        (WTF::StringImpl::tryCreateUninitialized):
-        (WTF::StringImpl::stringKind):
-        (WTF::StringImpl::isSymbol):
-        (WTF::StringImpl::isAtomic):
-        (WTF::StringImpl::isNullSymbol):
-        * wtf/text/StringStatics.cpp:
-        (WTF::StringImpl::null):
-
-2016-03-13  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Remove ENABLE(ES6_TEMPLATE_LITERAL_SYNTAX) guards
-        https://bugs.webkit.org/show_bug.cgi?id=155417
-
-        Reviewed by Yusuke Suzuki.
-
-        * wtf/FeatureDefines.h:
-
-2016-03-13  Konstantin Tokarev  <annulen@yandex.ru>
-
-        Added new port JSCOnly.
-        https://bugs.webkit.org/show_bug.cgi?id=154512
-
-        Reviewed by Michael Catanzaro.
-
-        This port allows to build JavaScriptCore engine with minimal
-        dependencies.
-
-        * wtf/PlatformJSCOnly.cmake: Added.
-        * wtf/none/MainThreadNone.cpp: Added.
-        * wtf/none/RunLoopNone.cpp: Added.
-        * wtf/none/WorkQueueNone.cpp: Added.
-
-2016-03-13  David Kilzer  <ddkilzer@apple.com>
-
-        REGRESSION (r198079): Windows build broke because of "%PRId64" format specifier
-
-        This fixes the following build failure in WebCore for Windows:
-            C:\Source\WebCore\page\DOMTimer.cpp(396): error C2146: syntax error: missing ')' before identifier 'PRId64' [C:\WebKitBuild\Debug\Source\WebCore\WebCore.vcxproj]
-            C:\Source\WebCore\page\DOMTimer.cpp(399): error C2146: syntax error: missing ')' before identifier 'PRId64' [C:\WebKitBuild\Debug\Source\WebCore\WebCore.vcxproj]
-
-        * wtf/StdLibExtras.h: Define "PRId64" for Windows here so it may
-        be shared.  This should fix DOMTimer.cpp after r198079 since it
-        already includes StdLibExtras.h.
-
-2016-03-11  Youenn Fablet  <youenn.fablet@crf.canon.fr>
-
-        WTF should have a similar function as equalLettersIgnoringASCIICase to match beginning of strings
-        https://bugs.webkit.org/show_bug.cgi?id=153419
-
-        Reviewed by Darin Adler.
-
-        Introducing startsWithLettersIgnoringASCIICase, to check the beginning of a string.
-        Moving some code from WTF::equalLettersIgnoringASCIICaseCommonWithoutLength in
-        WTF::hasPrefixWithLettersIgnoringASCIICaseCommon to enable reuse in
-        WTF::startsWithLettersIgnoringASCIICaseCommon.
-
-        * wtf/text/StringCommon.h:
-        (WTF::hasPrefixWithLettersIgnoringASCIICaseCommon):
-        (WTF::equalLettersIgnoringASCIICaseCommonWithoutLength):
-        (WTF::startsWithLettersIgnoringASCIICaseCommonWithoutLength):
-        (WTF::startsWithLettersIgnoringASCIICaseCommon):
-        * wtf/text/StringImpl.h:
-        (WTF::startsWithLettersIgnoringASCIICase):
-        * wtf/text/WTFString.h:
-        (WTF::startsWithLettersIgnoringASCIICase):
-
-2016-03-10  Frederic Wang  <fwang@igalia.com>
-
-        [GTK] Add support for WOFF2
-        https://bugs.webkit.org/show_bug.cgi?id=152616
-
-        Reviewed by Carlos Garcia Campos.
-
-        * wtf/FeatureDefines.h: Enable USE_WOFF2 flag on GTK.
-
-2016-03-09  Ryosuke Niwa  <rniwa@webkit.org>
-
-        Add runtime flags for shadow DOM and custom elements
-        https://bugs.webkit.org/show_bug.cgi?id=155213
-
-        Reviewed by Dean Jackson.
-
-        Removed the manual overrides of ENABLE_SHADOW_DOM and ENABLE_CUSTOM_ELEMENTS as they were
-        making --no-shadow-dom and --no-custom-elements flags on build-webkit useless.
-
-        * wtf/FeatureDefines.h:
-
-2016-03-09  Keith Rollin  <krollin@apple.com>
-
-        Add state dumping facility
-        https://bugs.webkit.org/show_bug.cgi?id=154930
-        <rdar://problem/24939135>
-
-        Reviewed by Anders Carlsson.
-
-        Add an OS_STATE flag to control the inclusion of process state dumping
-        functionality.
-
-        * wtf/Platform.h:
-
-2016-03-09  Oliver Hunt  <oliver@apple.com>
-
-        Fix old iOS
-
-        * wtf/Platform.h:
-
-2016-03-08  Filip Pizlo  <fpizlo@apple.com>
-
-        Remove failing assertion. There are strings that claim to be atomic but that the
-        compiler thread can totally deal with, like the empty string.
-
-        Rubber stamped by Mark Lam.
-
-        * wtf/text/StringImpl.h:
-        (WTF::StringImpl::ref):
-        (WTF::StringImpl::deref):
-
-2016-03-08  Filip Pizlo  <fpizlo@apple.com>
-
-        DFG should be able to constant-fold strings
-        https://bugs.webkit.org/show_bug.cgi?id=155200
-
-        Reviewed by Geoffrey Garen.
-
-        Also disable assertions about reference counting strings on the JIT thread. We will do
-        that now and it's OK.
-
-        * wtf/text/StringImpl.h:
-        (WTF::StringImpl::ref):
-        (WTF::StringImpl::deref):
-
-2016-03-08  Anders Carlsson  <andersca@apple.com>
-
-        Fix AppKitCompatibilityDeclarations build.
-
-        * wtf/mac/AppKitCompatibilityDeclarations.h:
-        Remove duplicate declarations, conditionally define NSTextAlignment and
-        add a NSWindowStyleMask typedef.
-
-2016-03-08  Oliver Hunt  <oliver@apple.com>
-
-        Start moving to separated writable and executable mappings in the JIT
-        https://bugs.webkit.org/show_bug.cgi?id=155178
-
-        Reviewed by Fil Pizlo.
-
-        Update feature defines.
-
-        * wtf/FeatureDefines.h:
-        * wtf/Platform.h: ARM64 for now.
-
-2016-03-08  Anders Carlsson  <andersca@apple.com>
-
-        Add AppKit compatibility header
-        https://bugs.webkit.org/show_bug.cgi?id=155202
-
-        Reviewed by Beth Dakin.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/mac/AppKitCompatibilityDeclarations.h: Added.
-
-2016-03-08  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r197793 and r197799.
-        https://bugs.webkit.org/show_bug.cgi?id=155195
-
-        something weird happened while landing this and everything
-        broke (Requested by olliej on #webkit).
-
-        Reverted changesets:
-
-        "Start moving to separated writable and executable mappings in
-        the JIT"
-        https://bugs.webkit.org/show_bug.cgi?id=155178
-        http://trac.webkit.org/changeset/197793
-
-        "arm64 build fix after r197793."
-        http://trac.webkit.org/changeset/197799
-
-2016-03-08  Oliver Hunt  <oliver@apple.com>
-
-        Start moving to separated writable and executable mappings in the JIT
-        https://bugs.webkit.org/show_bug.cgi?id=155178
-
-        Reviewed by Filip Pizlo.
-
-        Update feature defines.
-
-        * wtf/FeatureDefines.h:
-        * wtf/Platform.h: ARM64 for now.
-
-2016-03-08  Daniel Bates  <dabates@apple.com>
-
-        Support iterating over an OptionSet and checking if it is empty
-        https://bugs.webkit.org/show_bug.cgi?id=154941
-        <rdar://problem/24964187>
-
-        Reviewed by Darin Adler.
-
-        Implements support for iterating over the enumerators in an OptionSet as well as
-        determining if the set is empty.
-
-        Iterating over an OptionSet is in Big Theta(N) where N is the number of items in
-        the set. More precisely, it is in Big Theta(log M) where M is the bitmask represented
-        by the bitwise OR-ing of all enumerators in the set.
-
-        * wtf/OptionSet.h: Added comment to describe the purpose of this class and its invariant -
-        the enumerators must be positive powers of two.
-        (WTF::OptionSet::Iterator::operator*): Returns the enumerator pointed to by the iterator.
-        (WTF::OptionSet::Iterator::operator++): Advance to the next smallest enumerator in the set.
-        (WTF::OptionSet::Iterator::operator==): Returns whether the iterator is equal to the specified iterator.
-        (WTF::OptionSet::Iterator::operator!=): Returns whether the iterator is not equal to the specified iterator.
-        (WTF::OptionSet::Iterator::Iterator): Added.
-        (WTF::OptionSet::fromRaw): Instantiate using specialized private constructor to allow
-        instantiation with a raw value of 0.
-        (WTF::OptionSet::OptionSet): Specialized constructor that asserts that the specified value
-        is a positive power of two. This variant is only compiled when assertions are enabled (i.e. !ASSERT_DISABLED).
-        (WTF::OptionSet::isEmpty): Returns whether the set is empty.
-        (WTF::OptionSet::begin): Returns an iterator to the enumerator with the smallest value in the set.
-        (WTF::OptionSet::end): Returns an iterator that represents the end sentinel of the set.
-
-2016-03-07  Keith Rollin  <krollin@apple.com>
-
-        Enhance logging: Use "always on" macros
-        https://bugs.webkit.org/show_bug.cgi?id=154499
-        <rdar://problem/24757730>
-
-        Reviewed by Chris Dumez.
-
-        Update LOG_ALWAYS and LOG_ALWAYS_ERROR macros to take an expression to
-        be evaluated. If the expression evaluates to True, the associated
-        message is logged. This facility is used to prevent logging from being
-        performed in private sessions, but it could be extended to prevent
-        logging under other circumstances as well.
-
-        * wtf/Assertions.h:
-
-2016-03-04  Alex Christensen  <achristensen@webkit.org>
-
-        Remove vcxproj build system
-        https://bugs.webkit.org/show_bug.cgi?id=154388
-
-        Rubber-stamped by Brent Fulgham.
-
-        * WTF.vcxproj/WTF.submit.sln: Removed.
-        * WTF.vcxproj/WTF.vcxproj: Removed.
-        * WTF.vcxproj/WTF.vcxproj.filters: Removed.
-        * WTF.vcxproj/WTFCFLite.props: Removed.
-        * WTF.vcxproj/WTFCommon.props: Removed.
-        * WTF.vcxproj/WTFCoreFoundation.props: Removed.
-        * WTF.vcxproj/WTFDebug.props: Removed.
-        * WTF.vcxproj/WTFDebugWinCairo.props: Removed.
-        * WTF.vcxproj/WTFGenerated.make: Removed.
-        * WTF.vcxproj/WTFGenerated.vcxproj: Removed.
-        * WTF.vcxproj/WTFGenerated.vcxproj.filters: Removed.
-        * WTF.vcxproj/WTFGeneratedCommon.props: Removed.
-        * WTF.vcxproj/WTFGeneratedDebug.props: Removed.
-        * WTF.vcxproj/WTFGeneratedProduction.props: Removed.
-        * WTF.vcxproj/WTFGeneratedRelease.props: Removed.
-        * WTF.vcxproj/WTFPostBuild.cmd: Removed.
-        * WTF.vcxproj/WTFPreBuild.cmd: Removed.
-        * WTF.vcxproj/WTFProduction.props: Removed.
-        * WTF.vcxproj/WTFRelease.props: Removed.
-        * WTF.vcxproj/WTFReleaseWinCairo.props: Removed.
-        * WTF.vcxproj/build-generated-files.pl: Removed.
-        * WTF.vcxproj/copy-files.cmd: Removed.
-        * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py: Removed.
-
-2016-03-04  Alex Christensen  <achristensen@webkit.org>
-
-        Use NSURLSession for loading in WebKit2
-        https://bugs.webkit.org/show_bug.cgi?id=154993
-
-        Reviewed by Sam Weinig.
-
-        * wtf/Platform.h:
-
-2016-03-03  Daniel Bates  <dabates@apple.com>
-
-        Add unit tests for WTF::OptionSet
-        https://bugs.webkit.org/show_bug.cgi?id=154925
-        <rdar://problem/24964211>
-
-        Reviewed by Darin Adler.
-
-        * wtf/CMakeLists.txt: Add header OptionSet.h to the list of WTF headers.
-        * wtf/OptionSet.h: Use in-class initialization to initialize m_storage and declare
-        the trivial constexpr constructor as default.
-        (WTF::OptionSet::OptionSet): For convenience add a constructor that takes a std::initializer_list.
-        This code was written by Anders Carlsson.
-
-2016-03-03  Andy Estes  <aestes@apple.com>
-
-        Adopt CFNetwork storage partitioning SPI
-        https://bugs.webkit.org/show_bug.cgi?id=154957
-        rdar://problem/23614620
-
-        Reviewed by Darin Adler.
-
-        * wtf/Platform.h: Defined HAVE_CFNETWORK_STORAGE_PARTITIONING.
-
-2016-03-02  Konstantin Tokarev  <annulen@yandex.ru>
-
-        [cmake] Moved PRE/POST_BUILD_COMMAND to WEBKIT_FRAMEWORK.
-        https://bugs.webkit.org/show_bug.cgi?id=154651
-
-        Reviewed by Alex Christensen.
-
-        * CMakeLists.txt: Moved shared code to WEBKIT_FRAMEWORK macro.
-
-2016-03-01  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r197226 and r197256.
-        https://bugs.webkit.org/show_bug.cgi?id=154910
-
-        Caused crashes on Mac 32-bit and on ARM (Requested by ap on
-        #webkit).
-
-        Reverted changesets:
-
-        "Remove the on demand executable allocator"
-        https://bugs.webkit.org/show_bug.cgi?id=154749
-        http://trac.webkit.org/changeset/197226
-
-        "CLoop build fix."
-        http://trac.webkit.org/changeset/197256
-
-2016-03-01  Alex Christensen  <achristensen@webkit.org>
-
-        Reduce size of internal windows build output
-        https://bugs.webkit.org/show_bug.cgi?id=154763
-
-        Reviewed by Brent Fulgham.
-
-        * WTF.vcxproj/WTF.proj:
-
-2016-03-01  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r197056.
-        https://bugs.webkit.org/show_bug.cgi?id=154870
-
-        broke win ews (Requested by alexchristensen on #webkit).
-
-        Reverted changeset:
-
-        "[cmake] Moved PRE/POST_BUILD_COMMAND to WEBKIT_FRAMEWORK."
-        https://bugs.webkit.org/show_bug.cgi?id=154651
-        http://trac.webkit.org/changeset/197056
-
-2016-02-29  Gavin Barraclough  <barraclough@apple.com>
-
-        RefCounter<T>::Event -> RefCounterEvent
-        https://bugs.webkit.org/show_bug.cgi?id=154767
-
-        Reviewed by Darin Adler.
-
-        RefCounter<T>::Event is kinda verbose to use, and there is no need for this
-        to be specific to a particular typeof RefCounter. Move the enum class up to
-        the top level & rename to RefCounterEvent.
-
-        * wtf/RefCounter.h:
-        (WTF::RefCounter<T>::Count::ref):
-        (WTF::RefCounter<T>::Count::deref):
-
-2016-02-26  Oliver Hunt  <oliver@apple.com>
-
-        Remove the on demand executable allocator
-        https://bugs.webkit.org/show_bug.cgi?id=154749
-
-        Reviewed by Geoffrey Garen.
-
-        Remove the DeamndExecutableAllocator compile flags.
-
-        * wtf/Platform.h:
-
-2016-02-26  Keith Rollin  <krollin@apple.com>
-
-        Enhance logging: Add "always on" macros
-        https://bugs.webkit.org/show_bug.cgi?id=154498
-        <rdar://problem/24757759>
-
-        Reviewed by Chris Dumez.
-
-        Add support for efficient always-on logging (logging that is available
-        in both debug and release builds). This is implemented in the form of
-        some new macros:
-
-        - LOG_ALWAYS: Always log information-level statements.
-        - LOG_ALWAYS_ERROR: Always log error-level statements. These can be
-          filtered out of the normal logging so that they can be found more
-          easily.
-
-        In cases where there is no efficient underlying facility for it to
-        utilize, LOG_ALWAYS_ERROR is redirected to WTFReportError as a backup
-        mechanism. LOG_ALWAYS is not given a similar treatment so that we
-        don't overwhelm other logging systems that aren't prepared for "always
-        on" logging.
-
-        * wtf/Assertions.h:
-        * wtf/Platform.h:
-
-2016-02-26  Anders Carlsson  <andersca@apple.com>
-
-        Add WTF::OptionSet and use it for the website data types enum
-        https://bugs.webkit.org/show_bug.cgi?id=154733
-
-        Reviewed by Geoffrey Garen.
-
-        Add WTF::OptionSet which makes it easier to use strong enums as flags.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/Forward.h:
-        * wtf/OptionSet.h: Copied from Source/WebKit2/Shared/WebsiteData/WebsiteData.h.
-        (WTF::OptionSet::fromRaw):
-        (WTF::OptionSet::OptionSet):
-        (WTF::OptionSet::toRaw):
-        (WTF::OptionSet::contains):
-        (WTF::OptionSet::operator|=):
-
-2016-02-26  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r197168.
-        https://bugs.webkit.org/show_bug.cgi?id=154728
-
-        crashing on some devices (Requested by kling on #webkit).
-
-        Reverted changeset:
-
-        "[Darwin] Use vm_kernel_page_size for WTF::pageSize()."
-        https://bugs.webkit.org/show_bug.cgi?id=154726
-        http://trac.webkit.org/changeset/197168
-
-2016-02-26  Andreas Kling  <akling@apple.com>
-
-        [Darwin] Use vm_kernel_page_size for WTF::pageSize().
-        <https://webkit.org/b/154726>
-
-        Reviewed by Antti Koivisto.
-
-        Make sure we use the right VM page size on Darwin systems.
-        On devices where the native page size is 4 KB, it's both
-        possible and profitable to madvise in smaller chunks.
-
-        * wtf/PageBlock.cpp:
-        (WTF::systemPageSize):
-
-2016-02-25  Gavin Barraclough  <barraclough@apple.com>
-
-        RefCounter value changed callback should be called on all changes (not just zero edge).
-        https://bugs.webkit.org/show_bug.cgi?id=154699
-
-        Reviewed by Anders Carlsson.
-
-        RefCounter currently only triggers a callback when the count goes from zero
-        to non-zero and vice-versa. Change that, to be useful to more clients.
-
-        * wtf/RefCounter.h:
-        (WTF::RefCounter::Count::Count):
-        (WTF::RefCounter::RefCounter):
-            - Removed superfluous WTF_EXPORT_PRIVATE.
-        (WTF::RefCounter::value):
-            - Changed value() to a size_t.
-        (WTF::RefCounter<T>::Count::ref):
-        (WTF::RefCounter<T>::Count::deref):
-            - Trigger the callback on all increments/decrements.
-        (WTF::RefCounter<T>::RefCounter):
-            - Changed siganture of callback.
-
-2016-02-25  Gavin Barraclough  <barraclough@apple.com>
-
-        Replace RefCounter::Token implementation with RefPtr
-        https://bugs.webkit.org/show_bug.cgi?id=154698
-
-        Reviewed by Anders Carlsson.
-
-        * wtf/RefCounter.h:
-        (WTF::RefCounter::RefCounter):
-        (WTF::RefCounter::count):
-        (WTF::RefCounter::value):
-        (WTF::RefCounter<T>::~RefCounter):
-        (WTF::RefCounter::Token::Token): Deleted.
-        (WTF::RefCounter::Token::operator bool): Deleted.
-        (WTF::RefCounter<T>::Token::Token): Deleted.
-        (WTF::=): Deleted.
-            - Delete.
-
-2016-02-25  Gavin Barraclough  <barraclough@apple.com>
-
-        Should template RefCounter instead of RefCounter::Token
-        https://bugs.webkit.org/show_bug.cgi?id=154691
-
-        Speculative windows build fix.
-
-        * wtf/RefCounter.h:
-        (WTF::RefCounter::RefCounter):
-        (WTF::RefCounter::count):
-
-2016-02-25  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r197137.
-        https://bugs.webkit.org/show_bug.cgi?id=154700
-
-        broke windows build (Requested by alexchristensen on #webkit).
-
-        Reverted changeset:
-
-        "Replace RefCounter::Token implementation with RefPtr"
-        https://bugs.webkit.org/show_bug.cgi?id=154698
-        http://trac.webkit.org/changeset/197137
-
-2016-02-25  Gavin Barraclough  <barraclough@apple.com>
-
-        Replace RefCounter::Token implementation with RefPtr
-        https://bugs.webkit.org/show_bug.cgi?id=154698
-
-        Reviewed by Anders Carlsson.
-
-        * wtf/RefCounter.h:
-        (WTF::RefCounter::RefCounter):
-        (WTF::RefCounter::count):
-        (WTF::RefCounter::value):
-        (WTF::RefCounter<T>::~RefCounter):
-        (WTF::RefCounter::Token::Token): Deleted.
-        (WTF::RefCounter::Token::operator bool): Deleted.
-        (WTF::RefCounter<T>::Token::Token): Deleted.
-        (WTF::=): Deleted.
-            - Delete.
-
-2016-02-25  Gavin Barraclough  <barraclough@apple.com>
-
-        Should template RefCounter instead of RefCounter::Token
-        https://bugs.webkit.org/show_bug.cgi?id=154691
-
-        Reviewed by Anders Carlsson.
-
-        My real goal here is to make the counter accurate. Currently returning a Token from token<>()
-        results in ref-count churn. Fixing this either means changing the return value, or improving
-        Token (which will probably mean replacing it with RefPtr). Either way would break the current
-        type checking. Move type tag to RefCount so this can still be enforced.
-
-        * WTF.vcxproj/WTF.vcxproj:
-        * WTF.vcxproj/WTF.vcxproj.filters:
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/CMakeLists.txt:
-        * wtf/RefCounter.cpp: Removed.
-            - Removed RefCounter.cpp.
-        * wtf/RefCounter.h:
-        (WTF::RefCounter::Token::Token):
-        (WTF::RefCounter::Token::operator bool):
-        (WTF::RefCounter::RefCounter):
-        (WTF::RefCounter::count):
-        (WTF::RefCounter::value):
-        (WTF::RefCounter<T>::Count::ref):
-        (WTF::RefCounter<T>::Count::deref):
-        (WTF::RefCounter<T>::RefCounter):
-        (WTF::RefCounter<T>::~RefCounter):
-        (WTF::RefCounter<T>::Token::Token):
-        (WTF::=):
-        (WTF::RefCounter::token): Deleted.
-        (WTF::RefCounter::Token<T>::Token): Deleted.
-            - RefCounter -> RefCounter<T>,
-            - Token<T> -> Token,
-            - renamed token<>() -> count().
-
-2016-02-25  Sam Weinig  <sam@webkit.org>
-
-        HashMap::ensure() should return an AddResult like all the other add-like functions.
-        https://bugs.webkit.org/show_bug.cgi?id=154680
-
-        Reviewed by Anders Carlsson.
-
-        While adopting HashMap::ensure(), I found it was useful in some circumstances to know
-        if the value was added or not. While I could discern this information by setting a bool
-        in the passed in lambda, it seemed clearer and more idiomatic to just have ensure return
-        an AddResult like all the other add-like functions do.
-
-        * wtf/HashMap.h:
-        Change return type of HashMap::ensure() to be an AddResult.
-
-2016-02-24  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>
-
-        [web-animations] Add AnimationTimeline, DocumentTimeline and add extensions to Document interface
-        https://bugs.webkit.org/show_bug.cgi?id=151688
-
-        Reviewed by Dean Jackson.
-
-        Enables the WEB_ANIMATIONS compiler switch.
-
-        * wtf/FeatureDefines.h:
-
-2016-02-24  Konstantin Tokarev  <annulen@yandex.ru>
-
-        [cmake] Moved PRE/POST_BUILD_COMMAND to WEBKIT_FRAMEWORK.
-        https://bugs.webkit.org/show_bug.cgi?id=154651
-
-        Reviewed by Alex Christensen.
-
-        * CMakeLists.txt: Moved shared code to WEBKIT_FRAMEWORK macro.
-
-2016-02-23  Dan Bernstein  <mitz@apple.com>
-
-        [Xcode] Linker errors display mangled names, but no longer should
-        https://bugs.webkit.org/show_bug.cgi?id=154632
-
-        Reviewed by Sam Weinig.
-
-        * Configurations/Base.xcconfig: Stop setting LINKER_DISPLAYS_MANGLED_NAMES to YES.
-
-2016-02-23  Gavin Barraclough  <barraclough@apple.com>
-
-        Remove HIDDEN_PAGE_DOM_TIMER_THROTTLING feature define
-        https://bugs.webkit.org/show_bug.cgi?id=112323
-
-        Reviewed by Chris Dumez.
-
-        This feature is controlled by a runtime switch, and defaults off.
-
-        * wtf/FeatureDefines.h:
-
-2016-02-22  Konstantin Tokarev  <annulen@yandex.ru>
-
-        [cmake] Moved library setup code to WEBKIT_FRAMEWORK macro.
-        https://bugs.webkit.org/show_bug.cgi?id=154450
-
-        Reviewed by Alex Christensen.
-
-        * wtf/CMakeLists.txt:
-
-2016-02-20  Mark Lam  <mark.lam@apple.com>
-
-        Use of inlined asm statements causes problems for -std=c99 builds.
-        https://bugs.webkit.org/show_bug.cgi?id=154507
-
-        Reviewed by Dan Bernstein.
-
-        WTF's Assertions.h may inadvertantly get included by other projects that are built
-        with -std=c99.  The use of the inlined asm statements with the keyword "asm" is
-        not recognized when the -std compiler flag is used.
-
-        https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html says "When writing code that
-        can be compiled with -ansi and the various -std options, use __asm__ instead of
-        asm (see Alternate Keywords)."
-
-        So, to be a good citizen, we can change the use of "asm" in CRASH() to "__asm__"
-        so that we don't break the build of such other projects.
-
-        * wtf/Assertions.h:
-
-2016-02-18  Brent Fulgham  <bfulgham@apple.com>
-
-        Extend HashCountedSet with a method to efficiently set the count of an entry
-        https://bugs.webkit.org/show_bug.cgi?id=154352
-
-        Reviewed by Geoffrey Garen.
-
-        Tested by new TestWebKitAPI tests.
-
-        Update the HashCountedSet class with a new 'add' method to support efficient initialization of
-        the count of a given key. Also provide move and pointer template specializations to expand the
-        types of data that can be used as 'keys' in the HashCountedSet to match the underlying HashMap
-        implementation.
-
-        * wtf/HashCountedSet.h:
-        (WTF::Traits>::add): Added new overload supporting a supplied count.
-
-2016-02-18  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r196791.
-        https://bugs.webkit.org/show_bug.cgi?id=154438
-
-        broke windows build (Requested by alexchristensen on #webkit).
-
-        Reverted changeset:
-
-        "Extend HashCountedSet with a method to efficiently set the
-        count of an entry"
-        https://bugs.webkit.org/show_bug.cgi?id=154352
-        http://trac.webkit.org/changeset/196791
-
-2016-02-18  Brent Fulgham  <bfulgham@apple.com>
-
-        Extend HashCountedSet with a method to efficiently set the count of an entry
-        https://bugs.webkit.org/show_bug.cgi?id=154352
-
-        Reviewed by Geoffrey Garen.
-
-        Tested by new TestWebKitAPI tests.
-
-        Update the HashCountedSet class with a new 'add' method to support efficient initialization of
-        the count of a given key. Also provide move and pointer template specializations to expand the
-        types of data that can be used as 'keys' in the HashCountedSet to match the underlying HashMap
-        implementation.
-
-        * wtf/HashCountedSet.h:
-        (WTF::Traits>::add): Added new overload supporting a supplied count.
-
-2016-02-17  Filip Pizlo  <fpizlo@apple.com>
-
-        Remove LLVM dependencies from WebKit
-        https://bugs.webkit.org/show_bug.cgi?id=154323
-
-        Reviewed by Antti Koivisto and Benjamin Poulain.
-
-        * wtf/Platform.h:
-
-2016-02-16  Sam Weinig  <sam@webkit.org>
-
-        Add an ensure function on HashMap that takes a key and a function to make the lazy value initialization idiom easier
-        https://bugs.webkit.org/show_bug.cgi?id=134857
-
-        Reviewed by Geoffrey Garen.
-
-        The current idiom for adding a value to a HashMap if the key is not already present, to allow for not
-        unnecessarily constructing the new value if it won't be used, is:
-        
-        {
-            auto result = map.add(key, Value());
-            if (!result.isNewEntry)
-                return result.iterator->value;
-
-            result.iterator->value = createNewValue();
-            return result.iterator->value;
-        }
-
-        or sometimes
-
-        {
-            auto& value = map.add(key, Value()).iterator->value;
-            if (!value)
-                value = createNewValue();
-            return value;
-        }
-
-        With this patch, you can now use the new function HashMap::ensure(key, functor). This will allow us to 
-        change to using the following idiom:
-
-        {
-            return map.ensure(key, [] { return createNewValue(); });
-        }
-
-        The passed in functor will only be called if the key is not already present in the HashMap.
-
-        * wtf/HashMap.h:
-        (WTF::HashMapTranslator::translate):
-        (WTF::HashMapEnsureTranslator::hash):
-        (WTF::HashMapEnsureTranslator::equal):
-        (WTF::HashMapEnsureTranslator::translate):
-        (WTF::HashMapTranslatorAdapter::hash):
-
-2016-02-16  Filip Pizlo  <fpizlo@apple.com>
-
-        FTL_USES_B3 should be unconditionally true
-        https://bugs.webkit.org/show_bug.cgi?id=154324
-
-        Reviewed by Benjamin Poulain.
-
-        * wtf/Platform.h:
-
-2016-02-13  Mark Lam  <mark.lam@apple.com>
-
-        Eliminate the need for WTFCrashImpl().
-        https://bugs.webkit.org/show_bug.cgi?id=154202
-
-        Reviewed by Alexey Proskuryakov.
-
-        * wtf/Assertions.cpp:
-        * wtf/Assertions.h:
-
-2016-02-12  Sukolsak Sakshuwong  <sukolsak@gmail.com>
-
-        Update ICU header files to version 52
-        https://bugs.webkit.org/show_bug.cgi?id=154160
-
-        Reviewed by Alex Christensen.
-
-        Update ICU header files to version 52 to allow the use of newer APIs.
-
-        * icu/unicode/bytestream.h:
-        * icu/unicode/localpointer.h:
-        * icu/unicode/platform.h:
-        * icu/unicode/ptypes.h:
-        * icu/unicode/putil.h:
-        * icu/unicode/rep.h:
-        (Replaceable::Replaceable):
-        * icu/unicode/std_string.h:
-        * icu/unicode/strenum.h:
-        * icu/unicode/stringpiece.h:
-        * icu/unicode/uchar.h:
-        * icu/unicode/ucnv.h:
-        * icu/unicode/ucol.h:
-        * icu/unicode/uconfig.h:
-        * icu/unicode/uenum.h:
-        * icu/unicode/uiter.h:
-        * icu/unicode/uloc.h:
-        * icu/unicode/umachine.h:
-        * icu/unicode/unistr.h:
-        (UnicodeString::UnicodeString):
-        (UnicodeString::operator== ):
-        (UnicodeString::startsWith):
-        (UnicodeString::setTo):
-        (UnicodeString::remove):
-        (UnicodeString::replace): Deleted.
-        (UnicodeString::extract): Deleted.
-        (UnicodeString::char32At): Deleted.
-        (UnicodeString::getChar32Start): Deleted.
-        (UnicodeString::getChar32Limit): Deleted.
-        (UnicodeString::getTerminatedBuffer): Deleted.
-        (UnicodeString::append): Deleted.
-        (UnicodeString::truncate): Deleted.
-        * icu/unicode/unorm2.h:
-        * icu/unicode/uobject.h:
-        * icu/unicode/urename.h:
-        * icu/unicode/uscript.h:
-        * icu/unicode/uset.h:
-        * icu/unicode/ustring.h:
-        * icu/unicode/utf.h:
-        * icu/unicode/utf16.h:
-        * icu/unicode/utf8.h:
-        * icu/unicode/utf_old.h:
-        * icu/unicode/utypes.h:
-        * icu/unicode/uvernum.h:
-        * icu/unicode/uversion.h:
-
-2016-02-11  Mark Lam  <mark.lam@apple.com>
-
-        Need WTFCrash workaround for shipping SafariForWebKitDevelopment binaries.
-        https://bugs.webkit.org/show_bug.cgi?id=154125
-
-        Reviewed by Joseph Pecoraro.
-
-        Presently shipping SafariForWebKitDevelopment binaries still expect to link to a
-        WTFCrash function.  We need to provide this function as a workaround until we can
-        update SafariForWebKitDevelopment to use the new inlined version.
-
-        We do this by doing:
-        1. Make WTFCrashImpl() the sole function for implementing a crash.
-           The CRASH() macro is now defined to be WTFCrashImpl() instead of WTFCrash().
-        2. Renamed the legacy WTFCrash() to WTFCrashImpl() for debug or non-Darwin builds.
-           For (non-debug && OS(DARWIN)) builds, WTFCrashImpl() will be an inlined
-           function with an asm statement that issues a breakpoint trap.
-        3. Implement WTFCrash() as a function that calls CRASH().
-           This satisfies the need of shipping SafariForWebKitDevelopment binaries.
-        4. Change WTFCrashWithSecurityImplication() to call CRASH().
-           This ensures that we have a consistent implementation of how we crash.
-        5. Changed WTFLogAlwaysAndCrash() to call CRASH() instead of WTFCrash().
-           This is just to have consistency in that all code in the WebKit project
-           now crashes by calling CRASH(), not WTFCrash().
-
-        * wtf/Assertions.cpp:
-        * wtf/Assertions.h:
-
-2016-02-09  Mark Lam  <mark.lam@apple.com>
-
-        Changed WTFCrash to not trash the crash site register state.
-        https://bugs.webkit.org/show_bug.cgi?id=153996
-
-        Reviewed by Geoffrey Garen.
-
-        When doing post-mortem crash site analysis using data from crash reports, it is
-        immensely valuable to be able to infer the crashing program's state from the
-        register values at crash time.  However, for RELEASE_ASSERT failures, we crash
-        using WTFCrash(), and WTFCrash() is currently implemented as a function call
-        that, in turn, calls a lot of other functions to do crash handling before
-        actually crashing.  As a result, the register values captured in the crash
-        reports are not likely to still contain the values used by the caller function
-        that failed the RELEASE_ASSERT.
-
-        This patch aims to remedy this issue for non-debug builds on OS(DARWIN) ports.
-        It does so by changing WTFCrash() into an inlined function that has an inlined
-        asm statement to issues the CPU specific breakpoint trap instruction.  As a
-        result, for non-debug OS(DARWIN) builds, crashes due to failed RELEASE_ASSERTs
-        will now show up in crash reports as crashing due to EXC_BREAKPOINT (SIGTRAP)
-        instead of a EXC_BAD_ACCESS (SIGSEGV) on address 0xbbadbeef.
-
-        For debug and non-DARWIN builds, WTFCrash() behavior currently remains unchanged.
-
-        * wtf/Assertions.cpp:
-        * wtf/Assertions.h:
-
-2016-02-09  Csaba Osztrogonác  <ossy@webkit.org>
-
-        [GTK][EFL] Fix several build configuration related to SamplingProfiler after r196245
-        https://bugs.webkit.org/show_bug.cgi?id=154033
-
-        Reviewed by Michael Catanzaro.
-
-        * wtf/Platform.h:
-
-2016-02-08  Filip Pizlo  <fpizlo@apple.com>
-
-        Make sure that locking code that relies on module boundaries for compiler fences uses NEVER_INLINE
-        https://bugs.webkit.org/show_bug.cgi?id=153972
-
-        Reviewed by Andreas Kling.
-
-        When this code was written, we assumed that module boundaries were compiler fences. That might
-        not be the case if we ever do LTO.
-
-        * wtf/Lock.cpp:
-        (WTF::LockBase::lockSlow):
-        (WTF::LockBase::unlockSlow):
-        * wtf/ParkingLot.cpp:
-        (WTF::ParkingLot::parkConditionally):
-        (WTF::ParkingLot::unparkOne):
-        (WTF::ParkingLot::unparkAll):
-        (WTF::ParkingLot::forEach):
-        * wtf/WordLock.cpp:
-        (WTF::WordLock::lockSlow):
-        (WTF::WordLock::unlockSlow):
-
-2016-02-07  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        [GTK][EFL] Enable SamplingProfiler
-        https://bugs.webkit.org/show_bug.cgi?id=153638
-
-        Reviewed by Michael Catanzaro.
-
-        * wtf/Platform.h:
-
-2016-02-07  Dan Bernstein  <mitz@apple.com>
-
-        [Cocoa] Replace __has_include guards around inclusion of Apple-internal-SDK headers with USE(APPLE_INTERNAL_SDK)
-        https://bugs.webkit.org/show_bug.cgi?id=153963
-
-        Reviewed by Sam Weinig.
-
-        * wtf/SystemTracing.h:
-        * wtf/WTFThreadData.h:
-        * wtf/spi/darwin/CommonCryptoSPI.h:
-
-2016-02-06  Darin Adler  <darin@apple.com>
-
-        Finish auditing call sites of upper() and lower(), eliminate many, and rename the functions
-        https://bugs.webkit.org/show_bug.cgi?id=153905
-
-        Reviewed by Sam Weinig.
-
-        * wtf/text/AtomicString.cpp:
-        (WTF::AtomicString::lower): Deleted.
-        * wtf/text/AtomicString.h: Deleted the lower function.
-
-        * wtf/text/StringImpl.cpp:
-        (WTF::StringImpl::convertToLowercaseWithoutLocale): Renamed from lower.
-        (WTF::StringImpl::convertToUppercaseWithoutLocale): Renamed from upper.
-        (WTF::StringImpl::convertToLowercaseWithLocale): Renamed from lower.
-        (WTF::StringImpl::convertToUppercaseWithLocale): Renamed from upper.
-        (WTF::StringImpl::foldCase): Added fast cases for ASCII since this is
-        now used in some more-performance-critical code.
-        * wtf/text/StringImpl.h: Renamed lower and upper.
-
-        * wtf/text/WTFString.cpp:
-        (WTF::String::convertToLowercaseWithoutLocale): Renamed from lower.
-        (WTF::String::convertToUppercaseWithoutLocale): Renamed from upper.
-        (WTF::String::convertToLowercaseWithLocale): Renamed from lower.
-        (WTF::String::convertToUppercaseWithLocale): Renamed from upper.
-        * wtf/text/WTFString.h: Renamed lower and upper. Removed unneeded comment.
-
-2016-02-03  Darin Adler  <darin@apple.com>
-
-        Convert another batch of String::lower callsites to something better, typically convertToASCIILowercase
-        https://bugs.webkit.org/show_bug.cgi?id=153789
-
-        Reviewed by Sam Weinig.
-
-        * wtf/text/StringView.h:
-        (WTF::StringView::toInt): Added an overload without the out parameter.
-
-2016-02-03  Michael Catanzaro  <mcatanzaro@igalia.com>
-
-        [GTK][EFL] Switch FTL to B3
-        https://bugs.webkit.org/show_bug.cgi?id=153478
-
-        Reviewed by Csaba Osztrogonác.
-
-        Enable B3 by default on all x86.
-
-        * wtf/Platform.h:
-
-2016-02-03  Anders Carlsson  <andersca@apple.com>
-
-        Fix BlockPtr's call operator
-        https://bugs.webkit.org/show_bug.cgi?id=153836
-
-        Reviewed by Enrica Casucci.
-
-        * wtf/BlockPtr.h:
-
-2016-02-01  Said Abou-Hallawa  <sabouhallawa@apple.com>
-
-        Cache the Path instead of creating it every time it is required
-        https://bugs.webkit.org/show_bug.cgi?id=152939
-
-        Reviewed by Darin Adler.
-
-        If the key type of an LRU cache can't to be strongly tided to a specific
-        data type; e.g. FloatRect -> Path, we need to be able to pass the policy
-        type to the TinyLRUCache template instead of just specializing it. This
-        will make the code more readable and will allow different caches for the
-        same key type.
-
-        * wtf/TinyLRUCache.h:
-        (WebCore::TinyLRUCache::get):
-
-2016-02-01  Alex Christensen  <achristensen@webkit.org>
-
-        [Win] WTFHeaderDetection.h no longer needed
-        https://bugs.webkit.org/show_bug.cgi?id=153753
-        rdar://problem/24434627
-
-        Reviewed by Darin Adler.
-
-        * wtf/Platform.h:
-        * wtf/PlatformWin.cmake:
-
-2016-01-31  Darin Adler  <darin@apple.com>
-
-        Cut down on calls to String::lower; mostly replace with convertToASCIILowercase
-        https://bugs.webkit.org/show_bug.cgi?id=153732
-
-        Reviewed by Dean Jackson.
-
-        * wtf/text/StringView.h: Added toIntStrict. Not thrilled about the name of this
-        function, but generally it seems likely to be useful more often than toInt.
-        And it's needed for one call site in WebCore that was using String::lower.
-
-2016-01-31  Darin Adler  <darin@apple.com>
-
-        Get rid of most calls to String::upper; mostly replace them with convertToASCIIUppercase
-        https://bugs.webkit.org/show_bug.cgi?id=153715
-
-        Reviewed by Gyuyoung Kim.
-
-        * wtf/text/AtomicString.h:
-        (WTF::AtomicString::upper): Deleted.
-
-2016-01-31  Dan Bernstein  <mitz@apple.com>
-
-        [Cocoa] Remove unused definition of HAVE_HEADER_DETECTION_H
-        https://bugs.webkit.org/show_bug.cgi?id=153729
-
-        Reviewed by Sam Weinig.
-
-        After r141700, HAVE_HEADER_DETECTION_H is no longer used.
-
-        * Configurations/Base.xcconfig:
-
-2016-01-31  Darin Adler  <darin@apple.com>
-
-        Replace CaseFoldingHash with ASCIICaseInsensitiveHash
-        https://bugs.webkit.org/show_bug.cgi?id=153639
-
-        Reviewed by Filip Pizlo.
-
-        * wtf/text/StringHash.h: Renamed CaseFoldingHash to ASCIICaseInsensitiveHash.
-        (WTF::ASCIICaseInsensitiveHash::foldCase): Use toASCIILower.
-        (WTF::ASCIICaseInsensitiveHash::equal): Use equalIgnoringASCIICase.
-        Also added some assertions.
-
-        * wtf/text/StringImpl.cpp: Made the latin1CaseFoldTable private to this file,
-        since it's no longer needed by CaseFoldingHash. Moved it up before its first use.
-        (WTF::equalCompatibilityCaseless): Fixed typo in the name of this function.
-        (WTF::equalCompatibiltyCaselessNonNull): Deleted.
-
-        * wtf/text/StringImpl.h: Removed declarations of latin1CaseFoldTable and
-        equalCompatibiltyCaselessNonNull
-
-2016-01-30  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r195911.
-        https://bugs.webkit.org/show_bug.cgi?id=153723
-
-        Caused frequent assertion failures on bots (Requested by ap on
-        #webkit).
-
-        Reverted changeset:
-
-        "Replace CaseFoldingHash with ASCIICaseInsensitiveHash"
-        https://bugs.webkit.org/show_bug.cgi?id=153639
-        http://trac.webkit.org/changeset/195911
-
-2016-01-30  Darin Adler  <darin@apple.com>
-
-        Replace CaseFoldingHash with ASCIICaseInsensitiveHash
-        https://bugs.webkit.org/show_bug.cgi?id=153639
-
-        Reviewed by Filip Pizlo.
-
-        * wtf/text/StringHash.h: Renamed CaseFoldingHash to ASCIICaseInsensitiveHash.
-        (WTF::ASCIICaseInsensitiveHash::foldCase): Use toASCIILower.
-        (WTF::ASCIICaseInsensitiveHash::equal): Use equalIgnoringASCIICase.
-        Also added some assertions.
-
-        * wtf/text/StringImpl.cpp: Made the latin1CaseFoldTable private to this file,
-        since it's no longer needed by CaseFoldingHash. Moved it up before its first use.
-        (WTF::equalCompatibilityCaseless): Fixed typo in the name of this function.
-        (WTF::equalCompatibiltyCaselessNonNull): Deleted.
-
-        * wtf/text/StringImpl.h: Removed declarations of latin1CaseFoldTable and
-        equalCompatibiltyCaselessNonNull
-
-2016-01-29  Ada Chan  <adachan@apple.com>
-
-        Enable VIDEO_PRESENTATION_MODE only in Debug and Release builds on Mac
-        https://bugs.webkit.org/show_bug.cgi?id=153665
-
-        Reviewed by Dan Bernstein.
-
-        * wtf/Platform.h:
-        Remove this as the flag is already defined in FeatureDefines.xcconfig files.
-
-2016-01-30  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        Enable SamplingProfiler on POSIX environment
-        https://bugs.webkit.org/show_bug.cgi?id=153584
-
-        Reviewed by Michael Saboff.
-
-        Use __GLIBC__ since mcontext_t layout depends on it.
-
-        * wtf/Platform.h:
-
-2016-01-28  Darin Adler  <darin@apple.com>
-
-        Remove equalIgnoringCase since all callers really wanted equalIgnoringASCIICase
-        https://bugs.webkit.org/show_bug.cgi?id=153411
-
-        Reviewed by Ryosuke Niwa.
-
-        * wtf/text/AtomicString.h: Removed equalIgnoringCase.
-        Added some overloads for equalIgnoringASCIICase and moved the function bodies to
-        bottom of the file to make the function declarations easier to read and scan through.
-        I plan to do this for more of the functions in this class in the future.
-
-        * wtf/text/StringCommon.h: Added overloads for equalIgnoringASCIICase,
-        equalPossiblyIgnoringASCIICase, and a helper named equalIgnoringASCIICaseCommon.
-        Added an overload for equalLettersIgnoringASCIICase.
-
-        * wtf/text/StringImpl.cpp:
-        (WTF::equalIgnoringCase): Made the few remaining versions of this function private
-        to this file. Once we get done moving every client that should be using ASCII case
-        instead to new functions, these will almost certainly be deleted.
-        (WTF::equalIgnoringASCIICaseNonNull): Tweaked implementation a tiny bit.
-
-        * wtf/text/StringImpl.h: Sorted forward declarations at the top of the file.
-        Fixed some small formatting mistakes. Removed equalIgnoringCase, but left
-        equalIgnoringCaseNonNull behind for use by CaseFoldingHash until it is replaced
-        with ASCIICaseFoldingHash. Improved equalIgnoringASCIICase implementation.
-        Removed unneeded using for equalIgnoringASCIICase now that StringCommon.h takes
-        care of it.
-
-        * wtf/text/StringView.cpp:
-        (WTF::equalIgnoringASCIICase): Deleted. We no longer pass in the length for this,
-        so the arguments have changed and the implementation is also now in ASCIICommon.h
-        so it's an inline in the header file.
-
-        * wtf/text/StringView.h: Added an overload of equalIgnoringASCIICase,while
-        removing another.
-
-        * wtf/text/WTFString.h: Removed some unneeded forward delcarations. Fixed formatting
-        of the type name NSString *. Improved some comments. Removed equalIgnoringCase.
-        Separated declaration from implementation in a few cases to start making the
-        function declarations easier to read and scan through. I plan to do more in the future.
-
-2016-01-27  Chris Dumez  <cdumez@apple.com>
-
-        window.atob() should ignore spaces in input
-        https://bugs.webkit.org/show_bug.cgi?id=153522
-        <rdar://problem/24357822>
-
-        Reviewed by Benjamin Poulain.
-
-        Turn Base64DecodePolicy enum into flags so that the caller can indicate
-        to both validate padding AND ignore spaces.
-
-        Also make sure that the output Vector size is properly shrunk when
-        spaces are ignored.
-
-        * wtf/text/Base64.cpp:
-        (WTF::base64DecodeInternal):
-        (WTF::base64Decode):
-        (WTF::base64URLDecode):
-        * wtf/text/Base64.h:
-
-2016-01-27  Alexey Proskuryakov  <ap@apple.com>
-
-        Remove ENABLE_CURRENTSRC
-        https://bugs.webkit.org/show_bug.cgi?id=153545
-
-        Reviewed by Simon Fraser.
-
-        * wtf/FeatureDefines.h:
-
-2016-01-26  I-Ting Liu  <iting_liu@apple.com>
-
-        Implement wildcard matching for plug-in policy host.
-        https://bugs.webkit.org/show_bug.cgi?id=153090
-
-        Reviewed by Darin Adler.
-
-        * wtf/text/AtomicString.h:
-        (WTF::AtomicString::AtomicString):
-        Add __bridge to allow compilation.
-
-2016-01-26  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Generalize ResourceUsageData gathering to be used outside of ResourceUsageOverlay
-        https://bugs.webkit.org/show_bug.cgi?id=153509
-        <rdar://problem/24354291>
-
-        Reviewed by Andreas Kling.
-
-        * wtf/Platform.h:
-        Rename the ENABLE flag.
-
-2016-01-26  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        Make HashTable iterators STL iterators compatible
-        https://bugs.webkit.org/show_bug.cgi?id=153512
-
-        Reviewed by Alex Christensen.
-
-        While r178581 makes many hash table iterators STL compatible, still several iterators are not.
-        This patch fixes that; inheriting std::iterator correctly to meet STL iterator requirements (like iterator_category etc.)
-        It could recover Windows build failure.
-
-        * wtf/HashTable.h:
-
-2016-01-26  Anders Carlsson  <andersca@apple.com>
-
-        BlockPtr needs boolean operators
-        https://bugs.webkit.org/show_bug.cgi?id=153506
-
-        Reviewed by Tim Horton.
-
-        * wtf/BlockPtr.h:
-
-2016-01-25  Filip Pizlo  <fpizlo@apple.com>
-
-        FTLB3Output should maintain good block order like the LLVM one does
-        https://bugs.webkit.org/show_bug.cgi?id=152222
-
-        Reviewed by Geoffrey Garen.
-
-        In the FTL we need to be able to construct a list by inserting elements before other
-        specific elements. We didn't already have a scalable way to do this, so this adds such a
-        data structure to WTF. This also has changes to SentinelLinkedList to make it support
-        these kinds of insertions.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/OrderMaker.h: Added.
-        (WTF::OrderMaker::Node::Node):
-        (WTF::OrderMaker::OrderMaker):
-        (WTF::OrderMaker::prepend):
-        (WTF::OrderMaker::append):
-        (WTF::OrderMaker::insertBefore):
-        (WTF::OrderMaker::insertAfter):
-        (WTF::OrderMaker::iterator::iterator):
-        (WTF::OrderMaker::iterator::operator*):
-        (WTF::OrderMaker::iterator::operator++):
-        (WTF::OrderMaker::iterator::operator==):
-        (WTF::OrderMaker::iterator::operator!=):
-        (WTF::OrderMaker::begin):
-        (WTF::OrderMaker::end):
-        (WTF::OrderMaker::newNode):
-        * wtf/SentinelLinkedList.h:
-        (WTF::BasicRawSentinelNode::isOnList):
-        (WTF::BasicRawSentinelNode<T>::remove):
-        (WTF::BasicRawSentinelNode<T>::prepend):
-        (WTF::BasicRawSentinelNode<T>::append):
-        (WTF::RawNode>::SentinelLinkedList):
-        (WTF::RawNode>::push):
-        (WTF::RawNode>::append):
-        (WTF::RawNode>::remove):
-        (WTF::RawNode>::prepend):
-        (WTF::RawNode>::isOnList):
-
-2016-01-25  Alex Christensen  <achristensen@webkit.org>
-
-        [Win] Copy forwarding headers before building a project
-        https://bugs.webkit.org/show_bug.cgi?id=153434
-
-        Reviewed by Brent Fulgham.
-
-        * wtf/CMakeLists.txt:
-        * wtf/PlatformWin.cmake:
-
-2016-01-20  Ryosuke Niwa  <rniwa@webkit.org>
-
-        HTMLElement::nodeName should not upper case non-ASCII characters
-        https://bugs.webkit.org/show_bug.cgi?id=153231
-
-        Reviewed by Darin Adler.
-
-        Added convertToASCIIUppercase to AtomicString, String, and StringImpl. 
-
-        * wtf/text/AtomicString.cpp:
-        (WTF::AtomicString::convertASCIICase): Generalized from convertToASCIILowercase.
-        (WTF::AtomicString::convertToASCIILowercase):
-        (WTF::AtomicString::convertToASCIIUppercase):
-        * wtf/text/AtomicString.h:
-        * wtf/text/StringImpl.cpp:
-        (WTF::StringImpl::convertASCIICase): Generalized from convertToASCIILowercase.
-        (WTF::StringImpl::convertToASCIILowercase):
-        (WTF::StringImpl::convertToASCIIUppercase):
-        * wtf/text/StringImpl.h:
-        * wtf/text/WTFString.cpp:
-        (WTF::String::convertToASCIIUppercase): Added.
-        * wtf/text/WTFString.h:
-
-2016-01-22  Chris Dumez  <cdumez@apple.com>
-
-        Unreviewed attempt to fix the Windows build after r195452.
-
-        * wtf/text/WTFString.h:
-
-2016-01-22  Darin Adler  <darin@apple.com>
-
-        Reduce use of equalIgnoringCase to just ignore ASCII case
-        https://bugs.webkit.org/show_bug.cgi?id=153266
-
-        Reviewed by Ryosuke Niwa.
-
-        * wtf/ASCIICType.h:
-        (WTF::isASCIIAlphaCaselessEqual): Loosened the assertion in this function
-        so it can work with ASCII spaces, numeric digits, and some punctuation.
-        Commented that we might want to change its name later.
-
-        * wtf/Assertions.cpp:
-        (WTFInitializeLogChannelStatesFromString): Use equalLettersIgnoringASCIICase.
-
-        * wtf/text/AtomicString.h:
-        (WTF::equalLettersIgnoringASCIICase): Added. Calls the version that takes a String.
-
-        * wtf/text/StringCommon.h:
-        (WTF::equalLettersIgnoringASCIICase): Added. Takes a pointer to characters.
-        (WTF::equalLettersIgnoringASCIICaseCommonWithoutLength): Added.
-        (WTF::equalLettersIgnoringASCIICaseCommon): Added.
-
-        * wtf/text/StringImpl.h:
-        (WTF::equalLettersIgnoringASCIICase): Added. Calls equalLettersIgnoringASCIICaseCommon.
-
-        * wtf/text/StringView.h:
-        (WTF::equalLettersIgnoringASCIICase): Added. Calls equalLettersIgnoringASCIICaseCommon.
-
-        * wtf/text/WTFString.h: Reordered/reformatted a little.
-        (WTF::equalIgnoringASCIICase): Added. Calls the version that takes a StringImpl.
-
-2016-01-22  Csaba Osztrogonác  <ossy@webkit.org>
-
-        Buildfix for older GCCs after r195142
-        https://bugs.webkit.org/show_bug.cgi?id=153351
-
-        Unreviewed buildfix.
-
-        * wtf/SystemTracing.h:
-
-2016-01-21  Filip Pizlo  <fpizlo@apple.com>
-
-        REGRESSION(r195417): many tests crash
-        https://bugs.webkit.org/show_bug.cgi?id=153316
-
-        Reviewed by Saam Barati.
-
-        This rolls out the StdLibExtras.h change, and simplifies RangeSet to not use binary search.
-        That's fine for now, since B3 doesn't stress RangeSet enough right now.
-
-        * wtf/RangeSet.h:
-        (WTF::RangeSet::contains):
-        (WTF::RangeSet::overlaps):
-        (WTF::RangeSet::clear):
-        (WTF::RangeSet::findRange):
-        * wtf/StdLibExtras.h:
-        (WTF::binarySearchImpl):
-        (WTF::binarySearch):
-        (WTF::tryBinarySearch):
-        (WTF::approximateBinarySearch):
-
-2016-01-21  Filip Pizlo  <fpizlo@apple.com>
-
-        B3 should have load elimination
-        https://bugs.webkit.org/show_bug.cgi?id=153288
-
-        Reviewed by Geoffrey Garen.
-
-        I needed a way to track sets of ranges, where there is a high likelihood that all of the
-        ranges overlap. So I created RangeSet. It's a usually-sorted list of coalesced ranges.
-        Practically this means that right now, FTL B3 will end up with two kinds of range sets: a set
-        that just contains top and a set that contains nothing. In the future, most sets will either
-        be top of empty but some of them will contain a handful of other things.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/CMakeLists.txt:
-        * wtf/MathExtras.h:
-        (WTF::leftShiftWithSaturation):
-        (WTF::nonEmptyRangesOverlap):
-        (WTF::rangesOverlap):
-        * wtf/RangeSet.h: Added.
-        (WTF::RangeSet::RangeSet):
-        (WTF::RangeSet::~RangeSet):
-        (WTF::RangeSet::add):
-        (WTF::RangeSet::contains):
-        (WTF::RangeSet::overlaps):
-        (WTF::RangeSet::clear):
-        (WTF::RangeSet::dump):
-        (WTF::RangeSet::dumpRaw):
-        (WTF::RangeSet::compact):
-        (WTF::RangeSet::overlapsNonEmpty):
-        (WTF::RangeSet::subsumesNonEmpty):
-        (WTF::RangeSet::findRange):
-        * wtf/StdLibExtras.h:
-        (WTF::binarySearchImpl):
-        (WTF::binarySearch):
-        (WTF::tryBinarySearch):
-        (WTF::approximateBinarySearch):
-
-2016-01-19  Ada Chan  <adachan@apple.com>
-
-        Make it possible to enable VIDEO_PRESENTATION_MODE on other Cocoa platforms.
-        https://bugs.webkit.org/show_bug.cgi?id=153218
-
-        Reviewed by Eric Carlson.
-
-        * wtf/Platform.h:
-
-2016-01-19  Filip Pizlo  <fpizlo@apple.com>
-
-        B3 should have basic path specialization
-        https://bugs.webkit.org/show_bug.cgi?id=153200
-
-        Reviewed by Benjamin Poulain.
-
-        * wtf/GraphNodeWorklist.h:
-        (WTF::GraphNodeWorklist::push):
-        (WTF::GraphNodeWorklist::pushAll):
-        (WTF::GraphNodeWorklist::isEmpty):
-        (WTF::GraphNodeWorklist::notEmpty):
-
-2016-01-20  Said Abou-Hallawa  <sabouhallawa@apple.com>
-
-        Refactor AtomicStringKeyedMRUCache to be a generic LRU cache
-        https://bugs.webkit.org/show_bug.cgi?id=153109
-
-        Reviewed by Darin Adler.
-
-        Refactor AtomicStringKeyedMRUCache, move it to WTF project and rename it
-        to be TinyLRUCache. Define another template and call it TinyLRUCachePolicy.
-        This one can be overridden for different keys and values. Its function is 
-        creating the cached values.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/TinyLRUCache.h: Added.
-        (WebCore::TinyLRUCachePolicy::isKeyNull):
-        (WebCore::TinyLRUCachePolicy::createValueForNullKey):
-        (WebCore::TinyLRUCachePolicy::createValueForKey):
-        (WebCore::TinyLRUCache::get):
-
-2016-01-19  Saam barati  <sbarati@apple.com>
-
-        WTF::Bag should be non-copyable
-        https://bugs.webkit.org/show_bug.cgi?id=153253
-
-        Reviewed by Filip Pizlo.
-
-        * wtf/Bag.h:
-        * wtf/SegmentedVector.h:
-        (WTF::SegmentedVector::append):
-        (WTF::SegmentedVector::alloc):
-
-2016-01-19  Enrica Casucci  <enrica@apple.com>
-
-        Add support for DataDetectors in WK (iOS).
-        https://bugs.webkit.org/show_bug.cgi?id=152989
-        rdar://problem/22855960
-
-        Reviewed by Tim Horton.
-
-        Adding feature definition for data detection.
-
-        * wtf/FeatureDefines.h:
-
-2016-01-19  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r195300.
-        https://bugs.webkit.org/show_bug.cgi?id=153244
-
-        enrica wants more time to fix Windows (Requested by thorton on
-        #webkit).
-
-        Reverted changeset:
-
-        "Add support for DataDetectors in WK (iOS)."
-        https://bugs.webkit.org/show_bug.cgi?id=152989
-        http://trac.webkit.org/changeset/195300
-
-2016-01-19  Chris Dumez  <cdumez@apple.com>
-
-        Unreviewed, rolling out r195141.
-
-        Seems to cause crashes on iOS9 64bit
-
-        Reverted changeset:
-
-        "Fragmentation-free allocator for timeless and/or coupled
-        allocations."
-        https://bugs.webkit.org/show_bug.cgi?id=152696
-        http://trac.webkit.org/changeset/195141
-
-2016-01-19  Enrica Casucci  <enrica@apple.com>
-
-        Add support for DataDetectors in WK (iOS).
-        https://bugs.webkit.org/show_bug.cgi?id=152989
-        rdar://problem/22855960
-
-        Reviewed by Tim Horton.
-
-        Adding feature definition for data detection.
-
-        * wtf/FeatureDefines.h:
-
-2016-01-17  Filip Pizlo  <fpizlo@apple.com>
-
-        FTL B3 should be just as fast as FTL LLVM on Octane/crypto
-        https://bugs.webkit.org/show_bug.cgi?id=153113
-
-        Reviewed by Saam Barati.
-
-        * wtf/IndexSparseSet.h:
-        (WTF::IndexSparseSet<OverflowHandler>::IndexSparseSet):
-        (WTF::IndexSparseSet<OverflowHandler>::add):
-        (WTF::IndexSparseSet<OverflowHandler>::remove):
-        * wtf/StringPrintStream.h:
-        (WTF::StringPrintStream::length):
-
-2016-01-17  Michael Catanzaro  <mcatanzaro@igalia.com>
-
-        [CMake] Do not build bmalloc when USE_SYSTEM_MALLOC is ON
-        https://bugs.webkit.org/show_bug.cgi?id=153190
-
-        Reviewed by Csaba Osztrogonác.
-
-        Build bmalloc when NOT USE_SYSTEM_MALLOC rather than when NOT WIN32.
-
-        * wtf/CMakeLists.txt:
-
-2016-01-15  Simon Fraser  <simon.fraser@apple.com>
-
-        Add kdebug_trace signposts for a few WebCore operations
-        https://bugs.webkit.org/show_bug.cgi?id=153136
-        rdar://problem/24208487
-
-        Reviewed by Sam Weinig.
-        
-        New header with the reserved WebKit component code, trace point codes, and
-        a stack-based helper that traces scope entry and exit.
-        
-        The available range of trace point codes is arbitrarily segmented into WTF, JSC,
-        WebCore, WebKit and WebKit2.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/CMakeLists.txt:
-        * wtf/SystemTracing.h: Added.
-        (WTF::TraceScope::TraceScope):
-        (WTF::TraceScope::~TraceScope):
-
-2016-01-15  Andreas Kling  <akling@apple.com>
-
-        Fragmentation-free allocator for timeless and/or coupled allocations.
-        <https://webkit.org/b/152696>
-
-        Reviewed by Antti Koivisto.
-
-        Introduce BumpArena, a space-efficient memory allocator for situations where
-        you feel pretty confident betting on allocation lifetimes.
-
-        Basic design:
-
-            - Reserves 128MB range of memory at startup.
-            - Allocates 4kB-aligned blocks of 4kB from VM at a time.
-            - Bump-pointer allocates out of a block until it reaches end.
-            - Each allocation increments the ref-count of its block.
-            - Each deallocation decrements the ref-count of its block.
-            - Transparently falls back to fastMalloc()/fastFree() when needed.
-
-        Interface:
-
-            - BumpArena::create()
-
-                Create your very own BumpArena!
-
-            - BumpArena::allocate(BumpArena* arena, size_t size)
-
-                Allocates 'size' bytes of memory from 'arena'.
-                If 'arena' is null, falls back to fastMalloc().
-
-            - BumpArena::deallocate(void* ptr)
-
-                If 'ptr' is BumpArena allocation, decrements block ref-count.
-                If 'ptr' is FastMalloc allocation, calls fastFree() on it.
-
-            - WTF_MAKE_BUMPARENA_ALLOCATED;
-
-                Macro that gives a class or struct custom operators new and delete
-                for allocation out of BumpArena. Just like WTF_MAKE_FAST_ALLOCATED;
-
-        Note that while the name of this patch says "fragmentation-free allocator"
-        it will only be fragmentation-free when used for appropriate things.
-        This is not meant to be a general-purpose allocator. Only use it for sets of
-        allocations that are known to die roughly at the same time.
-
-        BumpArena will never resume allocating from a block that has been filled,
-        so it's even more important than usual that everything gets deallocated.
-
-        BumpArena redirects allocations to FastMalloc in three cases:
-
-            - When invoked with a null BumpArena*
-            - When allocation request is larger than BumpArena's block size (4kB)
-            - When BumpArena has exhausted all of its pre-reserved VM. (128MB)
-
-        The VM allocator will eagerly return blocks of VM to the kernel by calling
-        madvise(). Average time spent in madvise is around 0.007ms on my box.
-
-        * WTF.vcxproj/WTF.vcxproj:
-        * WTF.vcxproj/WTF.vcxproj.filters:
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/BumpArena.cpp: Added.
-        (WTF::BumpArena::Block::capacity):
-        (WTF::BumpArena::Block::arena):
-        (WTF::BumpArena::Block::payloadStart):
-        (WTF::arenas):
-        (WTF::BumpArena::Block::Block):
-        (WTF::BumpArena::Block::~Block):
-        (WTF::BumpArena::Block::ref):
-        (WTF::BlockAllocator::BlockAllocator):
-        (WTF::BlockAllocator::isAllocation):
-        (WTF::blockAllocator):
-        (WTF::BlockAllocator::allocateBlock):
-        (WTF::BlockAllocator::deallocateBlock):
-        (WTF::BumpArena::Block::deref):
-        (WTF::BumpArena::Block::create):
-        (WTF::BumpArena::Block::dump):
-        (WTF::BumpArena::dump):
-        (WTF::BumpArena::create):
-        (WTF::BumpArena::BumpArena):
-        (WTF::BumpArena::~BumpArena):
-        (WTF::BumpArena::allocateSlow):
-        (WTF::BumpArena::allocate):
-        (WTF::BumpArena::deallocate):
-        (WTF::BumpArena::Block::blockFor):
-        (WTF::BumpArena::arenaFor):
-        * wtf/BumpArena.h: Added.
-        * wtf/CMakeLists.txt:
-
-2016-01-15  Konstantin Tokarev  <annulen@yandex.ru>
-
-        [EFL] WorkQueue methods should be defined inside WTF namespace.
-        https://bugs.webkit.org/show_bug.cgi?id=153097
-
-        Reviewed by Gyuyoung Kim.
-
-        * wtf/efl/WorkQueueEfl.cpp:
-
-2016-01-14  Chris Dumez  <cdumez@apple.com>
-
-        Unreviewed, rolling out r195035.
-
-        Caused 1-3% PLT regression on iOS
-
-        Reverted changeset:
-
-        "Part 2/2: Stop using USE(CFNETWORK) path on iOS"
-        https://bugs.webkit.org/show_bug.cgi?id=142540
-        http://trac.webkit.org/changeset/195035
-
-2016-01-14  David Kilzer  <ddkilzer@apple.com>
-
-        Part 2/2: Stop using USE(CFNETWORK) path on iOS
-        <https://webkit.org/b/142540>
-
-        Original patch by Antti Koivisto <antti@apple.com> on 2015-03-10
-        Reviewed by Chris Dumez.
-
-        * wtf/Platform.h: Turn off USE(CFNETWORK) for PLATFORM(IOS).
-
-2016-01-14  Per Arne Vollan  <peavo@outlook.com>
-
-        [Win] Remove workarounds for fixed bugs in fmod and pow.
-        https://bugs.webkit.org/show_bug.cgi?id=153071
-
-        Reviewed by Brent Fulgham.
-
-        The bugs have been fixed in the MSVC CRT, and we can remove the workarounds.
-
-        * wtf/MathExtras.h:
-        (wtf_fmod): Deleted.
-        (wtf_pow): Deleted.
-
-2016-01-13  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r194963.
-        https://bugs.webkit.org/show_bug.cgi?id=153079
-
-        This change causes ASan tests to crash and exit early
-        (Requested by ryanhaddad on #webkit).
-
-        Reverted changeset:
-
-        "Fragmentation-free allocator for timeless and/or coupled
-        allocations."
-        https://bugs.webkit.org/show_bug.cgi?id=152696
-        http://trac.webkit.org/changeset/194963
-
-2016-01-13  Andreas Kling  <akling@apple.com>
-
-        Fragmentation-free allocator for timeless and/or coupled allocations.
-        <https://webkit.org/b/152696>
-
-        Reviewed by Antti Koivisto.
-
-        Introduce BumpArena, a space-efficient memory allocator for situations where
-        you feel pretty confident betting on allocation lifetimes.
-
-        Basic design:
-
-            - Allocates 4kB-aligned blocks of 4kB from bmalloc at a time.
-            - Bump-pointer allocates out of a block until it reaches end.
-            - Each allocation increments the ref-count of its block.
-            - Each deallocation decrements the ref-count of its block.
-
-        Interface:
-
-            - BumpArena::create()
-
-                Create your very own BumpArena!
-
-            - BumpArena::allocate(BumpArena* arena, size_t size)
-
-                Allocates 'size' bytes of memory from 'arena'.
-                If 'arena' is null, allocation comes out of the shared global BumpArena.
-
-            - BumpArena::deallocate(void* ptr)
-
-                Deallocates 'ptr', decrementing the ref-count of its block.
-
-            - WTF_MAKE_BUMPARENA_ALLOCATED;
-
-                Macro that gives a class or struct custom operators new and delete
-                for allocation out of BumpArena. Just like WTF_MAKE_FAST_ALLOCATED;
-
-        Note that while the name of this patch says "fragmentation-free allocator"
-        it will only be fragmentation-free when used for appropriate things.
-        This is not meant to be a general-purpose allocator. Only use it for sets of
-        allocations that are known to die roughly at the same time.
-
-        BumpArena will never resume allocating from a block that has been filled,
-        so it's even more important than usual that everything gets deallocated.
-
-        As noted above, calling allocate() with a null BumpArena will allocate out
-        of a global shared arena. Ideally you're always allocating out of a specific,
-        controlled arena, but there are situations where you may not have one.
-
-        * WTF.vcxproj/WTF.vcxproj:
-        * WTF.vcxproj/WTF.vcxproj.filters:
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/BumpArena.cpp: Added.
-        (WTF::BumpArena::Block::defaultCapacity):
-        (WTF::BumpArena::Block::arena):
-        (WTF::BumpArena::Block::payloadStart):
-        (WTF::globalArena):
-        (WTF::arenas):
-        (WTF::BumpArena::Block::Block):
-        (WTF::BumpArena::Block::~Block):
-        (WTF::BumpArena::Block::ref):
-        (WTF::BumpArena::Block::deref):
-        (WTF::BumpArena::Block::create):
-        (WTF::BumpArena::Block::dump):
-        (WTF::BumpArena::dump):
-        (WTF::BumpArena::create):
-        (WTF::BumpArena::BumpArena):
-        (WTF::BumpArena::~BumpArena):
-        (WTF::BumpArena::allocateSlow):
-        (WTF::BumpArena::allocate):
-        (WTF::BumpArena::deallocate):
-        (WTF::BumpArena::Block::blockFor):
-        (WTF::BumpArena::arenaFor):
-        * wtf/BumpArena.h: Added.
-        * wtf/CMakeLists.txt:
-
-2016-01-08  Andy Estes  <aestes@apple.com>
-
-        [Content Filtering] Lazily load platform frameworks
-        https://bugs.webkit.org/show_bug.cgi?id=152881
-        rdar://problem/23270886
-
-        Reviewed by Brady Eidson.
-
-        * wtf/Platform.h: Moved definition of HAVE_NETWORK_EXTENSION to here from WebCore/platform/cocoa/NetworkExtensionContentFilter.h.
-
-2016-01-12  Ryosuke Niwa  <rniwa@webkit.org>
-
-        Add a build flag for custom element
-        https://bugs.webkit.org/show_bug.cgi?id=153005
-
-        Reviewed by Alex Christensen.
-
-        * wtf/FeatureDefines.h:
-
-2016-01-11  Andreas Kling  <akling@apple.com>
-
-        NeverDestroyed should relax adoption requirements on all RefCountedBase subclasses.
-        <https://webkit.org/b/152960>
-
-        Reviewed by Antti Koivisto.
-
-        Instead of relaxing on subclasses of RefCounted<T>, relax on subclasses of RefCountedBase.
-        This allows e.g NeverDestroyed<CSSPrimitiveValue> to relax its pointee despite the class
-        hierarchy starting with RefCounted<CSSValue> (not RefCounted<CSSPrimitiveValue>.)
-
-        * wtf/NeverDestroyed.h:
-
-2016-01-10  Saam barati  <sbarati@apple.com>
-
-        Implement a sampling profiler
-        https://bugs.webkit.org/show_bug.cgi?id=151713
-
-        Reviewed by Filip Pizlo.
-
-        * wtf/MetaAllocator.cpp:
-        (WTF::MetaAllocator::decrementPageOccupancy):
-        (WTF::MetaAllocator::isInAllocatedMemory):
-        (WTF::MetaAllocator::roundUp):
-        * wtf/MetaAllocator.h:
-        (WTF::MetaAllocator::getLock):
-        * wtf/Platform.h:
-
-2016-01-10  Filip Pizlo  <fpizlo@apple.com>
-
-        It should be possible to run liveness over registers without also tracking Tmps
-        https://bugs.webkit.org/show_bug.cgi?id=152963
-
-        Reviewed by Saam Barati.
-
-        Add set methods (add/contains/remove) to BitVector, since it gets used as a set in a lot of
-        places. This also makes BitVector a drop-in replacement for HashSet<unsigned> in a lot of
-        places.
-
-        Also made the iterator methods of BitVector live on BitVector directly rather than behind the
-        thing returned from setBits(). This makes sense since that makes BitVector even more of a
-        drop-in for HashSet. It's not harmful since we've never added any other mode of iterating a
-        BitVector other than this, so it doesn't make sense to make it harder to access.
-
-        * wtf/BitVector.h:
-        (WTF::BitVector::get):
-        (WTF::BitVector::contains):
-        (WTF::BitVector::set):
-        (WTF::BitVector::add):
-        (WTF::BitVector::ensureSizeAndSet):
-        (WTF::BitVector::clear):
-        (WTF::BitVector::remove):
-        (WTF::BitVector::hash):
-        (WTF::BitVector::iterator::iterator):
-        (WTF::BitVector::iterator::operator*):
-        (WTF::BitVector::iterator::operator++):
-        (WTF::BitVector::iterator::operator==):
-        (WTF::BitVector::iterator::operator!=):
-        (WTF::BitVector::begin):
-        (WTF::BitVector::end):
-        (WTF::BitVector::bitsInPointer):
-        (WTF::BitVector::SetBitsIterable::SetBitsIterable): Deleted.
-        (WTF::BitVector::SetBitsIterable::iterator::iterator): Deleted.
-        (WTF::BitVector::SetBitsIterable::iterator::operator*): Deleted.
-        (WTF::BitVector::SetBitsIterable::iterator::operator++): Deleted.
-        (WTF::BitVector::SetBitsIterable::iterator::operator==): Deleted.
-        (WTF::BitVector::SetBitsIterable::iterator::operator!=): Deleted.
-        (WTF::BitVector::SetBitsIterable::begin): Deleted.
-        (WTF::BitVector::SetBitsIterable::end): Deleted.
-        (WTF::BitVector::setBits): Deleted.
-
-2016-01-09  Andreas Kling  <akling@apple.com>
-
-        Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL
-        <https://webkit.org/b/152902>
-
-        Reviewed by Anders Carlsson.
-
-        Mostly mechanical conversion to NeverDestroyed throughout WTF.
-
-        * wtf/RunLoop.cpp:
-        (WTF::RunLoop::current):
-        * wtf/ThreadingPthreads.cpp:
-        (WTF::threadMapMutex):
-        (WTF::threadMap):
-
-2016-01-08  Anders Carlsson  <andersca@apple.com>
-
-        Nullopt and InPlace should be structs, not enum values
-        https://bugs.webkit.org/show_bug.cgi?id=152915
-
-        Reviewed by Andreas Kling.
-
-        Without this, 
-
-        Optional<int> o = flag ? 1 : Nullopt;
-
-        would cause Nullopt to be treated as an integer, causing o to be initialized to 0,
-        instead of Nullopt. With this change, the above code now causes a compile error.
-
-        Also, get rid of the CONSTEXPR macro since all compilers support constexpr properly,
-        and add a WTF::makeOptional to match the current iteration of std::experimental::optional.
-
-        * wtf/Compiler.h:
-        * wtf/Forward.h:
-        * wtf/Optional.h:
-        (WTF::NulloptTag::NulloptTag):
-        (WTF::makeOptional):
-        * wtf/StdLibExtras.h:
-        (std::literals::chrono_literals::operator _s):
-        (std::literals::chrono_literals::operator _ms):
-        (std::move):
-
-2016-01-06  Anders Carlsson  <andersca@apple.com>
-
-        Add a smart block pointer
-        https://bugs.webkit.org/show_bug.cgi?id=152799
-
-        Reviewed by Tim Horton.
-
-        Introduce WTF::BlockPtr, a smart block pointer.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/BlockPtr.h: Added.
-        (WTF::makeBlockPtr):
-
-2016-01-04  Carlos Garcia Campos  <cgarcia@igalia.com>
-
-        [GTK] Allow to save and restore session
-        https://bugs.webkit.org/show_bug.cgi?id=115600
-
-        Reviewed by Michael Catanzaro.
-
-        Add GVariantIter specialization of GUniquePtr.
-
-        * wtf/glib/GTypedefs.h:
-        * wtf/glib/GUniquePtr.h:
-
-2016-01-04  Tim Horton  <timothy_horton@apple.com>
-
-        Turn on gesture events when building for Yosemite
-        https://bugs.webkit.org/show_bug.cgi?id=152704
-        rdar://problem/24042472
-
-        Reviewed by Anders Carlsson.
-
-        * wtf/FeatureDefines.h:
-
-2016-01-04  Benjamin Poulain  <bpoulain@apple.com>
-
-        [JSC] Build B3 by default on iOS ARM64
-        https://bugs.webkit.org/show_bug.cgi?id=152525
-
-        Reviewed by Filip Pizlo.
-
-        * wtf/Platform.h:
-
-2016-01-03  Andreas Kling  <akling@apple.com>
-
-        Unreviewed, rolling out r194510.
-
-        Broke 2 API tests, no time to investigate right now
-
-        Reverted changeset:
-
-        "StringBuilder often creates two StringImpls."
-        https://bugs.webkit.org/show_bug.cgi?id=152662
-        http://trac.webkit.org/changeset/194510
-
-2016-01-03  Khem Raj  <raj.khem@gmail.com>
-
-        WebKit fails to build with musl libc library
-        https://bugs.webkit.org/show_bug.cgi?id=152625
-
-        Reviewed by Daniel Bates.
-
-        Disable ctype.h check for musl C library on Linux.
-        Enable backtrace on Linux when using glibc.
-        We don't have backtrace() implemented on non-glibc system
-        C libraries on Linux e.g. musl.
-
-        * wtf/DisallowCType.h: Check for __GLIBC__.
-        * wtf/Assertions.cpp:
-        (WTFGetBacktrace): Check if libc is glibc.
-
-2016-01-03  Andreas Kling  <akling@apple.com>
-
-        StringBuilder often creates two StringImpls.
-        <https://webkit.org/b/152662>
-
-        Reviewed by Anders Carlsson.
-
-        If StringBuilder didn't manage to guess the exact final length of the
-        string being built, it would still keep the buffer around, and the final
-        build process would then return a substring into that buffer.
-
-        This effectively yielded two StringImpls instead of one, with the substring
-        retaining the longer buffer StringImpl.
-
-        This patch improves the situation by having StringImpl crop the buffer's
-        m_length field to the final built string length. That way we never have to
-        return a substring.
-
-        * wtf/text/StringBuilder.cpp:
-        (WTF::StringBuilder::reifyString):
-        * wtf/text/StringImpl.h:
-
-2016-01-03  Andreas Kling  <akling@apple.com>
-
-        Remove redundant StringImpl substring creation function.
-        <https://webkit.org/b/152652>
-
-        Reviewed by Daniel Bates.
-
-        Remove StringImpl::createSubstringSharingImpl8() and make the only
-        caller use createSubstringSharingImpl() instead.
-        
-        They do the same thing anyway, the only difference is that the branch
-        on is8Bit() now happens in the callee instead of at the call site.
-
-        * wtf/text/StringImpl.h:
-        (WTF::StringImpl::createSubstringSharingImpl8): Deleted.
-
-2015-12-31  Andy Estes  <aestes@apple.com>
-
-        Replace WTF::move with WTFMove
-        https://bugs.webkit.org/show_bug.cgi?id=152601
-
-        Reviewed by Brady Eidson.
-
-        This also removes the definition of WTF::move.
-
-        * wtf/Deque.h:
-        * wtf/HashMap.h:
-        * wtf/HashSet.h:
-        * wtf/HashTable.h:
-        (WTF::HashTable::add):
-        (WTF::KeyTraits>::HashTable):
-        * wtf/Insertion.h:
-        (WTF::executeInsertions):
-        * wtf/IteratorAdaptors.h:
-        (WTF::FilterIterator::FilterIterator):
-        (WTF::TransformIterator::TransformIterator):
-        (WTF::makeTransformIterator):
-        * wtf/IteratorRange.h:
-        (WTF::IteratorRange::IteratorRange):
-        * wtf/ListHashSet.h:
-        (WTF::U>::takeFirst):
-        (WTF::U>::takeLast):
-        * wtf/MainThread.cpp:
-        (WTF::callOnMainThread):
-        * wtf/MallocPtr.h:
-        (WTF::MallocPtr::operator=):
-        * wtf/MessageQueue.h:
-        (WTF::MessageQueue<DataType>::append):
-        (WTF::MessageQueue<DataType>::appendAndKill):
-        (WTF::MessageQueue<DataType>::appendAndCheckEmpty):
-        (WTF::MessageQueue<DataType>::prepend):
-        * wtf/NakedPtr.h:
-        (WTF::=):
-        * wtf/OSObjectPtr.h:
-        (WTF::OSObjectPtr::operator=):
-        * wtf/Optional.h:
-        (WTF::Optional::Optional):
-        (WTF::Optional::operator=):
-        * wtf/RefPtr.h:
-        (WTF::=):
-        * wtf/RetainPtr.h:
-        (WTF::=):
-        * wtf/RunLoop.cpp:
-        (WTF::RunLoop::dispatch):
-        * wtf/SharedTask.h:
-        (WTF::createSharedTask):
-        * wtf/StdLibExtras.h:
-        (WTF::move): Deleted.
-        * wtf/Threading.cpp:
-        (WTF::threadEntryPoint):
-        (WTF::createThread):
-        * wtf/Vector.h:
-        (WTF::Vector::takeLast):
-        * wtf/efl/DispatchQueueEfl.cpp:
-        (DispatchQueue::dispatch):
-        (DispatchQueue::setSocketEventHandler):
-        (DispatchQueue::performTimerWork):
-        (DispatchQueue::insertTimerWorkItem):
-        * wtf/efl/DispatchQueueWorkItemEfl.h:
-        (WorkItem::WorkItem):
-        (TimerWorkItem::create):
-        (TimerWorkItem::TimerWorkItem):
-        * wtf/efl/WorkQueueEfl.cpp:
-        (WorkQueue::registerSocketEventHandler):
-        (WorkQueue::dispatch):
-        (WorkQueue::dispatchAfter):
-        * wtf/glib/GRefPtr.h:
-        (WTF::=):
-        * wtf/glib/WorkQueueGLib.cpp:
-        (WTF::DispatchAfterContext::DispatchAfterContext):
-        (WTF::WorkQueue::dispatchAfter):
-        * wtf/text/AtomicString.h:
-        (WTF::AtomicString::AtomicString):
-        (WTF::AtomicString::operator=):
-        * wtf/text/StringConcatenate.h:
-        (WTF::tryMakeString):
-        * wtf/text/WTFString.cpp:
-        (WTF::String::isolatedCopy):
-        * wtf/text/WTFString.h:
-        (WTF::String::String):
-        (WTF::StringCapture::releaseString):
-        * wtf/win/GDIObject.h:
-        (WTF::=):
-
-2015-12-31  David Kilzer  <ddkilzer@apple.com>
-
-        Stop using USE(CFNETWORK) path on iOS
-        <https://webkit.org/b/142540>
-
-        Step 1/2: Do everything but turn off USE(CFNETWORK) internally.
-
-        Original patch by Antti Koivisto <antti@apple.com> on 2015-03-10
-        Reviewed by Daniel Bates.
-
-        * wtf/SchedulePair.h: Update macros to match WebCore.
-
-2015-12-31  Andy Estes  <aestes@apple.com>
-
-        Rename WTF_MOVE to WTFMove
-        https://bugs.webkit.org/show_bug.cgi?id=152601
-
-        Reviewed by Daniel Bates.
-
-        Our coding style guidelines say that macros that expand to function calls should be named like functions,
-        so WTFMove() is a more appropriate name.
-
-        * wtf/StdLibExtras.h:
-
-2015-12-30  Andy Estes  <aestes@apple.com>
-
-        Use of WTF::move prevents clang's move diagnostics from warning about several classes of mistakes
-        https://bugs.webkit.org/show_bug.cgi?id=152601
-
-        Reviewed by Brady Eidson.
-
-        Clang has recently added warnings to catch certain classes of mistakes with the use of std::move():
-        -Wpessimizing-move (warns if moving prevents copy elision), -Wredundant-move (warns if a move is redundant),
-        and -Wself-move (warns if moving to self). Enabling these warnings manually (by renaming WTF::move to std::move)
-        have caught numerous mistakes in our codebase (see http://trac.webkit.org/changeset/194428).
-
-        It would be nice to be able to take advantage of these warnings, but doing so requires that we use std::move,
-        not WTF::move. But since WTF::move does provide useful checks for which clang does not yet have warnings,
-        we should write a best-of-both-worlds move function.
-
-        This patch adds a function that satisfies clang's criteria for a move function (in namespace std, named "move",
-        and takes a single argument) but also retains WTF::move's compile-time checks. It also adds a convenience macro
-        called WTF_MOVE for use by callers.
-
-        * wtf/StdLibExtras.h:
-        (std::move):
-
-2015-12-25  Andy Estes  <aestes@apple.com>
-
-        Stop moving local objects in return statements
-        https://bugs.webkit.org/show_bug.cgi?id=152557
-
-        Reviewed by Brady Eidson.
-
-        * wtf/StdLibExtras.h: Added a FIXME about how using WTF::move() prevents several Clang diagnostics from emitting useful warnings.
-
-2015-12-22  Filip Pizlo  <fpizlo@apple.com>
-
-        FTL B3 should be able to run richards
-        https://bugs.webkit.org/show_bug.cgi?id=152514
-
-        Reviewed by Michael Saboff.
-
-        Change the list dumping helpers to work with a broader set of list kinds.
-
-        * wtf/ListDump.h:
-        (WTF::ListDump::dump):
-        (WTF::MapDump::dump):
-        (WTF::sortedMapDump):
-        (WTF::ListDumpInContext::dump):
-
-2015-12-22  Filip Pizlo  <fpizlo@apple.com>
-
-        FTL B3 does not logicalNot correctly
-        https://bugs.webkit.org/show_bug.cgi?id=152512
-
-        Reviewed by Saam Barati.
-
-        This change introduces yet another use of SharedTask in JSC. While doing this, I noticed that
-        SharedTask::run() always demands that whatever arguments the callback takes, they must be
-        passed as rvalue references. This was a clear misuse of perfect forwarding. This change makes
-        SharedTask's approach to forwarding match what we were already doing in ScopedLambda.
-
-        * wtf/SharedTask.h:
-
-2015-12-20  Michael Catanzaro  <mcatanzaro@igalia.com>
-
-        [SOUP] Performs DNS prefetch when a proxy is configured (information leak)
-        https://bugs.webkit.org/show_bug.cgi?id=145542
-
-        Reviewed by Darin Adler.
-
-        Specialize GUniquePtr<char*>, using g_strfreev.
-
-        * wtf/glib/GUniquePtr.h:
-
-2015-12-19  Dan Bernstein  <mitz@apple.com>
-
-        [Mac] WebKit contains dead source code for OS X Mavericks and earlier
-        https://bugs.webkit.org/show_bug.cgi?id=152462
-
-        Reviewed by Alexey Proskuryakov.
-
-        * Configurations/DebugRelease.xcconfig: Removed definition of MACOSX_DEPLOYMENT_TARGET for
-          OS X 10.9.
-
-        - Simplified expressions involving __MAC_OS_X_VERSION_MIN_REQUIRED and removed code that was
-          never getting compiled:
-
-        * wtf/FeatureDefines.h:
-        * wtf/MainThread.h:
-        * wtf/OSObjectPtr.h:
-        * wtf/Platform.h:
-        * wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
-        * wtf/spi/darwin/XPCSPI.h:
-
-2015-12-17  Sukolsak Sakshuwong  <sukolsak@gmail.com>
-
-        [INTL] Implement Collator Compare Functions
-        https://bugs.webkit.org/show_bug.cgi?id=147604
-
-        Reviewed by Darin Adler.
-
-        * wtf/unicode/Collator.h:
-
-2015-12-16  Andreas Kling  <akling@apple.com>
-
-        Give kernel VM some hints about non-live memory-cached resources.
-        <https://webkit.org/b/152362>
-
-        Reviewed by Geoffrey Garen.
-
-        Add an API to OSAllocator for hinting to the OS that a range of memory
-        is not expected to be used anytime soon.
-
-        * wtf/OSAllocator.h:
-        * wtf/OSAllocatorPosix.cpp:
-        (WTF::OSAllocator::hintMemoryNotNeededSoon):
-        * wtf/OSAllocatorWin.cpp:
-        (WTF::OSAllocator::hintMemoryNotNeededSoon):
-        * wtf/Platform.h:
-
-2015-12-16  Alex Christensen  <achristensen@webkit.org>
-
-        Fix internal Windows build
-        https://bugs.webkit.org/show_bug.cgi?id=152364
-        rdar://problem/23928759
-
-        Reviewed by Tim Horton.
-
-        * WTF.vcxproj/WTF.proj:
-
-2015-12-16  Youenn Fablet  <youenn.fablet@crf.canon.fr>
-
-        [Fetch API] Add fetch API compile time flag
-        https://bugs.webkit.org/show_bug.cgi?id=152254
-
-        Reviewed by Darin Adler.
-
-        * wtf/FeatureDefines.h:
-
-2015-12-14  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        Math.random should have an intrinsic thunk and it should be later handled as a DFG Node
-        https://bugs.webkit.org/show_bug.cgi?id=152133
-
-        Reviewed by Geoffrey Garen.
-
-        Change 64bit random to double logic to convert efficiently.
-
-        * wtf/WeakRandom.h:
-        (WTF::WeakRandom::get):
-        (WTF::WeakRandom::lowOffset):
-        (WTF::WeakRandom::highOffset):
-
-2015-12-14  Sukolsak Sakshuwong  <sukolsak@gmail.com>
-
-        Make UCharIterator createIterator(StringView) visible to other classes
-        https://bugs.webkit.org/show_bug.cgi?id=151917
-
-        Reviewed by Darin Adler.
-
-        Make UCharIterator createIterator(StringView) in CollatorICU.cpp visible
-        to other classes so that future patches that will ucol_strcollIter
-        (including Bug 147604) can use it.
-
-        * wtf/unicode/Collator.h:
-        * wtf/unicode/icu/CollatorICU.cpp:
-        (WTF::createIterator):
-
-2015-12-14  David Kilzer  <ddkilzer@apple.com>
-
-        REGRESSION (r162777): Remove Boost Software License from WTF
-        <http://webkit.org/b/152243>
-
-        Reviewed by Darin Adler.
-
-        The source code that the Boost Software License was referring to
-        was removed in r162777 by switching to std::atomic.
-
-        * wtf/Atomics.cpp:
-        * wtf/Atomics.h:
-        * wtf/ThreadSafeRefCounted.h:
-        - Remove Boost Software License.
-        - Update Apple Inc. copyright as needed.
-        - Refresh Apple Inc. license text.
-
-2015-12-10  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Remote Inspector: Verify the identity of the other side of XPC connections
-        https://bugs.webkit.org/show_bug.cgi?id=152153
-
-        Reviewed by Brian Burg.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/spi/cocoa/SecuritySPI.h: Renamed from Source/WebCore/platform/spi/cocoa/SecuritySPI.h.
-        Push this down into WTF from WebCore and add a new method.
-
-2015-12-08  Filip Pizlo  <fpizlo@apple.com>
-
-        FTL B3 should have basic GetById support
-        https://bugs.webkit.org/show_bug.cgi?id=152035
-
-        Reviewed by Saam Barati.
-
-        When dealing with shared task lambdas, you often want to force a value to be allocated so that it
-        has reference semantics, but you still want the lambda to execute OK when we pop stack. In PL we
-        usually call this a "box". This is easy to do if the value that happened to be stack-allocated
-        is also RefCounted, but that's rare, since stack-allocated values often have copy semantics. So,
-        I've added a Box type to WTF. Behind the scenes, it allocates your object with fast malloc inside
-        a ThreadSAfeRefCounted. When you pass Box<T>, you're passing the reference. This makes it a lot
-        easier to work with by-reference capture.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/Box.h: Added.
-        (WTF::Box::Box):
-        (WTF::Box::create):
-        (WTF::Box::get):
-        (WTF::Box::operator*):
-        (WTF::Box::operator->):
-        (WTF::Box::operator bool):
-        (WTF::Box::Data::Data):
-
-2015-12-09  Andreas Kling  <akling@apple.com>
-
-        [iOS] ResourceUsageOverlay should work on iOS.
-        <https://webkit.org/b/152021>
-
-        Reviewed by Antti Koivisto.
-
-        * wtf/Platform.h: Enable RESOURCE_USAGE_OVERLAY for all COCOA platforms.
-
-2015-12-08  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Create a Sandbox SPI header
-        https://bugs.webkit.org/show_bug.cgi?id=151981
-
-        Reviewed by Andy Estes.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/spi/darwin/SandboxSPI.h: Added.
-
-2015-12-07  Filip Pizlo  <fpizlo@apple.com>
-
-        FTL B3 should be able to flag the tag constants as being super important so that B3 can hoist them and Air can force them into registers
-        https://bugs.webkit.org/show_bug.cgi?id=151955
-
-        Reviewed by Geoffrey Garen.
-
-        Remove some remaining DFG-specific snippets from Dominators. This used to be a non-template
-        DFG class, and some time ago I hoisted it into WTF and made it generic. But since the only
-        user of the class was the DFG, this class still had a handful of DFG-specific snippets that
-        didn't compile when I started using it from B3.
-
-        Also renamed immediateDominatorOf() to idom(). This is the sort of abbreviation that we
-        wouldn't ordinarily want to have in WebKit. But WebKit does allow for abbreviations that are
-        "more canonical". The term "idom" is definitely more canonical than "immediateDominatorOf".
-
-        * wtf/Dominators.h:
-        (WTF::Dominators::dominates):
-        (WTF::Dominators::idom):
-        (WTF::Dominators::forAllStrictDominatorsOf):
-        (WTF::Dominators::NaiveDominators::dominates):
-        (WTF::Dominators::NaiveDominators::dump):
-        (WTF::Dominators::ValidationContext::handleErrors):
-
-2015-12-03  Anders Carlsson  <andersca@apple.com>
-
-        Remove Objective-C GC support
-        https://bugs.webkit.org/show_bug.cgi?id=151819
-        rdar://problem/23746991
-
-        Reviewed by Dan Bernstein.
-
-        * Configurations/Base.xcconfig:
-        * wtf/ThreadingPthreads.cpp:
-        (WTF::initializeCurrentThreadInternal): Deleted.
-        * wtf/text/cf/StringImplCF.cpp:
-        (WTF::StringImpl::createCFString):
-        (garbageCollectionEnabled): Deleted.
-        (WTF::StringWrapperCFAllocator::create): Deleted.
-
-2015-12-02  Filip Pizlo  <fpizlo@apple.com>
-
-        FTL B3 should support OSR exit
-        https://bugs.webkit.org/show_bug.cgi?id=151710
-
-        Reviewed by Saam Barati.
-
-        Make sure that this has perfect forwarding.
-
-        * wtf/SegmentedVector.h:
-        (WTF::SegmentedVector::append):
-        (WTF::SegmentedVector::alloc):
-
-2015-12-01  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        [ES6] Implement LLInt/Baseline Support for ES6 Generators and enable this feature
-        https://bugs.webkit.org/show_bug.cgi?id=150792
-
-        Reviewed by Saam Barati.
-
-        * wtf/FastBitVector.h:
-        (WTF::FastBitVector::forEachSetBit):
-        * wtf/FeatureDefines.h:
-
-2015-12-01  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r192914.
-        https://bugs.webkit.org/show_bug.cgi?id=151734
-
-        JSC tests for this change are failing on 32 and 64-bit bots
-        (Requested by ryanhaddad on #webkit).
-
-        Reverted changeset:
-
-        "[ES6] Implement LLInt/Baseline Support for ES6 Generators and
-        enable this feature"
-        https://bugs.webkit.org/show_bug.cgi?id=150792
-        http://trac.webkit.org/changeset/192914
-
-2015-12-01  Myles C. Maxfield  <mmaxfield@apple.com>
-
-        Give String and AtomicString an existingHash() function
-        https://bugs.webkit.org/show_bug.cgi?id=151717
-
-        Reviewed by Andreas Kling.
-
-        Test: WTF.AtomicStringExistingHash
-              WTF.StringExistingHash
-
-        * wtf/text/AtomicString.h:
-        (WTF::AtomicString::existingHash):
-        * wtf/text/WTFString.h:
-        (WTF::String::existingHash):
-
-2015-12-01  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        [ES6] Implement LLInt/Baseline Support for ES6 Generators and enable this feature
-        https://bugs.webkit.org/show_bug.cgi?id=150792
-
-        Reviewed by Saam Barati.
-
-        * wtf/FastBitVector.h:
-        (WTF::FastBitVector::forEachSetBit):
-        * wtf/FeatureDefines.h:
-
-2015-11-30  Geoffrey Garen  <ggaren@apple.com>
-
-        Use a better RNG for Math.random()
-        https://bugs.webkit.org/show_bug.cgi?id=151641
-
-        Reviewed by Anders Carlsson.
-
-        Use 64 bits in the random number generator instead of 32 bit. (In
-        the end, JavaScript, which uses doubles, will only see 52 bits.) This
-        prevents programs that multiply a random number by a large constant from
-        seeing non-random "banding" caused by zeroes in the low 20 bits.
-
-        I also took the opportunity to upgrade from GameRandom to Xorshift+,
-        since Xorshift+ passes more benchmarks for randomness, and is not any
-        slower or more complicated.
-
-        Now let us all remember the fateful words of Steve Weibe, who would be
-        King of Kong: "The randomness went the opposite way that it usually goes."
-
-        * wtf/WeakRandom.h:
-        (WTF::WeakRandom::WeakRandom):
-        (WTF::WeakRandom::setSeed): Use standard naming.
-
-        (WTF::WeakRandom::seed): This function is safe now. "Unsafe" in function
-        names makes me itch.
-
-        (WTF::WeakRandom::get):
-        (WTF::WeakRandom::getUint32): Update to 64bit.
-
-        (WTF::WeakRandom::advance): The Xorshift+ algorithm.
-
-        (WTF::WeakRandom::initializeSeed): Deleted.
-        (WTF::WeakRandom::seedUnsafe): Deleted.
-
-2015-11-30  Benjamin Poulain  <bpoulain@apple.com>
-
-        [JSC] Speed up Air Liveness Analysis on Tmps
-        https://bugs.webkit.org/show_bug.cgi?id=151556
-
-        Reviewed by Filip Pizlo.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/IndexSparseSet.h: Added.
-        (WTF::IndexSparseSet<OverflowHandler>::IndexSparseSet):
-        (WTF::IndexSparseSet<OverflowHandler>::add):
-        (WTF::IndexSparseSet<OverflowHandler>::remove):
-        (WTF::IndexSparseSet<OverflowHandler>::clear):
-        (WTF::IndexSparseSet<OverflowHandler>::size):
-        (WTF::IndexSparseSet<OverflowHandler>::isEmpty):
-        (WTF::IndexSparseSet<OverflowHandler>::contains):
-
-2015-11-30  Tim Horton  <timothy_horton@apple.com>
-
-        Get rid of the !USE(ASYNC_NSTEXTINPUTCLIENT) codepath
-        https://bugs.webkit.org/show_bug.cgi?id=151673
-
-        Reviewed by Anders Carlsson.
-
-        * wtf/Platform.h:
-
-2015-11-30  Carlos Garcia Campos  <cgarcia@igalia.com>
-
-        [GLIB] Remove GMainLoopSource and GThreadSafeMainLoopSource
-        https://bugs.webkit.org/show_bug.cgi?id=151633
-
-        Reviewed by Csaba Osztrogonác.
-
-        * WTF.vcxproj/WTF.vcxproj:
-        * WTF.vcxproj/WTF.vcxproj.filters:
-        * wtf/PlatformEfl.cmake:
-        * wtf/PlatformGTK.cmake:
-        * wtf/glib/GMainLoopSource.cpp: Removed.
-        * wtf/glib/GMainLoopSource.h: Removed.
-        * wtf/glib/GThreadSafeMainLoopSource.cpp: Removed.
-        * wtf/glib/GThreadSafeMainLoopSource.h: Removed.
-
-2015-11-27  Csaba Osztrogonác  <ossy@webkit.org>
-
-        Fix build warning in bignum.cc
-        https://bugs.webkit.org/show_bug.cgi?id=150797
-
-        Reviewed by Geoffrey Garen.
-
-        * wtf/dtoa/bignum.cc:
-
-2015-11-18  Daniel Bates  <dabates@apple.com>
-
-        [iOS] ASSERTION FAILED: temporaryFilePath.last() == '/' in WebCore::openTemporaryFile()
-        https://bugs.webkit.org/show_bug.cgi?id=151392
-        <rdar://problem/23595341>
-
-        Reviewed by Alexey Proskuryakov.
-
-        Workaround <rdar://problem/23579077> where confstr(_CS_DARWIN_USER_TEMP_DIR, ..., ...) retrieves
-        the path to the user temporary directory without a trailing slash in the iOS simulator.
-
-        * wtf/DataLog.cpp:
-        (WTF::initializeLogFileOnce):
-
-2015-11-17  Filip Pizlo  <fpizlo@apple.com>
-
-        CheckAdd/Mul should have commutativity optimizations in B3->Air lowering
-        https://bugs.webkit.org/show_bug.cgi?id=151214
-
-        Reviewed by Geoffrey Garen.
-
-        Disable my failed attempts at perfect forwarding, since they were incorrect, and caused compile
-        errors if you tried to pass an argument that bound to lvalue. This shouldn't affect performance of
-        anything we care about, and performance tests seem to confirm that it's all good.
-
-        * wtf/ScopedLambda.h:
-
-2015-11-17  Filip Pizlo  <fpizlo@apple.com>
-
-        Air should lay out code optimally
-        https://bugs.webkit.org/show_bug.cgi?id=150478
-
-        Reviewed by Geoffrey Garen.
-
-        * wtf/GraphNodeWorklist.h:
-        (WTF::GraphNodeWorklist::push):
-        (WTF::GraphNodeWorklist::isEmpty):
-        (WTF::GraphNodeWorklist::notEmpty):
-        (WTF::GraphNodeWorklist::pop):
-
-2015-11-11  Anders Carlsson  <andersca@apple.com>
-
-        Enable cross-platform context menus by default
-        https://bugs.webkit.org/show_bug.cgi?id=151173
-
-        Reviewed by Tim Horton.
-
-        * wtf/Platform.h:
-
-2015-11-12  Csaba Osztrogonác  <ossy@webkit.org>
-
-        Remove ENABLE(SATURATED_LAYOUT_ARITHMETIC) guards
-        https://bugs.webkit.org/show_bug.cgi?id=150972
-
-        Reviewed by Darin Adler.
-
-        * wtf/FeatureDefines.h:
-
-2015-11-11  Filip Pizlo  <fpizlo@apple.com>
-
-        B3 should be able to compile and canonicalize Mul
-        https://bugs.webkit.org/show_bug.cgi?id=151124
-
-        Reviewed by Geoffrey Garen.
-
-        * wtf/MathExtras.h:
-        (WTF::fastLog2):
-
-2015-11-10  Filip Pizlo  <fpizlo@apple.com>
-
-        B3 should be able to compile a program with ChillDiv
-        https://bugs.webkit.org/show_bug.cgi?id=151114
-
-        Reviewed by Benjamin Poulain.
-
-        Needed to beef up some compiler algorithms. All of the hardening was about making them
-        work with objects that have move semantics but not copy semantics. This arises in B3
-        basic block insertion sets.
-
-        * wtf/BubbleSort.h:
-        (WTF::bubbleSort):
-        * wtf/Insertion.h:
-        (WTF::Insertion::Insertion):
-        (WTF::Insertion::index):
-        (WTF::Insertion::element):
-        (WTF::Insertion::operator<):
-        (WTF::executeInsertions):
-
-2015-11-10  Carlos Garcia Campos  <cgarcia@igalia.com>
-
-        [GTK] Use CROSS_PLATFORM_CONTEXT_MENUS
-        https://bugs.webkit.org/show_bug.cgi?id=150642
-
-        Reviewed by Martin Robinson.
-
-        Enable CROSS_PLATFORM_CONTEXT_MENUS for GTK+ port.
-
-        * wtf/Platform.h:
-
-2015-11-09  Anders Carlsson  <andersca@apple.com>
-
-        Introspect reply block types as well
-        https://bugs.webkit.org/show_bug.cgi?id=151048
-
-        Reviewed by Tim Horton.
-
-        Fix operator-> implementation.
-
-        * wtf/Optional.h:
-        (WTF::Optional::operator->):
-
-2015-11-05  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>
-
-        Add runtime and compile time flags for enabling Web Animations API and model.
-        https://bugs.webkit.org/show_bug.cgi?id=150914
-
-        Reviewed by Benjamin Poulain.
-
-        Add ENABLE_WEB_ANIMATIONS compile time flag, runtime flag webAnimationsEnabled and Expose WK2 preference for runtime flag.
-
-        * wtf/FeatureDefines.h:
-
-2015-11-05  Zan Dobersek  <zdobersek@igalia.com>
-
-        [GLib] Avoid gint64, std::chrono::microseconds overflows in RunLoop::TimerBase
-        https://bugs.webkit.org/show_bug.cgi?id=150930
-
-        Reviewed by Carlos Garcia Campos.
-
-        In RunLoop::TimerBase::start(), avoid overflowing the std::chrono::microseconds
-        value in case the passed-in fire interval (in seconds) is too large (e.g. when
-        std::chrono::microseconds::max() is used as the desired interval). This is
-        achieved by using the passed-in fire interval, converted in microseconds, only
-        if the value of this interval is smaller than std::chrono::microseconds::max().
-
-        In RunLoop::TimerBase::updateReadyTime(), the zero-delay is still considered a
-        short cut, but we use G_MAXINT64 in case the sum of the current time and the
-        desired fire interval (now in microseconds) would overflow.
-
-        * wtf/glib/RunLoopGLib.cpp:
-        (WTF::RunLoop::TimerBase::updateReadyTime):
-        (WTF::RunLoop::TimerBase::start):
-
-2015-11-02  Filip Pizlo  <fpizlo@apple.com>
-
-        B3/Air should use bubble sort for their insertion sets, because it's faster than std::stable_sort
-        https://bugs.webkit.org/show_bug.cgi?id=150828
-
-        Reviewed by Geoffrey Garen.
-
-        Add a pretty good bubble sort implementation to WTF. This implementation has three
-        common tricks:
-
-        - Forward and backward scans. This reduces the severity of certain kinds of bubble sort
-          pathologies.
-
-        - Return if a scan finds the list to be sorted. This gives the algorithm one of its most
-          attractive properties: it's super fast when the list is already sorted.
-
-        - Each scan eliminates one element from future scans. This makes the algorithm no worse
-          than insertion sort.
-
-        Why do we want this? Because bubble sort is a really great stable sort for small lists,
-        or large lists in which only a handful of elements are out of order. Compiler insertion
-        sets tend to be one of those or somewhere in between: usually they are very small, and
-        usually they are sorted. It's rare that an element will be out of order, and when it is,
-        it's usually very close to where it's supposed to be.
-
-        This is a significant speed-up for B3 compile times.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/BubbleSort.h: Added.
-        (WTF::bubbleSort):
-        * wtf/CMakeLists.txt:
-
-2015-11-02  Andy Estes  <aestes@apple.com>
-
-        [Cocoa] Add tvOS and watchOS to SUPPORTED_PLATFORMS
-        https://bugs.webkit.org/show_bug.cgi?id=150819
-
-        Reviewed by Dan Bernstein.
-
-        This tells Xcode to include these platforms in its Devices dropdown, making it possible to build in the IDE.
-
-        * Configurations/Base.xcconfig:
-
-2015-11-02  Carlos Garcia Campos  <cgarcia@igalia.com>
-
-        [GLIB] Remove support for GSocket main loop sources from GMainLoopSource
-        https://bugs.webkit.org/show_bug.cgi?id=150772
-
-        Reviewed by Žan Doberšek.
-
-        It complicated the code just to make generic what is only used in
-        one place.
-
-        * wtf/glib/GMainLoopSource.cpp:
-        (WTF::GMainLoopSource::cancel): Deleted.
-        (WTF::GMainLoopSource::schedule): Deleted.
-        (WTF::GMainLoopSource::scheduleTimeoutSource): Deleted.
-        (WTF::GMainLoopSource::scheduleAfterDelay): Deleted.
-        (WTF::GMainLoopSource::finishVoidCallback): Deleted.
-        (WTF::GMainLoopSource::voidCallback): Deleted.
-        (WTF::GMainLoopSource::prepareBoolCallback): Deleted.
-        * wtf/glib/GMainLoopSource.h:
-        (WTF::GMainLoopSource::Context::operator=): Deleted.
-
-2015-11-02  Carlos Garcia Campos  <cgarcia@igalia.com>
-
-        [GLIB] Remove delete on destroy GMainLoopSources
-        https://bugs.webkit.org/show_bug.cgi?id=150771
-
-        Reviewed by Žan Doberšek.
-
-        Delete on destroy sources made the GMainLoopSource implementation
-        more complex and they are currently unused.
-
-        * wtf/glib/GMainLoopSource.cpp:
-        (WTF::GMainLoopSource::boolCallback):
-        (WTF::GMainLoopSource::create): Deleted.
-        (WTF::GMainLoopSource::GMainLoopSource): Deleted.
-        (WTF::GMainLoopSource::cancel): Deleted.
-        (WTF::GMainLoopSource::scheduleAndDeleteOnDestroy): Deleted.
-        (WTF::GMainLoopSource::scheduleAfterDelayAndDeleteOnDestroy): Deleted.
-        (WTF::GMainLoopSource::voidCallback): Deleted.
-        * wtf/glib/GMainLoopSource.h:
-
-2015-11-01  Carlos Garcia Campos  <cgarcia@igalia.com>
-
-        [GTK] Use RunLoop in WorkQueue implementation
-        https://bugs.webkit.org/show_bug.cgi?id=150770
-
-        Reviewed by Darin Adler.
-
-        Instead of using GMainLoop directly. RunLoop already abstracts the
-        GMainLoop details and uses persistent sources making it more efficient.
-        For the dispatchAfter implementation we use a helper context class
-        and a GSource directly, since we are going to get rid of delete on
-        destroy GMainLoop soon and this is the only place where we still
-        use them.
-
-        * wtf/RunLoop.h:
-        (WTF::RunLoop::mainContext): Return the GMainContext.
-        * wtf/WorkQueue.h:
-        * wtf/glib/WorkQueueGLib.cpp:
-        (WTF::WorkQueue::platformInitialize): The RunLoop needs to be
-        created in the worker thread now, so we now use a mutex to wait
-        until the thread has started and the RunLoop has been created.
-        (WTF::WorkQueue::platformInvalidate): Stop the RunLoop and wait
-        until the thread finishes.
-        (WTF::WorkQueue::dispatch): Use RunLoop::dispatch().
-        (WTF::DispatchAfterContext::DispatchAfterContext):
-        (WTF::DispatchAfterContext::~DispatchAfterContext):
-        (WTF::DispatchAfterContext::dispatch):
-        (WTF::WorkQueue::dispatchAfter):
-
-2015-11-01  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        [ES6] Support Generator Syntax
-        https://bugs.webkit.org/show_bug.cgi?id=150769
-
-        Reviewed by Geoffrey Garen.
-
-        Added ENABLE_ES6_GENERATORS flag.
-
-        * wtf/FeatureDefines.h:
-
-2015-11-01  Darin Adler  <darin@apple.com>
-
-        ASCIICType refinements
-        https://bugs.webkit.org/show_bug.cgi?id=150787
-
-        Reviewed by Geoffrey Garen.
-
-        Refined ASCIICType.h by using narrower types. The most valuable part of this
-        is the part where the result of toASCIIHexValue is uint8_t instead of int;
-        that's slightly better for RGB values that the compiler needs to know fit
-        into a byte (coming in some Color work I plan to do soon).
-
-        * wtf/ASCIICType.h: Used CharacterType instead of CharType throughout, and
-        also sorted the using declarations at the bottom of the header.
-        (WTF::isASCII): Use the name "character" instead of "c".
-        (WTF::isASCIIAlpha): Ditto. Also use isASCIILower and toASCIILowerUnchecked
-        instead of writing it out.
-        (WTF::isASCIIDigit): Ditto.
-        (WTF::isASCIIAlphanumeric): Ditto.
-        (WTF::isASCIIHexDigit): Ditto. Also use toASCIILowerUnchecked instead of
-        writing it out.
-        (WTF::isASCIILower): Ditto.
-        (WTF::isASCIIBinaryDigit): Ditto. Also removed unneeded parentheses to match
-        the style of the rest of the file.
-        (WTF::isASCIIOctalDigit): Ditto.
-        (WTF::isASCIIPrintable): Ditto.
-        (WTF::isASCIISpace): Ditto.
-        (WTF::isASCIIUpper): Ditto.
-        (WTF::toASCIILower): Ditto. Also use isASCIIUpper instead of writing it out.
-        (WTF::toASCIILowerUnchecked): Tweaked comment.
-        (WTF::toASCIIUpper): Ditto. Also use isASCIILower instead of writing it out.
-        (WTF::toASCIIHexValue): Ditto. Also change return type from int to uint8_t.
-        Also broke a single assertion with && into two separate assertions and got
-        rid of unnnecessary masking with 0xF0 after shifting left. Also renamed
-        arguments for the two argument value so they are more sensible.
-        (WTF::lowerNibbleToASCIIHexDigit): Changed argument type to uint8_t, since
-        this function does not take a character. Also called it "value" instead of "c".
-        Also slightly tweaked how the expression is written.
-        (WTF::upperNibbleToASCIIHexDigit): Ditto. Using the more specific type also
-        got rid of the need to explicitly mask in this function.
-        (WTF::isASCIIAlphaCaselessEqual): Renamed the arguments for greater clarity.
-        With the new clearer argument names, the comment was superfluous.
-
-2015-11-01  Filip Pizlo  <fpizlo@apple.com>
-
-        Dominators should be factored out of the DFG
-        https://bugs.webkit.org/show_bug.cgi?id=150764
-
-        Reviewed by Geoffrey Garen.
-
-        This takes what used to be DFGDominators.h/DFGDominators.cpp and turns it into a generic
-        algorithm that can take any abstract graph. The idea is that you create Dominators<CFG> and
-        pass it a CFG object, which defines the types of graph nodes and methods for getting
-        successors, predecessors, etc. The DFG now defines a class called CFG, which is a wrapper for
-        DFG::Graph that conforms to the thing that wtf/Dominators.h expects.
-
-        When doing things to graphs, it's common to refer to the things in the graph as "nodes".
-        Because I intend to reuse the CFG abstraction with many graph algorithms, that abstraction uses
-        the term "node" to refer to a DFG basic block. But in Dominators, the method and variable names
-        still use "block". This is because although Dominators are applicable to any kind of directed
-        graph, it's super unlikely that we will ever use them for anything but compilers. Indeed, the
-        only reason why I'm factoring them out of the DFG is so that I can use them with B3 and Air.
-
-        This has the nice side effect that a user of WTF::Dominators<JSC::DFG::CFG> will see familiar
-        terminology like "blocksStrictlyDominatedBy(...)" instead of "nodesStrictlyDominatedBy(...)",
-        which would be super confusing.
-
-        Overall, wtf/Dominators.h is a combination of what used to be in DFGDominators.h,
-        DFGDominators.cpp, DFGNaiveDominators.h, and DFGNaiveDominators.cpp. I only changed code when I
-        had to in order to make it generic.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/CMakeLists.txt:
-        * wtf/Dominators.h: Added.
-        (WTF::Dominators::Dominators):
-        (WTF::Dominators::compute):
-        (WTF::Dominators::strictlyDominates):
-        (WTF::Dominators::dominates):
-        (WTF::Dominators::immediateDominatorOf):
-        (WTF::Dominators::forAllStrictDominatorsOf):
-        (WTF::Dominators::forAllDominatorsOf):
-        (WTF::Dominators::forAllBlocksStrictlyDominatedBy):
-        (WTF::Dominators::forAllBlocksDominatedBy):
-        (WTF::Dominators::strictDominatorsOf):
-        (WTF::Dominators::dominatorsOf):
-        (WTF::Dominators::blocksStrictlyDominatedBy):
-        (WTF::Dominators::blocksDominatedBy):
-        (WTF::Dominators::forAllBlocksInDominanceFrontierOf):
-        (WTF::Dominators::dominanceFrontierOf):
-        (WTF::Dominators::forAllBlocksInIteratedDominanceFrontierOf):
-        (WTF::Dominators::forAllBlocksInPrunedIteratedDominanceFrontierOf):
-        (WTF::Dominators::iteratedDominanceFrontierOf):
-        (WTF::Dominators::dump):
-        (WTF::Dominators::LengauerTarjan::LengauerTarjan):
-        (WTF::Dominators::LengauerTarjan::compute):
-        (WTF::Dominators::LengauerTarjan::immediateDominator):
-        (WTF::Dominators::LengauerTarjan::computeDepthFirstPreNumbering):
-        (WTF::Dominators::LengauerTarjan::computeSemiDominatorsAndImplicitImmediateDominators):
-        (WTF::Dominators::LengauerTarjan::computeExplicitImmediateDominators):
-        (WTF::Dominators::LengauerTarjan::link):
-        (WTF::Dominators::LengauerTarjan::eval):
-        (WTF::Dominators::LengauerTarjan::compress):
-        (WTF::Dominators::LengauerTarjan::BlockData::BlockData):
-        (WTF::Dominators::NaiveDominators::NaiveDominators):
-        (WTF::Dominators::NaiveDominators::dominates):
-        (WTF::Dominators::NaiveDominators::dump):
-        (WTF::Dominators::NaiveDominators::pruneDominators):
-        (WTF::Dominators::ValidationContext::ValidationContext):
-        (WTF::Dominators::ValidationContext::reportError):
-        (WTF::Dominators::ValidationContext::handleErrors):
-        (WTF::Dominators::naiveDominates):
-        (WTF::Dominators::forAllBlocksInDominanceFrontierOfImpl):
-        (WTF::Dominators::forAllBlocksInIteratedDominanceFrontierOfImpl):
-        (WTF::Dominators::BlockData::BlockData):
-
-2015-11-01  Darin Adler  <darin@apple.com>
-
-        Remove some dead and unneeded code (ScrollbarThemeSafari, RenderThemeSafari, OPENCL, a little color space logic)
-        https://bugs.webkit.org/show_bug.cgi?id=150783
-
-        Reviewed by Tim Horton.
-
-        * wtf/FeatureDefines.h: Removed the OPENCL feature, no longer supported.
-
-2015-10-31  Filip Pizlo  <fpizlo@apple.com>
-
-        B3::reduceStrength's DCE should be more agro and less wrong
-        https://bugs.webkit.org/show_bug.cgi?id=150748
-
-        Reviewed by Geoffrey Garen.
-
-        * wtf/GraphNodeWorklist.h:
-        (WTF::GraphNodeWorklist::saw): This method is super useful.
-
-2015-11-01  Philip Chimento  <philip.chimento@gmail.com>
-
-        [GTK] Fix combinations of PLATFORM(GTK) and OS(DARWIN)
-        https://bugs.webkit.org/show_bug.cgi?id=144560
-
-        Reviewed by Darin Adler.
-
-        * wtf/Platform.h: Don't USE(ACCELERATE) on PLATFORM(GTK).
-        * wtf/WorkQueue.h: Change order of OS(DARWIN) and PLATFORM(GTK)
-        checks so that GTK facilities are used even when building the
-        GTK platform on Darwin.
-
-2015-11-01  Carlos Garcia Campos  <cgarcia@igalia.com>
-
-        [GTK] Use RunLoop::Timer in main thread shared timer GTK+ implementation
-        https://bugs.webkit.org/show_bug.cgi?id=150754
-
-        Reviewed by Darin Adler.
-
-        Add API to set the priority of a RunLoop::Timer for GLib.
-
-        * wtf/RunLoop.h:
-        * wtf/glib/RunLoopGLib.cpp:
-        (WTF::RunLoop::TimerBase::setPriority):
-
-2015-10-31  Andreas Kling  <akling@apple.com>
-
-        Add a debug overlay with information about web process resource usage.
-        <https://webkit.org/b/150599>
-
-        Reviewed by Darin Adler.
-
-        Add ENABLE(RESOURCE_USAGE_OVERLAY) flag, enabled on Mac by default.
-
-        * wtf/Platform.h:
-
-2015-10-30  Chris Dumez  <cdumez@apple.com>
-
-        Regression(r191673): Crash in RunLoopTimer::schedule()
-        https://bugs.webkit.org/show_bug.cgi?id=150723
-
-        Reviewed by Anders Carlsson.
-
-        We were crashing in RunLoopTimer::schedule() when iterating over the
-        SchedulePairHashSet. The reason is that we were passing this
-        SchedulePairHashSet from the main thread to a background thread, which
-        was not safe because the SchedulePair objects inside the HashSet were
-        not ThreadSafeRefCounted. This patch makes them ThreadSafeRefCounted.
-
-        * wtf/SchedulePair.h:
-
-2015-10-30  Carlos Garcia Campos  <cgarcia@igalia.com>
-
-        [GTK] Move the socket polling off the WorkQueue
-        https://bugs.webkit.org/show_bug.cgi?id=150593
-
-        Reviewed by Anders Carlsson.
-
-        It doesn't really belong to the WorkQueue, it's only used by the
-        WebKit2 connection, so it can be moved there.
-
-        * wtf/WorkQueue.h:
-        * wtf/glib/WorkQueueGLib.cpp:
-        (WTF::WorkQueue::registerSocketEventHandler): Deleted.
-        (WTF::WorkQueue::unregisterSocketEventHandler): Deleted.
-
-2015-10-29  Carlos Garcia Campos  <cgarcia@igalia.com>
-
-        [GTK] Use a persistent main loop source in RunLoop glib implementation
-        https://bugs.webkit.org/show_bug.cgi?id=150590
-
-        Reviewed by Žan Doberšek.
-
-        It's more efficient than creating and destroying a new source for
-        every dispatch and it simplifies the code.
-
-        * wtf/RunLoop.h:
-        * wtf/glib/MainThreadGLib.cpp:
-        (WTF::scheduleDispatchFunctionsOnMainThread): Use
-        RunLoop::dispatch() instead of GMainLoopSource::scheduleAndDeleteOnDestroy().
-        * wtf/glib/RunLoopGLib.cpp:
-        (WTF::RunLoop::RunLoop): Create and setup the persistent source.
-        (WTF::RunLoop::~RunLoop): Destroy the persistent source.
-        (WTF::RunLoop::stop): Stop the persistent source before stopping
-        the main loop.
-        (WTF::RunLoop::wakeUp): Make the persistent source active. We
-        no longer need to explicitly wakeup the context.
-        (WTF::RunLoop::TimerBase::TimerBase): Create and setup the
-        persistent source.
-        (WTF::RunLoop::TimerBase::~TimerBase): Destroy the persistent source.
-        (WTF::RunLoop::TimerBase::updateReadyTime): Set the ready time
-        according to the fire interval.
-        (WTF::RunLoop::TimerBase::start): Make the persistent source active.
-        (WTF::RunLoop::TimerBase::stop): Stop the persistent source.
-        (WTF::RunLoop::TimerBase::isActive): Return whether the
-        persistent source is active.
-
-2015-10-30  Philippe Normand  <pnormand@igalia.com>
-
-        [GTK][Mac] fix WTF build
-        https://bugs.webkit.org/show_bug.cgi?id=150502
-
-        Reviewed by Alex Christensen.
-
-        * wtf/CMakeLists.txt: Add CommonCryptoSPI.h in the headers.
-
-2015-10-29  Alex Christensen  <achristensen@webkit.org>
-
-        Fix Mac CMake build
-        https://bugs.webkit.org/show_bug.cgi?id=150686
-
-        Reviewed by Filip Pizlo.
-
-        * wtf/CMakeLists.txt:
-        * wtf/Platform.h:
-        * wtf/PlatformMac.cmake:
-
-2015-10-29  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r191728.
-        https://bugs.webkit.org/show_bug.cgi?id=150668
-
-        Caused a lot of timeouts in layout tests (Requested by KaL on
-        #webkit).
-
-        Reverted changeset:
-
-        "[GTK] Use a persistent main loop source in RunLoop glib
-        implementation"
-        https://bugs.webkit.org/show_bug.cgi?id=150590
-        http://trac.webkit.org/changeset/191728
-
-2015-10-29  Carlos Garcia Campos  <cgarcia@igalia.com>
-
-        [GTK] Use a persistent main loop source in RunLoop glib implementation
-        https://bugs.webkit.org/show_bug.cgi?id=150590
-
-        Reviewed by Žan Doberšek.
-
-        It's more efficient than creating and destroying a new source for
-        every dispatch and it simplifies the code.
-
-        * wtf/RunLoop.h:
-        * wtf/glib/MainThreadGLib.cpp:
-        (WTF::scheduleDispatchFunctionsOnMainThread): Use
-        RunLoop::dispatch() instead of GMainLoopSource::scheduleAndDeleteOnDestroy().
-        * wtf/glib/RunLoopGLib.cpp:
-        (WTF::RunLoop::RunLoop): Create and setup the persistent source.
-        (WTF::RunLoop::~RunLoop): Destroy the persistent source.
-        (WTF::RunLoop::stop): Stop the persistent source before stopping
-        the main loop.
-        (WTF::RunLoop::wakeUp): Make the persistent source active. We
-        no longer need to explicitly wakeup the context.
-        (WTF::RunLoop::TimerBase::TimerBase): Create and setup the
-        persistent source.
-        (WTF::RunLoop::TimerBase::~TimerBase): Destroy the persistent source.
-        (WTF::RunLoop::TimerBase::updateReadyTime): Set the ready time
-        according to the fire interval.
-        (WTF::RunLoop::TimerBase::start): Make the persistent source active.
-        (WTF::RunLoop::TimerBase::stop): Stop the persistent source.
-        (WTF::RunLoop::TimerBase::isActive): Return whether the
-        persistent source is active.
-
-2015-10-28  Filip Pizlo  <fpizlo@apple.com>
-
-        Unreviewed, make sure B3 is disabled on iOS for now.
-
-        * wtf/Platform.h:
-
-2015-10-28  Filip Pizlo  <fpizlo@apple.com>
-
-        Create a super rough prototype of B3
-        https://bugs.webkit.org/show_bug.cgi?id=150280
-
-        Reviewed by Benjamin Poulain.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/CMakeLists.txt:
-        * wtf/HashSet.h:
-        (WTF::copyToVector):
-        (WTF::=):
-        * wtf/ListDump.h:
-        (WTF::PointerListDump::PointerListDump):
-        (WTF::PointerListDump::dump):
-        (WTF::MapDump::MapDump):
-        (WTF::listDump):
-        (WTF::pointerListDump):
-        (WTF::sortedListDump):
-        * wtf/MathExtras.h:
-        (WTF::leftShiftWithSaturation):
-        (WTF::rangesOverlap):
-        * wtf/Platform.h:
-        * wtf/ScopedLambda.h: Added.
-        (WTF::scopedLambda):
-        * wtf/SharedTask.h:
-        (WTF::createSharedTask):
-
-2015-10-28  Alberto Garcia  <berto@igalia.com>
-
-        [SOUP] Cannot build the network process in glibc-based BSD systems
-        https://bugs.webkit.org/show_bug.cgi?id=150618
-
-        Reviewed by Carlos Garcia Campos.
-
-        * wtf/Platform.h: Don't enable HAVE_STAT_BIRTHTIME if the system
-        is using glibc.
-
-2015-10-21  Filip Pizlo  <fpizlo@apple.com>
-
-        Factor out the graph node worklists from DFG into WTF
-        https://bugs.webkit.org/show_bug.cgi?id=150411
-
-        Reviewed by Geoffrey Garen.
-
-        The new GraphNodeWorklist.h file is basically just the functionality from the old
-        DFGBlockWorklist.h, but templatized to work for any graph node type and any kind of graph
-        node set.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/CMakeLists.txt:
-        * wtf/GraphNodeWorklist.h: Added.
-        (WTF::GraphNodeWorklist::push):
-        (WTF::GraphNodeWorklist::notEmpty):
-        (WTF::GraphNodeWorklist::pop):
-        (WTF::GraphNodeWith::GraphNodeWith):
-        (WTF::GraphNodeWith::operator bool):
-        (WTF::ExtendedGraphNodeWorklist::ExtendedGraphNodeWorklist):
-        (WTF::ExtendedGraphNodeWorklist::forcePush):
-        (WTF::ExtendedGraphNodeWorklist::push):
-        (WTF::ExtendedGraphNodeWorklist::notEmpty):
-        (WTF::ExtendedGraphNodeWorklist::pop):
-        (WTF::GraphNodeWithOrder::GraphNodeWithOrder):
-        (WTF::GraphNodeWithOrder::operator bool):
-        (WTF::PostOrderGraphNodeWorklist::PostOrderGraphNodeWorklist):
-        (WTF::PostOrderGraphNodeWorklist::~PostOrderGraphNodeWorklist):
-        (WTF::PostOrderGraphNodeWorklist::pushPre):
-        (WTF::PostOrderGraphNodeWorklist::pushPost):
-        (WTF::PostOrderGraphNodeWorklist::push):
-        (WTF::PostOrderGraphNodeWorklist::notEmpty):
-        (WTF::PostOrderGraphNodeWorklist::pop):
-        * wtf/HashTable.h:
-        (WTF::HashTableAddResult::HashTableAddResult):
-        (WTF::HashTableAddResult::operator bool):
-
-2015-10-20  Tim Horton  <timothy_horton@apple.com>
-
-        Try to fix the build by disabling MAC_GESTURE_EVENTS on 10.9 and 10.10
-
-        * wtf/FeatureDefines.h:
-
-2015-10-20  Yoav Weiss  <yoav@yoav.ws>
-
-        Rename the PICTURE_SIZES flag to CURRENTSRC
-        https://bugs.webkit.org/show_bug.cgi?id=150275
-
-        Reviewed by Dean Jackson.
-
-        * wtf/FeatureDefines.h:
-
-2015-10-19  Beth Dakin  <bdakin@apple.com>
-
-        Build fix.
-
-        * wtf/FeatureDefines.h:
-
-2015-10-19  Tim Horton  <timothy_horton@apple.com>
-
-        Add magnify and rotate gesture event support for Mac
-        https://bugs.webkit.org/show_bug.cgi?id=150179
-        <rdar://problem/8036240>
-
-        Reviewed by Darin Adler.
-
-        * wtf/FeatureDefines.h:
-        New feature flag.
-
-2015-10-17  Mark Lam  <mark.lam@apple.com>
-
-        Add CPU(X86) to the supported MASM_PROBE CPUs. This was accidentally left out in r191197.
-
-        Not reviewed.
-
-        * wtf/Platform.h:
-
-2015-10-16  Mark Lam  <mark.lam@apple.com>
-
-        Always enable MASM_PROBE for debug builds.
-        https://bugs.webkit.org/show_bug.cgi?id=150190
-
-        Reviewed by Geoffrey Garen.
-
-        * wtf/Platform.h:
-
-2015-10-14  Andreas Kling  <akling@apple.com>
-
-        REGRESSION(r190882): Concatenating a character array and an empty string is broken.
-        <https://webkit.org/b/150135>
-
-        Reviewed by Geoffrey Garen.
-
-        StringAdapter templates for raw character arrays were always using 1 as the array length
-        in toString().
-
-        * wtf/text/StringConcatenate.h:
-
-2015-10-14  Per Arne Vollan  <peavo@outlook.com>
-
-        [Win64] Enable concurrent JIT.
-        https://bugs.webkit.org/show_bug.cgi?id=150098
-
-        Reviewed by Csaba Osztrogonác.
-
-        * wtf/Platform.h:
-
-2015-10-13  Simon Fraser  <simon.fraser@apple.com>
-
-        Add helper funtion for checking pointer equivalency and use it
-        https://bugs.webkit.org/show_bug.cgi?id=150022
-
-        Reviewed by Darin Adler.
-        
-        Add PointerComparison.h which contains the templated pointer comparison
-        function.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/PointerComparison.h: Added.
-        (WTF::arePointingToEqualData):
-
-2015-10-12  Andreas Kling  <akling@apple.com>
-
-        "A + B" with strings shouldn't copy if A or B is empty.
-        <https://webkit.org/b/150034>
-
-        Reviewed by Anders Carlsson.
-
-        Add a fast path to WTF's operator+ magic for concatenation of two strings where
-        one of them is empty. In that case, try to avoid allocation altogether by returning
-        the non-empty string.
-
-        Spotted this while analyzing memory peaks during page load; it turns out we were
-        duplicating whole text resources (JS, CSS) at the end of decoding, below
-        TextResourceDecoder::decodeAndFlush(). That function effectively does:
-
-            return decode() + flush();
-
-        Very often, flush() returns an empty string, so due to the naive operator+,
-        we'd allocate a new StringImpl of length (decode().length() + flush().length())
-        and copy the return value from decode() into it. So silly!
-
-        Had to make the tryMakeString() machinery use String as a return type instead of
-        RefPtr<StringImpl> to make all the right overloads gel. StringTypeAdapter templates
-        are now required to provide a toString() function.
-
-        * wtf/text/StringConcatenate.h:
-        (WTF::StringTypeAdapter<char>::toString):
-        (WTF::StringTypeAdapter<UChar>::toString):
-        (WTF::StringTypeAdapter<Vector<char>>::toString):
-        (WTF::StringTypeAdapter<String>::toString):
-        (WTF::tryMakeString):
-        (WTF::makeString):
-        * wtf/text/StringOperators.h:
-        (WTF::StringAppend::operator String):
-        * wtf/text/StringView.h:
-        (WTF::StringTypeAdapter<StringView>::toString):
-
-2015-10-12  Filip Pizlo  <fpizlo@apple.com>
-
-        Unreviewed, fix style in the hopes that it fixes Windows.
-
-        * wtf/ParallelHelperPool.cpp:
-        (WTF::ParallelHelperClient::~ParallelHelperClient):
-        (WTF::ParallelHelperClient::setTask):
-        (WTF::ParallelHelperClient::doSomeHelping):
-        (WTF::ParallelHelperClient::runTaskInParallel):
-        (WTF::ParallelHelperClient::finish):
-        (WTF::ParallelHelperClient::claimTask):
-        (WTF::ParallelHelperClient::runTask):
-        (WTF::ParallelHelperPool::doSomeHelping):
-        (WTF::ParallelHelperPool::helperThreadBody):
-        * wtf/ParallelHelperPool.h:
-        (WTF::ParallelHelperClient::setFunction):
-        (WTF::ParallelHelperClient::runFunctionInParallel):
-        (WTF::ParallelHelperClient::pool):
-
-2015-10-10  Filip Pizlo  <fpizlo@apple.com>
-
-        FTL should generate code to call slow paths lazily
-        https://bugs.webkit.org/show_bug.cgi?id=149936
-
-        Reviewed by Saam Barati.
-
-        Enables SharedTask to handle any function type, not just void().
-
-        It's probably better to use SharedTask instead of std::function in performance-sensitive
-        code. std::function uses the system malloc and has copy semantics. SharedTask uses FastMalloc
-        and has aliasing semantics. So, you can just trust that it will have sensible performance
-        characteristics.
-
-        * wtf/ParallelHelperPool.cpp:
-        (WTF::ParallelHelperClient::~ParallelHelperClient):
-        (WTF::ParallelHelperClient::setTask):
-        (WTF::ParallelHelperClient::doSomeHelping):
-        (WTF::ParallelHelperClient::runTaskInParallel):
-        (WTF::ParallelHelperClient::finish):
-        (WTF::ParallelHelperClient::claimTask):
-        (WTF::ParallelHelperClient::runTask):
-        (WTF::ParallelHelperPool::doSomeHelping):
-        (WTF::ParallelHelperPool::helperThreadBody):
-        * wtf/ParallelHelperPool.h:
-        (WTF::ParallelHelperClient::setFunction):
-        (WTF::ParallelHelperClient::runFunctionInParallel):
-        (WTF::ParallelHelperClient::pool):
-        * wtf/SharedTask.h:
-        (WTF::createSharedTask):
-        (WTF::SharedTask::SharedTask): Deleted.
-        (WTF::SharedTask::~SharedTask): Deleted.
-        (WTF::SharedTaskFunctor::SharedTaskFunctor): Deleted.
-
-2015-10-10  Dan Bernstein  <mitz@apple.com>
-
-        [iOS] Remove unnecessary iOS version checks
-        https://bugs.webkit.org/show_bug.cgi?id=150002
-
-        Reviewed by Alexey Proskuryakov.
-
-        * wtf/Platform.h:
-
-2015-10-10  Dan Bernstein  <mitz@apple.com>
-
-        [iOS] Remove project support for iOS 8
-        https://bugs.webkit.org/show_bug.cgi?id=149993
-
-        Reviewed by Alexey Proskuryakov.
-
-        * Configurations/Base.xcconfig:
-        * Configurations/WTF.xcconfig:
-        * Configurations/mbmalloc.xcconfig:
-
-2015-10-08  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Clean up Marked classes
-        https://bugs.webkit.org/show_bug.cgi?id=149853
-
-        Reviewed by Darin Adler.
-
-        * wtf/PageBlock.h:
-        Remove duplicate using statement.
-
-2015-10-08  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Remove PageReservation.h clang fixme that has been fixed for a while
-        https://bugs.webkit.org/show_bug.cgi?id=149908
-
-        Reviewed by Csaba Osztrogonác.
-
-        * wtf/PageReservation.h:
-        (WTF::PageReservation::operator bool): Deleted.
-
-2015-10-06  Daniel Bates  <dbates@webkit.org>
-
-        Enable XSLT when building WebKit for iOS using the public iOS SDK
-        https://bugs.webkit.org/show_bug.cgi?id=149827
-
-        Reviewed by Alexey Proskuryakov.
-
-        * wtf/FeatureDefines.h:
-
-2015-10-04  Filip Pizlo  <fpizlo@apple.com>
-
-        Inline cache repatching should be throttled if it happens a lot
-        https://bugs.webkit.org/show_bug.cgi?id=149796
-        rdar://problem/22674436
-
-        Reviewed by Saam Barati.
-
-        Add some helpers for saturated math.
-
-        * wtf/MathExtras.h:
-        (WTF::incrementWithSaturation):
-        (WTF::leftShiftWithSaturation):
-
-2015-10-01  Brent Fulgham  <bfulgham@apple.com>
-
-        [Win] Unreviewed CMake build fixes.
-
-        * wtf/CMakeLists.txt: Correct build flags to match
-        the original project files.
-
-2015-09-30  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r190324.
-        https://bugs.webkit.org/show_bug.cgi?id=149671
-
-        Caused flaky crashes, rdar://problem/22916304 (Requested by ap
-        on #webkit).
-
-        Reverted changeset:
-
-        "ParallelHelperPool::runFunctionInParallel() shouldn't
-        allocate, and ParallelHelperPool.h shouldn't be included
-        everywhere"
-        https://bugs.webkit.org/show_bug.cgi?id=149635
-        http://trac.webkit.org/changeset/190324
-
-2015-09-29  Filip Pizlo  <fpizlo@apple.com>
-
-        ParallelHelperPool::runFunctionInParallel() shouldn't allocate, and ParallelHelperPool.h shouldn't be included everywhere
-        https://bugs.webkit.org/show_bug.cgi?id=149635
-
-        Reviewed by Saam Barati.
-
-        * wtf/ParallelHelperPool.h:
-        (WTF::ParallelHelperClient::runFunctionInParallel): Stack-allocate the task instead of heap-allocating it.
-
-2015-09-29  Filip Pizlo  <fpizlo@apple.com>
-
-        GC copy phase spans too many files
-        https://bugs.webkit.org/show_bug.cgi?id=149586
-
-        Reviewed by Andreas Kling.
-
-        Extract the load balancing algorithm used by the GC's copy phase into a reusable template.
-        The GC copy phase now uses this.
-
-        * WTF.vcxproj/WTF.vcxproj:
-        * WTF.vcxproj/WTF.vcxproj.filters:
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/CMakeLists.txt:
-        * wtf/ParallelVectorIterator.h: Added.
-        (WTF::ParallelVectorIterator::ParallelVectorIterator):
-        (WTF::ParallelVectorIterator::iterate):
-
-2015-09-26  Filip Pizlo  <fpizlo@apple.com>
-
-        Unreviewed, fix Windows build by adding WTF_EXPORT_PRIVATE in various places.
-
-        * wtf/ParallelHelperPool.h:
-        (WTF::ParallelHelperClient::setFunction):
-        (WTF::ParallelHelperPool::numberOfThreads):
-
-2015-09-24  Filip Pizlo  <fpizlo@apple.com>
-
-        VMs should share GC threads
-        https://bugs.webkit.org/show_bug.cgi?id=149433
-        rdar://problem/12859344
-
-        Reviewed by Geoffrey Garen.
-
-        This adds two major things to WTF: WeakRandom and ParallelHelperPool. WeakRandom was
-        already in JSC; we're just hoisting it into WTF. It's just a weak random number generator
-        that's suitable for places where you need just a tiny bit of randomness.
-
-        ParallelHelperPool is a new API that simplifies data-parallel algorithms like the JSC GC.
-        In a data-parallel algorithm, we want to run one task on as many cores as possible and let
-        the task worry about which subset of the input data to work on. In some cases, the
-        algorithm will not need to do any load balancing - and if load balancing is required, it's
-        up to the user. This is appropriate in contexts where the load balancing needs to be
-        custom-tuned for performance, like the GC's marking phase.
-
-        This new API has three concepts: task, client, and pool. A task is a reference counted
-        object with a run() method, which may be run in parallel. It is usually used to wrap a
-        functor. A pool is a pool of threads that can run things. A client is a placeholder for a
-        task. A client can have zero or one tasks. A client must be registered with a pool. When a
-        client has a task, the pool's threads may choose to run it. If a thread starts running a
-        task, it will run it to completion. When the task returns on any thread, the client takes
-        it to mean that the task should be removed. That means that any currently running instances
-        of the task will finish but no new threads will attempt to run the task. You can easily ask
-        a client to wait until a task finishes. You can also easily ask a client to run a task on
-        the current thread in addition to possibly some helper threads from the pool.
-
-        For some data-parallel algorithms, programming with ParallelHelperPool is as easy as:
-
-        client.runFunctionInParallel(
-            [=] () {
-                do things;
-            });
-
-        Note that you cannot tell ahead of time how many threads will join to help the task.
-        Threads may become available after the task has already started running. Those threads may
-        join after the other threads have already started. It's not advisable to make algorithmic
-        decisions based on client.numberOfActiveThreads(), since that number may change. Usually
-        the best way to use ParallelHelperPool is with an algorithm that has its own custom
-        worklist. An example of a very simple custom worklist is the one in the JSC GC's copying
-        phase - it's just a Vector and an index that indicates the next set of elements to process.
-
-        This new API was initially designed to simplify how GCThread works, by replacing Phase with
-        a callback that contains the phase's workload. I then realized that with a few tweaks, I
-        could make this somewhat general enough that it might become interesting outside GC. I also
-        realized that I could use this to enable thread sharing. So, although the API is kinda
-        quirky, it's grounded in the reality of how the JSC GC does parallelism.
-
-        * WTF.vcxproj/WTF.vcxproj:
-        * WTF.vcxproj/WTF.vcxproj.filters:
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/CMakeLists.txt:
-        * wtf/ParallelHelperPool.cpp: Added.
-        (WTF::ParallelHelperClient::ParallelHelperClient):
-        (WTF::ParallelHelperClient::~ParallelHelperClient):
-        (WTF::ParallelHelperClient::setTask):
-        (WTF::ParallelHelperClient::finish):
-        (WTF::ParallelHelperClient::doSomeHelping):
-        (WTF::ParallelHelperClient::runTaskInParallel):
-        (WTF::ParallelHelperClient::claimTask):
-        (WTF::ParallelHelperClient::runTask):
-        (WTF::ParallelHelperPool::ParallelHelperPool):
-        (WTF::ParallelHelperPool::~ParallelHelperPool):
-        (WTF::ParallelHelperPool::addThreads):
-        (WTF::ParallelHelperPool::ensureThreads):
-        (WTF::ParallelHelperPool::doSomeHelping):
-        (WTF::ParallelHelperPool::didMakeWorkAvailable):
-        (WTF::ParallelHelperPool::helperThreadBody):
-        (WTF::ParallelHelperPool::hasClientWithTask):
-        (WTF::ParallelHelperPool::getClientWithTask):
-        (WTF::ParallelHelperPool::waitForClientWithTask):
-        * wtf/ParallelHelperPool.h: Added.
-        (WTF::ParallelHelperClient::setFunction):
-        (WTF::ParallelHelperClient::runFunctionInParallel):
-        (WTF::ParallelHelperClient::pool):
-        (WTF::ParallelHelperClient::numberOfActiveThreads):
-        (WTF::ParallelHelperPool::numberOfThreads):
-        * wtf/SharedTask.h: Added.
-        (WTF::SharedTask::SharedTask):
-        (WTF::SharedTask::~SharedTask):
-        (WTF::SharedTaskFunctor::SharedTaskFunctor):
-        (WTF::createSharedTask):
-        * wtf/WeakRandom.h: Copied from Source/JavaScriptCore/runtime/WeakRandom.h.
-        (WTF::WeakRandom::WeakRandom):
-        (WTF::WeakRandom::initializeSeed):
-        (WTF::WeakRandom::seedUnsafe):
-        (WTF::WeakRandom::getUint32):
-        (WTF::WeakRandom::advance):
-        (JSC::WeakRandom::WeakRandom): Deleted.
-        (JSC::WeakRandom::seedUnsafe): Deleted.
-        (JSC::WeakRandom::getUint32): Deleted.
-        (JSC::WeakRandom::advance): Deleted.
-        (JSC::WeakRandom::initializeSeed): Deleted.
-
-2015-09-25  Alex Christensen  <achristensen@webkit.org>
-
-        Clean up CMake build on Mac
-        https://bugs.webkit.org/show_bug.cgi?id=149573
-
-        Reviewed by Chris Dumez.
-
-        * wtf/PlatformMac.cmake:
-
-2015-09-25  Alex Christensen  <achristensen@webkit.org>
-
-        [Win] Switch to CMake
-        https://bugs.webkit.org/show_bug.cgi?id=148111
-
-        Reviewed by Brent Fulgham.
-
-        * WTF.vcxproj/WTF.proj:
-
-2015-09-25  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Simplify Stopwatch::elapsedTime
-        https://bugs.webkit.org/show_bug.cgi?id=149538
-
-        Reviewed by Darin Adler.
-
-        * wtf/Stopwatch.h:
-        (WTF::Stopwatch::elapsedTime):
-        Simplify by not starting/stopping but just computing without updating members.
-
-2015-09-25  Brent Fulgham  <bfulgham@apple.com>
-
-        [Win] Unreviewed build fix.
-
-        * wtf/FeatureDefines.h: Don't turn STREAMS_API on by default
-        on Windows.
-
-2015-09-24  Ryosuke Niwa  <rniwa@webkit.org>
-
-        Ran sort-Xcode-project-file.
-
-        * WTF.xcodeproj/project.pbxproj:
-
-2015-09-23  Andy Estes  <aestes@apple.com>
-
-        Disable QuickLook on watchOS
-        https://bugs.webkit.org/show_bug.cgi?id=149508
-        <rdar://problem/22517968>
-
-        Reviewed by Dan Bernstein.
-
-        * wtf/Platform.h:
-
-2015-09-22  Andy Estes  <aestes@apple.com>
-
-        Disable QuickLook on tvOS
-        https://bugs.webkit.org/show_bug.cgi?id=149492
-        <rdar://problem/22741586>
-
-        Reviewed by Dan Bernstein.
-
-        * wtf/Platform.h: Stopped enabling QuickLook on tvOS.
-
-2015-09-22  Filip Pizlo  <fpizlo@apple.com>
-
-        Get rid of ENABLE(PARALLEL_GC)
-        https://bugs.webkit.org/show_bug.cgi?id=149436
-
-        Reviewed by Mark Lam.
-
-        We always enable parallel GC everywhere but Windows, and it doesn't look like it was disabled
-        there for any good reason. So, get rid of the flag.
-
-        * wtf/MainThread.cpp:
-        (WTF::canAccessThreadLocalDataForThread):
-        (WTF::initializeGCThreads):
-        (WTF::registerGCThread):
-        (WTF::isMainThreadOrGCThread):
-        * wtf/Platform.h:
-
-2015-09-22  Filip Pizlo  <fpizlo@apple.com>
-
-        Get rid of ENABLE(GGC)
-        https://bugs.webkit.org/show_bug.cgi?id=149472
-
-        Reviewed by Mark Hahnenberg and Mark Lam.
-
-        * wtf/Platform.h:
-
-2015-09-21  Filip Pizlo  <fpizlo@apple.com>
-
-        Always use the compiler's CAS implementation and get rid of ENABLE(COMPARE_AND_SWAP)
-        https://bugs.webkit.org/show_bug.cgi?id=149438
-
-        Reviewed by Mark Lam.
-
-        * wtf/Atomics.h: Make weakCompareAndSwap() just forward to the system CAS via WTF::Atomic.
-        (WTF::weakCompareAndSwap):
-        (WTF::weakCompareAndSwapUIntPtr): Deleted.
-        (WTF::weakCompareAndSwapSize): Deleted.
-        * wtf/Bitmap.h: Small changes to use the new API.
-        (WTF::WordType>::concurrentTestAndSet):
-        * wtf/Platform.h: Remove ENABLE(COMPARE_AND_SWAP)
-
-2015-09-21  Csaba Osztrogonác  <ossy@webkit.org>
-
-        Remove old GCC cruft from wtf/StdLibExtras.h
-        https://bugs.webkit.org/show_bug.cgi?id=149401
-
-        Reviewed by Alex Christensen.
-
-        * wtf/StdLibExtras.h:
-
-2015-09-21  Andy Estes  <aestes@apple.com>
-
-        Disable Parental Controls on the Apple TV platform
-        https://bugs.webkit.org/show_bug.cgi?id=149421
-
-        Reviewed by Darin Adler.
-
-        * wtf/Platform.h:
-
-2015-09-21  Filip Pizlo  <fpizlo@apple.com>
-
-        JSC should infer property types
-        https://bugs.webkit.org/show_bug.cgi?id=148610
-
-        Reviewed by Geoffrey Garen.
-
-        * wtf/HashTable.h:
-        (WTF::HashTableAddResult::HashTableAddResult): Make it possible to say "HashMap::AddResult result" without assigning anything to it yet.
-        * wtf/PrintStream.h:
-        (WTF::printInternal): Beef up printing of some common WTF types, in particular RefPtr<UniquedStringImpl>.
-
-2015-09-20  Youenn Fablet  <youenn.fablet@crf.canon.fr>
-
-        Remove XHR_TIMEOUT compilation guard
-        https://bugs.webkit.org/show_bug.cgi?id=149260
-
-        Reviewed by Benjamin Poulain.
-
-        * wtf/FeatureDefines.h:
-
-2015-09-17  Filip Pizlo  <fpizlo@apple.com>
-
-        Unreviewed, revert unintended change.
-
-        * benchmarks/LockSpeedTest.cpp:
-        (main):
-
-2015-09-15  Ryosuke Niwa  <rniwa@webkit.org>
-
-        Add ShadowRoot interface and Element.prototype.attachShadow
-        https://bugs.webkit.org/show_bug.cgi?id=149187
-
-        Reviewed by Antti Koivisto.
-
-        * wtf/FeatureDefines.h:
-
-
-2015-09-11  Keith Miller  <keith_miller@apple.com>
-
-        cryptographicallyRandomValuesFromOS should use CCRandomCopyBytes when available.
-        https://bugs.webkit.org/show_bug.cgi?id=148439
-
-        Reviewed by Alexey Proskuryakov.
-
-        Recently, we switched to using arc4random_buf on Darwin but further research indicates that
-        arc4random_buf has the same behavior we had before and thus we were just pushing the problem
-        further down the stack. CCRandomCopyBytes, however, appears to be more advanced and has much
-        better error handling than we had before.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/OSRandomSource.cpp:
-        (WTF::cryptographicallyRandomValuesFromOS):
-        * wtf/spi/darwin/CommonCryptoSPI.h: Added.
-
-2015-09-08  Filip Pizlo  <fpizlo@apple.com>
-
-        There should be one stub hanging off an inline cache that contains code for all of the cases, rather than forming a linked list consisting of one stub per case
-        https://bugs.webkit.org/show_bug.cgi?id=148717
-
-        Reviewed by Michael Saboff.
-
-        Beef up dumping a bit.
-
-        * wtf/PrintStream.h:
-        (WTF::pointerDump):
-        (WTF::printInternal):
-
-2015-09-08  Mark Lam  <mark.lam@apple.com>
-
-        GC stack scan should include ABI red zone.
-        https://bugs.webkit.org/show_bug.cgi?id=148976
-
-        Reviewed by Geoffrey Garen and Benjamin Poulain.
-
-        * wtf/StackBounds.h:
-        (WTF::StackBounds::origin):
-        (WTF::StackBounds::end):
-        (WTF::StackBounds::size):
-
-2015-09-04  Csaba Osztrogonác  <ossy@webkit.org>
-
-        Enable reference qualified functions for GCC
-        https://bugs.webkit.org/show_bug.cgi?id=148526
-
-        Reviewed by Darin Adler.
-
-        * wtf/Compiler.h:
-
-2015-09-04  Csaba Osztrogonác  <ossy@webkit.org>
-
-        webkit-unassigned@lists.webkit.org
-        https://bugs.webkit.org/show_bug.cgi?id=148525
-
-        Reviewed by Darin Adler.
-
-        * wtf/Compiler.h:
-
-2015-08-29  Zan Dobersek  <zdobersek@igalia.com>
-
-        [WTF] Improve a ParkingLot::parkConditionally() comment for a libstdc++ workaround
-        https://bugs.webkit.org/show_bug.cgi?id=148571
-
-        Reviewed by Filip Pizlo.
-
-        * wtf/ParkingLot.cpp:
-        (WTF::ParkingLot::parkConditionally): Adjust the comment about the workaround for
-        the libstdc++ std::condition_variable implementation, linking to the WebKit bug
-        that dissected the problem and the GCC bug that originally reported the problem.
-
-2015-08-28  Anders Carlsson  <andersca@apple.com>
-
-        Remove the #if PLATFORM(MAC) in DeprecatedSymbolsUsedBySafari.mm so we'll actually build it on iOS.
-
-        Reviewed by Dan Bernstein.
-
-        * wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
-
-2015-08-27  Anders Carlsson  <andersca@apple.com>
-
-        Define legacy main thread calling functions for iOS as well
-        https://bugs.webkit.org/show_bug.cgi?id=148530
-
-        Reviewed by Tim Horton.
-
-        * wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
-
-2015-08-26  Anders Carlsson  <andersca@apple.com>
-
-        Fix build.
-
-        * wtf/WorkQueue.cpp:
-
-2015-08-26  Anders Carlsson  <andersca@apple.com>
-
-        Add and implement WorkQueue::concurrentApply
-        https://bugs.webkit.org/show_bug.cgi?id=148488
-
-        Reviewed by Geoffrey Garen.
-
-        WorkQueue::concurrentApply is modeled after dispatch_apply, and on Cocoa it uses dispatch_apply directly.
-        For other ports there's a generic concurrentApply implemented using our threading primitives.
-        
-        * wtf/NeverDestroyed.h:
-        (WTF::LazyNeverDestroyed::operator->):
-        * wtf/WorkQueue.cpp:
-        (WTF::WorkQueue::concurrentApply):
-        * wtf/WorkQueue.h:
-        * wtf/cocoa/WorkQueueCocoa.cpp:
-        (WTF::WorkQueue::concurrentApply):
-
-2015-08-25  Filip Pizlo  <fpizlo@apple.com>
-
-        Node::origin should be able to tell you if it's OK to exit
-        https://bugs.webkit.org/show_bug.cgi?id=145204
-
-        Reviewed by Geoffrey Garen.
-
-        * wtf/Insertion.h:
-        (WTF::executeInsertions): Add a useful assertion. This come into play because JSC will use UINT_MAX as "invalid index", and that ought to trigger this assertion.
-
-2015-08-25  Csaba Osztrogonác  <ossy@webkit.org>
-
-        Require GCC version at least 4.9
-        https://bugs.webkit.org/show_bug.cgi?id=148430
-
-        Reviewed by Darin Adler.
-
-        * wtf/Compiler.h:
-
-2015-08-22  Anders Carlsson  <andersca@apple.com>
-
-        std::once_flag needs to be static.
-
-        * wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
-        (WTF::MainThreadFunctionTracker::singleton):
-
-2015-08-21  Anders Carlsson  <andersca@apple.com>
-
-        Build fix.
-
-        * wtf/MainThread.h:
-
-2015-08-21  Anders Carlsson  <andersca@apple.com>
-
-        Address review feedback from Darin.
-
-        * wtf/MainThread.h:
-        * wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
-        (WTF::callOnMainThread):
-        (WTF::cancelCallOnMainThread):
-
-2015-08-21  Anders Carlsson  <andersca@apple.com>
-
-        Deprecate the old school callOnMainThread/cancelCallOnMainThread functions
-        https://bugs.webkit.org/show_bug.cgi?id=148327
-
-        Reviewed by Sam Weinig.
-
-        * wtf/MainThread.cpp:
-        (WTF::functionQueue):
-        (WTF::dispatchFunctionsFromMainThread):
-        (WTF::callOnMainThread):
-        Change the function queue to be a queue of std::function<void ()> and get rid of dead code.
-
-        * wtf/MainThread.h:
-        Conditionalize callOnMainThread and cancelCallOnMainThread because Safari on Mavericks still expects to them to be
-        declared in MainThread.h under 10.9.
-
-        * wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
-        Add a MainThreadFunctionTracker singleton that keeps track of scheduled functions so we can ensure that they're not
-        called if they're cancelled.
-
-        (WTF::MainThreadFunctionTracker::singleton):
-        Return the singleton.
-
-        (WTF::MainThreadFunctionTracker::callOnMainThread):
-        Add the function/context pair to our map and schedule the function to be run on the main thread.
-        If the function has been removed, don't call it.
-
-        (WTF::MainThreadFunctionTracker::cancelCallOnMainThread):
-        Remove all entries with the given function/context pair.
-
-        (WTF::MainThreadFunctionTracker::addFunction):
-        Add the function/context pair to the map and return the unique identifier.
-
-        (WTF::MainThreadFunctionTracker::removeIdentifier):
-        Look up the identifier and remove it if it still exists. If it exists we know that it hasn't been canceled and that we can call it.
-
-        (WTF::MainThreadFunctionTracker::removeFunctions):
-        Remove all function identifiers matched by the function/context pair.
-
-        (WTF::callOnMainThread):
-        Implement using MainThreadFunctionTracker.
-
-        (WTF::cancelCallOnMainThread):
-        Implement using MainThreadFunctionTracker.
-
-2015-08-21  Anders Carlsson  <andersca@apple.com>
-
-        Get rid of uses of the old callOnMainThread function that takes a function ptr + context
-        https://bugs.webkit.org/show_bug.cgi?id=148324
-
-        Reviewed by Tim Horton.
-
-        * wtf/text/cf/StringImplCF.cpp:
-        (WTF::StringWrapperCFAllocator::deallocate):
-        (WTF::StringWrapperCFAllocator::deallocateOnMainThread): Deleted.
-
-2015-08-20  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r188717 and r188719.
-        https://bugs.webkit.org/show_bug.cgi?id=148272
-
-        Broke the Mavericks build (Requested by andersca on #webkit).
-
-        Reverted changesets:
-
-        "Merge Lock and LockBase"
-        https://bugs.webkit.org/show_bug.cgi?id=148266
-        http://trac.webkit.org/changeset/188717
-
-        "Merge ConditionBase and Condition"
-        https://bugs.webkit.org/show_bug.cgi?id=148270
-        http://trac.webkit.org/changeset/188719
-
-2015-08-20  Anders Carlsson  <andersca@apple.com>
-
-        Merge ConditionBase and Condition
-        https://bugs.webkit.org/show_bug.cgi?id=148270
-
-        Reviewed by Filip Pizlo.
-
-        * wtf/Condition.h:
-        Direct initialize m_hasWaiters so Condition gets a constexpr constructor.
-
-        * wtf/Lock.h:
-        Remove a now outdated comment.
-
-2015-08-20  Anders Carlsson  <andersca@apple.com>
-
-        Merge Lock and LockBase
-        https://bugs.webkit.org/show_bug.cgi?id=148266
-
-        Reviewed by Filip Pizlo.
-
-        * wtf/Atomics.h:
-        (WTF::Atomic::Atomic):
-        Add a default constructor as well as a constexpr constructor that takes a value.
-
-        * wtf/Lock.cpp:
-        (WTF::Lock::lockSlow):
-        (WTF::Lock::unlockSlow):
-        Rename LockBase to Lock.
-
-        * wtf/Lock.h:
-        Rename LockBase to Lock and direct-initialize Atomic to 0. Since the Atomic constructor is constexpr,
-        Lock also gets a constexpr constructor. Change the LockBase -> StaticLock typedef and add a fixme.
-
-        * wtf/WordLock.h:
-        Direct initialize m_word to 0.
-
-2015-08-19  Filip Pizlo  <fpizlo@apple.com>
-
-        Remove WTF::SpinLock
-        https://bugs.webkit.org/show_bug.cgi?id=148208
-
-        Reviewed by Geoffrey Garen.
-
-        Remove the SpinLock.h file and remove references to the SpinLock class. Put the old SpinLock
-        algorithm in LockSpeedTest.cpp - which isn't compiled as part of a WTF or WebKit build - just
-        so we can still benchmark our locking algorithms against a spinlock baseline.
-
-        * WTF.vcxproj/WTF.vcxproj:
-        * WTF.xcodeproj/project.pbxproj:
-        * benchmarks/LockSpeedTest.cpp:
-        * wtf/CMakeLists.txt:
-        * wtf/Lock.h:
-        * wtf/SpinLock.h: Removed.
-        * wtf/WordLock.h:
-
-2015-08-19  Alex Christensen  <achristensen@webkit.org>
-
-        CMake Windows build should not include files directly from other Source directories
-        https://bugs.webkit.org/show_bug.cgi?id=148198
-
-        Reviewed by Brent Fulgham.
-
-        * wtf/CMakeLists.txt:
-        * wtf/PlatformWin.cmake:
-
-2015-08-18  Filip Pizlo  <fpizlo@apple.com>
-
-        Replace all uses of std::mutex/std::condition_variable with WTF::Lock/WTF::Condition
-        https://bugs.webkit.org/show_bug.cgi?id=148140
-
-        Reviewed by Geoffrey Garen.
-
-        Also beef up Condition by giving it a StaticCondition variant.
-
-        * wtf/Condition.h:
-        (WTF::ConditionBase::notifyAll):
-        (WTF::ConditionBase::waitForSecondsImpl):
-        (WTF::ConditionBase::absoluteFromRelative):
-        (WTF::Condition::Condition):
-        (WTF::Condition::notifyAll): Deleted.
-        (WTF::Condition::waitForSecondsImpl): Deleted.
-        (WTF::Condition::absoluteFromRelative): Deleted.
-        * wtf/CryptographicallyRandomNumber.cpp:
-        * wtf/HashTable.cpp:
-        (WTF::HashTableStats::recordCollisionAtCount):
-        (WTF::HashTableStats::dumpStats):
-        (WTF::hashTableStatsMutex): Deleted.
-        * wtf/HashTable.h:
-        (WTF::KeyTraits>::HashTable):
-        (WTF::KeyTraits>::invalidateIterators):
-        (WTF::addIterator):
-        (WTF::removeIterator):
-        * wtf/Lock.h:
-        * wtf/MainThread.cpp:
-        (WTF::functionQueue):
-        (WTF::dispatchFunctionsFromMainThread):
-        (WTF::callOnMainThread):
-        (WTF::cancelCallOnMainThread):
-        (WTF::mainThreadFunctionQueueMutex): Deleted.
-        * wtf/StackStats.cpp:
-        (WTF::StackStats::PerThreadStats::PerThreadStats):
-        (WTF::StackStats::CheckPoint::CheckPoint):
-        (WTF::StackStats::CheckPoint::~CheckPoint):
-        (WTF::StackStats::probe):
-        (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint):
-        (WTF::StackStats::LayoutCheckPoint::~LayoutCheckPoint):
-        (WTF::StackStats::initialize): Deleted.
-        * wtf/StackStats.h:
-        (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint):
-        (WTF::StackStats::probe):
-        (WTF::StackStats::initialize): Deleted.
-        * wtf/ThreadingPthreads.cpp:
-        (WTF::initializeThreading):
-        * wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
-        (WTF::callOnMainThread):
-        (WTF::lockAtomicallyInitializedStaticMutex):
-        (WTF::unlockAtomicallyInitializedStaticMutex):
-        (WTF::atomicallyInitializedStaticMutex): Deleted.
-        * wtf/text/StringView.cpp:
-        (WTF::StringView::UnderlyingString::UnderlyingString):
-        (WTF::underlyingStrings):
-        (WTF::StringView::invalidate):
-        (WTF::StringView::adoptUnderlyingString):
-        (WTF::StringView::setUnderlyingString):
-        (WTF::underlyingStringsMutex): Deleted.
-        * wtf/unicode/icu/CollatorICU.cpp:
-        (WTF::Collator::Collator):
-        (WTF::Collator::~Collator):
-        (WTF::cachedCollatorMutex): Deleted.
-
-2015-08-18  Zan Dobersek  <zdobersek@igalia.com>
-
-        [GLib] GMainLoopSource should receive the std::function<> objects through rvalue references
-        https://bugs.webkit.org/show_bug.cgi?id=147981
-
-        Reviewed by Carlos Garcia Campos.
-
-        Scheduling methods on GMainLoopSource and GThreadSafeMainLoopSource should
-        have the std::function<> objects passed through rvalue references, and should
-        move the passed-in objects forward when required.
-
-        * wtf/glib/GMainLoopSource.cpp:
-        (WTF::GMainLoopSource::schedule):
-        (WTF::GMainLoopSource::scheduleAfterDelay):
-        (WTF::GMainLoopSource::scheduleAndDeleteOnDestroy):
-        (WTF::GMainLoopSource::scheduleAfterDelayAndDeleteOnDestroy):
-        * wtf/glib/GMainLoopSource.h:
-        * wtf/glib/GThreadSafeMainLoopSource.cpp:
-        (WTF::GThreadSafeMainLoopSource::schedule):
-        (WTF::GThreadSafeMainLoopSource::scheduleAfterDelay):
-        * wtf/glib/GThreadSafeMainLoopSource.h:
-
-2015-08-18  Eric Carlson  <eric.carlson@apple.com>
-
-        Remove "platform text track menu"
-        https://bugs.webkit.org/show_bug.cgi?id=148139
-
-        Reviewed by Jer Noble.
-
-        * wtf/Platform.h: Remove PLATFORM_TEXT_TRACK_MENU.
-
-2015-08-18  Filip Pizlo  <fpizlo@apple.com>
-
-        WTF::Condition should have a fast path for notifyOne/notifyAll that avoids calling unparkOne/unparkAll
-        https://bugs.webkit.org/show_bug.cgi?id=148090
-
-        Reviewed by Geoffrey Garen.
-
-        This change makes notifyOne()/notifyAll() blazing fast when nobody is waiting, by using the
-        various hooks that ParkingLot gives us to maintain a m_hasWaiters variable. When it's false, it
-        means that any unpark operation would simply return immediately.
-
-        This is a 45% speed-up for the 1-producer/1-consumer scenario with a 100-element queue when you
-        use the notifyOne()-per-enqueue style. What's cool about this change is that you can now safely
-        call notifyOne() (or notifyAll()) out of paranoia, just in case someone might be waiting. It's
-        free to do so if nobody is waiting!
-
-        * wtf/Condition.h:
-        (WTF::Condition::Condition):
-        (WTF::Condition::waitUntil):
-        (WTF::Condition::notifyOne):
-        (WTF::Condition::notifyAll):
-
-2015-08-17  Filip Pizlo  <fpizlo@apple.com>
-
-        Replace all remaining uses of WTF::Mutex with WTF::Lock
-        https://bugs.webkit.org/show_bug.cgi?id=148089
-
-        Reviewed by Geoffrey Garen.
-
-        This also beefs up and rationalizes the Condition API, so that it can deal with units of time
-        other than just steady_clock. This makes it easier to port ThreadCondition and
-        std::condition_variable code over to Condition. This patch does not take a position on what
-        kind of time is best; from reading a lot of the uses in WebCore, it seems like our use of
-        double to measure seconds is often nicer than the many different classes in std::chrono.
-
-        Also added a Condition speed test, to make sure that all of this is a good idea. And indeed it
-        is. The 1-producer/1-consumer scenario with a 100-element queue runs 36x faster using
-        Lock/Condition than Mutex/ThreadCondition when you use the notifyOne()-per-enqueue style. It
-        runs 58x faster with Lock/Condition when you use the notifyAll()-at-boundary style. Note that
-        I have a bug open for making the notifyOne()-per-enqueue style even faster:
-        https://bugs.webkit.org/show_bug.cgi?id=148090. Also, the 10-consumer/10-producer scenario with
-        a 100-element queue runs 20x faster with Lock/Condition for notifyOne()-per-enqueue and 30x
-        faster with notifyAll()-at-boundary. The only way to tweak the test to get
-        Mutex/ThreadCondition to win is to have one producer, one consumer, a 1-element queue, and use
-        the notifyOne()-per-enqueue style. In that case, one of the two threads is going to be waiting
-        most of the time and the test basically measures wake-up latency and nothing else. Because
-        Condition::wait() does a little bit more work than ThreadCondition::wait(),
-        Mutex/ThreadCondition end up running 3% faster in this test case. But if you vary any of the
-        parameters of the test, Mutex/ThreadCondition ends up losing - all it takes is more threads or
-        a queue size of 5 or more. To my knowledge, we never do producer/consumer with a queue bounded
-        to one element precisely because that approach is the least efficient regardless of locking
-        algorithm. For example, neither WTF::MessageQueue nor DFG::Worklist have any bounds on their
-        queue size. So, it seems that replacing all uses of system mutexes and condition variables with
-        our own thing is a great idea.
-
-        * benchmarks/LockSpeedTest.cpp:
-        * benchmarks/ConditionSpeedTest.cpp: Added.
-        * wtf/Condition.h:
-        (WTF::Condition::Condition):
-        (WTF::Condition::waitUntil):
-        (WTF::Condition::waitFor):
-        (WTF::Condition::wait):
-        (WTF::Condition::waitUntilWallClockSeconds):
-        (WTF::Condition::waitUntilMonotonicClockSeconds):
-        (WTF::Condition::notifyOne):
-        (WTF::Condition::notifyAll):
-        (WTF::Condition::waitForSecondsImpl):
-        (WTF::Condition::waitForImpl):
-        (WTF::Condition::absoluteFromRelative):
-        * wtf/MessageQueue.h:
-        (WTF::MessageQueue::infiniteTime):
-        (WTF::MessageQueue<DataType>::append):
-        (WTF::MessageQueue<DataType>::appendAndKill):
-        (WTF::MessageQueue<DataType>::appendAndCheckEmpty):
-        (WTF::MessageQueue<DataType>::prepend):
-        (WTF::MessageQueue<DataType>::removeIf):
-        (WTF::MessageQueue<DataType>::isEmpty):
-        (WTF::MessageQueue<DataType>::kill):
-        (WTF::MessageQueue<DataType>::killed):
-        * wtf/ParallelJobsGeneric.cpp:
-        (WTF::ParallelEnvironment::ThreadPrivate::execute):
-        (WTF::ParallelEnvironment::ThreadPrivate::waitForFinish):
-        (WTF::ParallelEnvironment::ThreadPrivate::workerThread):
-        * wtf/ParallelJobsGeneric.h:
-        * wtf/ParkingLot.cpp:
-        (WTF::ParkingLot::parkConditionally):
-        * wtf/ParkingLot.h:
-        (WTF::ParkingLot::compareAndPark):
-        * wtf/ThreadingPthreads.cpp:
-        (WTF::initializeThreading):
-        * wtf/ThreadingWin.cpp:
-        (WTF::initializeThreading):
-        * wtf/dtoa.cpp:
<