== Rolled over to ChangeLog-2016-09-26 ==
[WebKit-https.git] / Source / WTF / ChangeLog
index 2902a6c..7faca95 100644 (file)
@@ -1,25883 +1 @@
-2016-09-23  Filip Pizlo  <fpizlo@apple.com>
-
-        Need a store-load fence between setting cell state and visiting the object in SlotVisitor
-        https://bugs.webkit.org/show_bug.cgi?id=162354
-
-        Reviewed by Mark Lam.
-        
-        Fix this on x86-32.
-
-        * wtf/Atomics.h:
-        (WTF::x86_ortop):
-
-2016-09-23  Caitlin Potter  <caitp@igalia.com>
-
-        [JSC] Implement parsing of Async Functions
-        https://bugs.webkit.org/show_bug.cgi?id=161409
-
-        Reviewed by Yusuke Suzuki.
-
-        * wtf/FeatureDefines.h:
-
-2016-09-23  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r206314, r206316, and r206319.
-        https://bugs.webkit.org/show_bug.cgi?id=162506
-
-        These changes broke various builds (Requested by ryanhaddad on
-        #webkit).
-
-        Reverted changesets:
-
-        "Need a store-load fence between setting cell state and
-        visiting the object in SlotVisitor"
-        https://bugs.webkit.org/show_bug.cgi?id=162354
-        http://trac.webkit.org/changeset/206314
-
-        "Unreviewed, fix cloop."
-        http://trac.webkit.org/changeset/206316
-
-        "Unreviewed, fix all other builds."
-        http://trac.webkit.org/changeset/206319
-
-2016-09-23  Carlos Garcia Campos  <cgarcia@igalia.com>
-
-        REGRESSION(r194387): Crash on github.com in IntlDateTimeFormat::resolvedOptions in C locale
-        https://bugs.webkit.org/show_bug.cgi?id=162139
-
-        Reviewed by Michael Catanzaro.
-
-        Handle the case of "C" or "POSIX" locale and use "en-US" as default. That matches what ICU and other ports do,
-        as well as what layout tests expect (some tests like js/intl-collator.html pass in the bots only because we use
-        en-US as system locale in those bots).
-
-        * wtf/PlatformUserPreferredLanguagesUnix.cpp:
-        (WTF::platformLanguage):
-
-2016-09-22  Filip Pizlo  <fpizlo@apple.com>
-
-        Need a store-load fence between setting cell state and visiting the object in SlotVisitor
-        https://bugs.webkit.org/show_bug.cgi?id=162354
-
-        Reviewed by Mark Lam.
-        
-        Fix this on x86-32.
-
-        * wtf/Atomics.h:
-        (WTF::x86_ortop):
-
-2016-09-22  Filip Pizlo  <fpizlo@apple.com>
-
-        Fences on x86 should be a lot cheaper
-        https://bugs.webkit.org/show_bug.cgi?id=162417
-
-        Reviewed by Mark Lam and Geoffrey Garen.
-        
-        It turns out that:
-        
-            lock; orl $0, (%rsp)
-        
-        does everything that we wanted from:
-        
-            mfence
-        
-        And it's a lot faster. When I tried mfence for making object visiting concurrent-GC-TSO-
-        friendly, it was a 9% regression on Octane/splay. But when I tried ortop, it was neutral.
-        So, we should use ortop from now on.
-        
-        This part of the change just affects our Atomics. I also changed this in the JITs.
-
-        * wtf/Atomics.h:
-        (WTF::x86_ortop):
-        (WTF::storeLoadFence):
-        (WTF::x86_mfence): Deleted.
-
-2016-09-21  Alexey Proskuryakov  <ap@apple.com>
-
-        Rolling out r206244, as it caused flaky crashes on tests.
-        Was: Correct uses of 'safeCast'
-
-        * wtf/StdLibExtras.h:
-        (WTF::safeCast):
-
-2016-09-21  Keith Miller  <keith_miller@apple.com>
-
-        Fix build for future versions of Clang.
-        https://bugs.webkit.org/show_bug.cgi?id=162346
-
-        Reviewed by Filip Pizlo.
-
-        This fixes issues with the WebCore build where inline
-        template-class function definitions are marked as exported. This
-        genereates a weak external symobl that our build does not like.
-
-        * wtf/text/StringImpl.h:
-
-2016-09-20  Brent Fulgham  <bfulgham@apple.com>
-
-        Correct uses of 'safeCast'
-        https://bugs.webkit.org/show_bug.cgi?id=162301
-        <rdar://problem/28343658>
-
-        Reviewed by Antti Koivisto.
-
-        * wtf/StdLibExtras.h:
-        (WTF::safeCast): RELEASE_ASSERT on overflow.
-
-2016-09-21  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r206222 and r206227.
-        https://bugs.webkit.org/show_bug.cgi?id=162361
-
-        "broke the windows build" (Requested by keith_mi_ on #webkit).
-
-        Reverted changesets:
-
-        "Fix build for future versions of Clang."
-        https://bugs.webkit.org/show_bug.cgi?id=162346
-        http://trac.webkit.org/changeset/206222
-
-        "Attempt to fix windows build after r206222."
-        http://trac.webkit.org/changeset/206227
-
-2016-09-21  Keith Miller  <keith_miller@apple.com>
-
-        Fix build for future versions of Clang.
-        https://bugs.webkit.org/show_bug.cgi?id=162346
-
-        Reviewed by Filip Pizlo.
-
-        This fixes issues with the WebCore build where inline
-        template-class function definitions are marked as exported. This
-        genereates a weak external symobl that our build does not like.
-
-        * wtf/text/StringImpl.h:
-
-2016-09-20  Alex Christensen  <achristensen@webkit.org>
-
-        Require WTFMove for String::adopt
-        https://bugs.webkit.org/show_bug.cgi?id=162313
-
-        Reviewed by Yusuke Suzuki.
-
-        * wtf/text/StringImpl.cpp:
-        (WTF::StringImpl::removeCharacters):
-        (WTF::StringImpl::simplifyMatchedCharactersToSpace):
-        (WTF::StringImpl::adopt):
-        * wtf/text/StringImpl.h:
-        (WTF::StringImpl::adopt):
-        * wtf/text/WTFString.h:
-        (WTF::String::adopt):
-
-2016-09-20  Filip Pizlo  <fpizlo@apple.com>
-
-        Make MarkedBlock state tracking support overlapped allocation and marking state
-        https://bugs.webkit.org/show_bug.cgi?id=161581
-
-        Reviewed by Geoffrey Garen.
-        
-        The main change here is to bring back FastBitVector.cpp, so that I could outline some
-        large slow path functions. This also adds some utilities, like atomicSetAndCheck() and
-        isEmpty(). The GC uses these.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/CMakeLists.txt:
-        * wtf/FastBitVector.cpp: Added.
-        (WTF::FastBitVectorWordOwner::setEqualsSlow):
-        (WTF::FastBitVectorWordOwner::resizeSlow):
-        * wtf/FastBitVector.h:
-        (WTF::FastBitVectorWordOwner::operator=):
-        (WTF::FastBitVectorWordOwner::resize):
-        (WTF::FastBitVectorImpl::isEmpty):
-        (WTF::FastBitVector::atomicSetAndCheck):
-        (WTF::FastBitVector::operator[]): Deleted.
-
-2016-09-20  Jonathan Bedard  <jbedard@apple.com>
-
-        Undefined behavior: Left shift negative number
-        https://bugs.webkit.org/show_bug.cgi?id=161866
-
-        Reviewed by Keith Miller.
-
-        Left shifting a negative number is undefined behavior in C/C++, although most implementations do define it. Explicitly clarifying the intended behavior due to shifting negative number in some cases.
-
-        * wtf/text/Base64.cpp:
-        (WTF::base64EncodeInternal): Changed signed character to unsigned when shifting.
-        (WTF::base64Encode): Ditto.
-        (WTF::base64URLEncode): Ditto.
-        (WTF::base64DecodeInternal): Ditto.
-        * wtf/text/Base64.h: Ditto.
-        (WTF::SignedOrUnsignedCharVectorAdapter): Rebuilt to stop using union as a bitwise_cast.
-        (WTF::ConstSignedOrUnsignedCharVectorAdapter): Ditto.
-
-2016-09-19  Daniel Bates  <dabates@apple.com>
-
-        Remove ENABLE(TEXT_AUTOSIZING) automatic text size adjustment code
-        https://bugs.webkit.org/show_bug.cgi?id=162167
-
-        Reviewed by Simon Fraser.
-
-        * wtf/FeatureDefines.h:
-
-2016-09-14  Jer Noble  <jer.noble@apple.com>
-
-        [media-source] fix imported/w3c/web-platform-tests/media-source/mediasource-duration.html
-        https://bugs.webkit.org/show_bug.cgi?id=161999
-
-        Reviewed by Eric Carlson.
-
-        The mediasource-duration.html test tries to set the duration of a MediaSource to a double value
-        (5.0), then some work happens and the duration is set to a media time (12533/2500, or 5.0132).
-        The test then tries to set that value as the duration, converted from a media time to a double,
-        and asserts that no duration change event is fired.  But because the floating point value and the
-        media time value are ever so slightly different, this round-tripping fails.
-
-        Fix this bug in MediaTime by, when one side or the other of a comparison is a floating point
-        MediaTime, convert both sides to doubles and run the comparison against those values. This preserves
-        the transitive equality of doubles <-> MediaTimes.
-
-        * wtf/MediaTime.cpp:
-        (WTF::MediaTime::compare):
-
-2016-09-16  Anders Carlsson  <andersca@apple.com>
-
-        Fix isValidEnum to work with older versions of GCC
-        https://bugs.webkit.org/show_bug.cgi?id=162065
-
-        Reviewed by Michael Catanzaro.
-
-        Use the ternary operator instead of a more complex function body.
-
-        * wtf/EnumTraits.h:
-
-2016-09-15  JF Bastien  <jfbastien@apple.com>
-
-        TextBreakIterator: unconvolute character break cache
-        https://bugs.webkit.org/show_bug.cgi?id=162001
-
-        Reviewed by Michael Saboff.
-
-        Simplify the one-element cache.
-
-        Added here (fixed a bit after): https://bugs.webkit.org/attachment.cgi?id=144118&action=prettypatch
-        Updated to never use a lock, and always use weak cmpxchg here: https://bugs.webkit.org/attachment.cgi?id=261719&action=prettypatch
-
-        It's just trying to reduce the number of times it calls into ICU
-        to initialize a UBRK_CHARACTER. The implementation keeps a
-        one-element cache of the latest used one, which threads can
-        optimistically grab. Failure is fine (just create a new one), same
-        for failure to cache (just destroy it), but the logic is odd and
-        you technically need release / acquire semantics because the
-        UBRK_CHARACTER creation's store need to be visible on acquisition
-        (but realistically it was created and then used and *then* cached,
-        so it's probably been long ago enough that read reorders never
-        manifested).
-
-        Using exchange directly achieves this without the headache.
-
-        * wtf/text/TextBreakIterator.cpp:
-        (WTF::getNonSharedCharacterBreakIterator):
-        (WTF::cacheNonSharedCharacterBreakIterator):
-        (WTF::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator):
-        (WTF::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator):
-        (WTF::compareAndSwapNonSharedCharacterBreakIterator): Deleted.
-
-2016-09-15  Keith Miller  <keith_miller@apple.com>
-
-        Pragma out undefined-var-template warnings in JSC for JSObjects that are templatized
-        https://bugs.webkit.org/show_bug.cgi?id=161985
-
-        Reviewed by Alex Christensen.
-
-        Fix WTF_EXPORT_PRIVATE for an inline member function. This would
-        generate a weak export.
-
-        * wtf/MetaAllocator.h:
-        (WTF::MetaAllocator::getLock):
-
-2016-09-14  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r205933 and r205936.
-        https://bugs.webkit.org/show_bug.cgi?id=162002
-
-        broke the build (Requested by keith_miller on #webkit).
-
-        Reverted changesets:
-
-        "Pragma out undefined-var-template warnings in JSC for
-        JSObjects that are templatized"
-        https://bugs.webkit.org/show_bug.cgi?id=161985
-        http://trac.webkit.org/changeset/205933
-
-        "Unreviewed, fix the Windows build."
-        http://trac.webkit.org/changeset/205936
-
-2016-09-14  Keith Miller  <keith_miller@apple.com>
-
-        Pragma out undefined-var-template warnings in JSC for JSObjects that are templatized
-        https://bugs.webkit.org/show_bug.cgi?id=161985
-
-        Reviewed by Geoffrey Garen.
-
-        Fix WTF_EXPORT_PRIVATE for an inline member function. This would
-        generate a weak export.
-
-        * wtf/MetaAllocator.h:
-        (WTF::MetaAllocator::getLock):
-
-2016-09-14  JF Bastien  <jfbastien@apple.com>
-
-        Atomics on ARM don't require full-system fencing, and other minutiae
-        https://bugs.webkit.org/show_bug.cgi?id=161928
-
-        Reviewed by Geoffrey Garen.
-
-        Add cmpxchg versions with both success and failure memory
-        ordering. In some interesting cases we can craft code which needs
-        barriers which aren't as strong.
-
-        weakCompareAndSwap is super dubious, its 3 uses seem
-        questionable... but for now I'm just adding debug asserts.
-
-        Rename armv7_dmb* functions to arm_dmb* because they apply to v7
-        and v8 (or more precisely; to ARMv7's ARM and Thumb2, as well as
-        ARMv8's aarch32 A32/T32 and aarch64).
-
-        Use inner-shareability domain for ARM barriers instead of
-        full-system. This is what C++ uses.
-
-        The default case for barriers simply used a compiler barrier. This
-        is generally wrong, e.g. for MIPS.
-
-        * wtf/Atomics.h:
-        (WTF::Atomic::compareExchangeWeak): offer two-order version
-        (WTF::Atomic::compareExchangeStrong): offer two-order version
-        (WTF::weakCompareAndSwap): a few assertions
-        (WTF::arm_dmb): rename since it applies to ARMv7 and v8; make it innser-shareable
-        (WTF::arm_dmb_st): rename since it applies to ARMv7 and v8; make it innser-shareable
-        (WTF::loadLoadFence): incorrect generally
-        (WTF::loadStoreFence): incorrect generally
-        (WTF::storeLoadFence): incorrect generally
-        (WTF::storeStoreFence): incorrect generally
-        (WTF::memoryBarrierAfterLock): incorrect generally
-        (WTF::memoryBarrierBeforeUnlock): incorrect generally
-        (WTF::armV7_dmb): Deleted.
-        (WTF::armV7_dmb_st): Deleted.
-
-2016-09-14  JF Bastien  <jfbastien@apple.com>
-
-        Alwasys inline atomic operations
-        https://bugs.webkit.org/show_bug.cgi?id=155371
-
-        Reviewed by Geoffrey Garen.
-
-        Fixes "build fails with memory model cannot be stronger than
-        success memory model for ‘__atomic_compare_exchange’".
-
-        Pre-5 revisions of GCC at Os only generated an error message
-        related to invalid failure memory ordering. The reason is that
-        libstdc++ tries to be clever about enforcing the C++ standard's
-        clause [atomics.types.operations.req] ¶21 which states:
-
-            Requires: The failure argument shall not be
-            `memory_order_release` nor `memory_order_acq_rel`. The failure
-            argument shall be no stronger than the success argument.
-
-        It fails at doing this because its inlining heuristics are
-        modified by Os, and they're not quite as dumb as O0 but not smart
-        enough to get to the good code at O1. Adding ALWAYS_INLINE fixes
-        the silliness at Os, leaves O1 great, and makes O0 slightly less
-        bad but still pretty bad.
-
-        The other good news is that I'm going to get this particular
-        problem fixed in the version of C++ which will come after C++17:
-
-        https://github.com/jfbastien/papers/blob/master/source/P0418r1.bs
-
-        While we're at it we should always inline all of these wrapped
-        functions because the generated code is horrendous if the memory
-        order isn't known at compile time.
-
-        * wtf/Atomics.h:
-        (WTF::Atomic::load):
-        (WTF::Atomic::store):
-        (WTF::Atomic::compareExchangeWeak):
-        (WTF::Atomic::compareExchangeStrong):
-        (WTF::Atomic::exchangeAndAdd):
-        (WTF::Atomic::exchange):
-
-2016-09-13  Michael Saboff  <msaboff@apple.com>
-
-        Promises aren't resolved properly when making a ObjC API callback
-        https://bugs.webkit.org/show_bug.cgi?id=161929
-
-        Reviewed by Geoffrey Garen.
-
-        Removed resetCurrentAtomicStringTable() which is no longer referenced.
-
-        * wtf/WTFThreadData.h:
-        (WTF::WTFThreadData::resetCurrentAtomicStringTable): Deleted.
-
-2016-09-13  Alex Christensen  <achristensen@webkit.org>
-
-        Implement URLSearchParams
-        https://bugs.webkit.org/show_bug.cgi?id=161920
-
-        Reviewed by Chris Dumez.
-
-        * wtf/text/StringView.h:
-        (WTF::StringView::split): Added.
-
-2016-09-12  Filip Pizlo  <fpizlo@apple.com>
-
-        ParkingLot is going to have a bad time with threads dying
-        https://bugs.webkit.org/show_bug.cgi?id=161893
-
-        Reviewed by Michael Saboff.
-        
-        If a thread dies right as it falls out of parkConditionally, then unparkOne() and friends
-        might die because they will dereference a deallocated ThreadData.
-
-        The solution is to ref-count ThreadData's. When unparkOne() and friends want to hold onto a
-        ThreadData past the queue lock, they can use RefPtr<>.
-
-        * wtf/ParkingLot.cpp:
-        (WTF::ParkingLot::unparkOne):
-        (WTF::ParkingLot::unparkOneImpl):
-        (WTF::ParkingLot::unparkAll):
-
-2016-09-12  Chris Dumez  <cdumez@apple.com>
-
-        Fix post-landing review comments after r205787
-        https://bugs.webkit.org/show_bug.cgi?id=161885
-
-        Reviewed by Darin Adler.
-
-        Add new StringBuilder::append(CFStringRef) / append(NSString*)
-        overloads to avoid an extra string copy when possible.
-
-        * wtf/text/StringBuilder.cpp:
-        (WTF::StringBuilder::append):
-        * wtf/text/StringBuilder.h:
-        (WTF::StringBuilder::append):
-
-2016-09-12  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        [WTF] HashTable's rehash is not compatible to Ref<T> and ASan
-        https://bugs.webkit.org/show_bug.cgi?id=161763
-
-        Reviewed by Darin Adler.
-
-        Destructors of HashTable's empty values need to be called while ones of deleted values don't.
-
-        * wtf/HashTable.h:
-        (WTF::KeyTraits>::deallocateTable):
-        * wtf/Ref.h:
-
-2016-09-12  Myles C. Maxfield  <mmaxfield@apple.com>
-
-        [Cocoa] Reduce uses of CGFonts in favor of CTFonts
-        https://bugs.webkit.org/show_bug.cgi?id=161809
-
-        Reviewed by Daniel Bates.
-
-        * wtf/unicode/CharacterNames.h:
-
-2016-09-12  Saam Barati  <sbarati@apple.com>
-
-        MapHash should do constant folding when it has a constant argument and its legal to hash that value
-        https://bugs.webkit.org/show_bug.cgi?id=161639
-
-        Reviewed by Filip Pizlo.
-
-        This patch adds a concurrentHash method to StringImpl. It's
-        probably safe to get the actual hash while being racy, however,
-        it's simpler and more future proof to not have to worry about
-        that and to just compute it on demand. Users of this API should
-        be aware that it's doing non-trivial work. Currently, the only
-        user is JSC's JIT compilers, and they only ask for hashes for small-ish
-        strings.
-
-        * wtf/text/StringImpl.h:
-        * wtf/text/StringStatics.cpp:
-        (WTF::StringImpl::concurrentHash):
-
-2016-09-11  Filip Pizlo  <fpizlo@apple.com>
-
-        DFG::forAllKilledOperands() could use a faster bitvector scan in the same-inline-stack fast path
-        https://bugs.webkit.org/show_bug.cgi?id=161849
-
-        Reviewed by Saam Barati.
-        
-        It turns out that templates make private fields weird. FastBitVectorImpl can't necessarily
-        touch privates in instances of different template specializations of itself. So, I added a
-        public method called wordView() that exposes the necessary private field.
-
-        * wtf/FastBitVector.h:
-        (WTF::FastBitVectorImpl::operator&):
-        (WTF::FastBitVectorImpl::operator|):
-        (WTF::FastBitVectorImpl::operator~):
-        (WTF::FastBitVectorImpl::forEachSetBit):
-        (WTF::FastBitVectorImpl::wordView):
-
-2016-09-11  Filip Pizlo  <fpizlo@apple.com>
-
-        FastBitVector should have efficient and easy-to-use vector-vector operations
-        https://bugs.webkit.org/show_bug.cgi?id=161847
-
-        Reviewed by Saam Barati.
-        
-        FastBitVector is a bitvector representation that supports manual dynamic resizing and is
-        optimized for speed, not space. (BitVector supports automatic dynamic resizing and is
-        optimized for space, while Bitmap is sized statically and is optimized for both speed and
-        space.) This change greatly increases the power of FastBitVector. We will use these new
-        powers for changing the JSC GC to use FastBitVectors to track sets of MarkedBlocks (bug
-        161581) instead of using a combination of Vectors and doubly-linked lists.
-        
-        This change splits FastBitVector into two parts:
-        
-        - A thing that manages the storage of a bitvector: a uint32_t array and a size_t numBits.
-          We call this the word view.
-        - A thing that takes some kind of abstract array of uint32_t's and does bitvector
-          operations to it. We call this the FastBitVectorImpl.
-        
-        FastBitVectorImpl and word views are immutable. The FastBitVector class is a subclass of
-        FastBitVectorImpl specialized on a word view that owns its words and has additional
-        support for mutable operations.
-        
-        Doing this allows us to efficiently support things like this without any unnecessary
-        memory allocation or copying:
-        
-        FastBitVector a, b, c; // Assume that there is code to initialize these.
-        a &= b | ~c;
-        
-        Previously, this kind of operation would not be efficient, because "~c" would have to
-        create a whole new FastBitVector. But now, it just returns a FastBitVectorImpl whose
-        underlying word view bitnots (~) its words on the fly. Using template magic, this can get
-        pretty complex. For example "b | ~c" returns a FastBitVectorImpl that wraps a word view
-        whose implementation of WordView::word(size_t index) is something like:
-        
-        uint32_t word(size_t index) { return b.m_words.word(index) | ~c.m_words.word(index); }
-        
-        FastBitVectorImpl supports all of the fast bulk bitvector operations, like
-        forEachSetBit(), bitCount(), etc. So, when you say "a &= b | ~c", the actual
-        implementation is going to run these bit operations on word granularity directly over the
-        storage inside a, b, c.
-        
-        The use of operator overloading is worth explaining a bit. Previously, FastBitVector
-        avoided operator overloading. For example, the &= operation was called filter(). I think
-        that this was a pretty good approach at the time. I tried using non-operator methods in
-        this FastBitVector rewrite, but I found it very odd to say things like:
-        
-        a.filter(b.bitOr(c.bitNot()));
-        
-        I think that it's harder to see what is going on here, then using operators, because infix
-        notation is always better.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/BitVector.h:
-        (WTF::BitVector::findBitInWord): Deleted.
-        * wtf/CMakeLists.txt:
-        * wtf/Dominators.h:
-        (WTF::Dominators::NaiveDominators::NaiveDominators):
-        (WTF::Dominators::NaiveDominators::dominates):
-        (WTF::Dominators::NaiveDominators::pruneDominators):
-        * wtf/FastBitVector.cpp: Removed.
-        * wtf/FastBitVector.h:
-        (WTF::fastBitVectorArrayLength):
-        (WTF::FastBitVectorWordView::FastBitVectorWordView):
-        (WTF::FastBitVectorWordView::numBits):
-        (WTF::FastBitVectorWordView::word):
-        (WTF::FastBitVectorWordOwner::FastBitVectorWordOwner):
-        (WTF::FastBitVectorWordOwner::~FastBitVectorWordOwner):
-        (WTF::FastBitVectorWordOwner::view):
-        (WTF::FastBitVectorWordOwner::operator=):
-        (WTF::FastBitVectorWordOwner::setAll):
-        (WTF::FastBitVectorWordOwner::clearAll):
-        (WTF::FastBitVectorWordOwner::set):
-        (WTF::FastBitVectorWordOwner::numBits):
-        (WTF::FastBitVectorWordOwner::arrayLength):
-        (WTF::FastBitVectorWordOwner::resize):
-        (WTF::FastBitVectorWordOwner::word):
-        (WTF::FastBitVectorWordOwner::words):
-        (WTF::FastBitVectorAndWords::FastBitVectorAndWords):
-        (WTF::FastBitVectorAndWords::view):
-        (WTF::FastBitVectorAndWords::numBits):
-        (WTF::FastBitVectorAndWords::word):
-        (WTF::FastBitVectorOrWords::FastBitVectorOrWords):
-        (WTF::FastBitVectorOrWords::view):
-        (WTF::FastBitVectorOrWords::numBits):
-        (WTF::FastBitVectorOrWords::word):
-        (WTF::FastBitVectorNotWords::FastBitVectorNotWords):
-        (WTF::FastBitVectorNotWords::view):
-        (WTF::FastBitVectorNotWords::numBits):
-        (WTF::FastBitVectorNotWords::word):
-        (WTF::FastBitVectorImpl::FastBitVectorImpl):
-        (WTF::FastBitVectorImpl::numBits):
-        (WTF::FastBitVectorImpl::size):
-        (WTF::FastBitVectorImpl::arrayLength):
-        (WTF::FastBitVectorImpl::operator==):
-        (WTF::FastBitVectorImpl::operator!=):
-        (WTF::FastBitVectorImpl::at):
-        (WTF::FastBitVectorImpl::operator[]):
-        (WTF::FastBitVectorImpl::bitCount):
-        (WTF::FastBitVectorImpl::operator&):
-        (WTF::FastBitVectorImpl::operator|):
-        (WTF::FastBitVectorImpl::operator~):
-        (WTF::FastBitVectorImpl::forEachSetBit):
-        (WTF::FastBitVectorImpl::forEachClearBit):
-        (WTF::FastBitVectorImpl::forEachBit):
-        (WTF::FastBitVectorImpl::findBit):
-        (WTF::FastBitVectorImpl::findSetBit):
-        (WTF::FastBitVectorImpl::findClearBit):
-        (WTF::FastBitVectorImpl::dump):
-        (WTF::FastBitVectorImpl::atImpl):
-        (WTF::FastBitVector::FastBitVector):
-        (WTF::FastBitVector::operator=):
-        (WTF::FastBitVector::resize):
-        (WTF::FastBitVector::setAll):
-        (WTF::FastBitVector::clearAll):
-        (WTF::FastBitVector::setAndCheck):
-        (WTF::FastBitVector::operator|=):
-        (WTF::FastBitVector::operator&=):
-        (WTF::FastBitVector::at):
-        (WTF::FastBitVector::operator[]):
-        (WTF::FastBitVector::BitReference::BitReference):
-        (WTF::FastBitVector::BitReference::operator bool):
-        (WTF::FastBitVector::BitReference::operator=):
-        (WTF::FastBitVector::~FastBitVector): Deleted.
-        (WTF::FastBitVector::numBits): Deleted.
-        (WTF::FastBitVector::set): Deleted.
-        (WTF::FastBitVector::equals): Deleted.
-        (WTF::FastBitVector::merge): Deleted.
-        (WTF::FastBitVector::filter): Deleted.
-        (WTF::FastBitVector::exclude): Deleted.
-        (WTF::FastBitVector::clear): Deleted.
-        (WTF::FastBitVector::get): Deleted.
-        (WTF::FastBitVector::bitCount): Deleted.
-        (WTF::FastBitVector::forEachSetBit): Deleted.
-        (WTF::FastBitVector::arrayLength): Deleted.
-        * wtf/StdLibExtras.h:
-        (WTF::findBitInWord):
-
-2016-09-10  Chris Dumez  <cdumez@apple.com>
-
-        parseHTMLInteger() should take a StringView in parameter
-        https://bugs.webkit.org/show_bug.cgi?id=161669
-
-        Reviewed by Ryosuke Niwa.
-
-        * wtf/text/StringBuilder.h:
-        (WTF::StringBuilder::append):
-        Add StringBuilder::append() overload taking an AtomicString in parameter.
-        It used to call StringBuilder::append(const String&) implicitly when
-        passing an AtomicString. However, it is now ambiguous because there
-        is an overload taking a StringView, and it is now possible to construct
-        a StringView from an AtomicString.
-
-        * wtf/text/StringView.h:
-        (WTF::StringView::StringView):
-        - Add StringView constructor taking an AtomicString in parameter for
-          convenience. This avoids having to call AtomicString::string()
-          explicitly at call sites.
-        - Add StringView constructor taking a 'const char*' in parameter for
-          performance. There are several call sites that were passing a const
-          char* and implicitly constructing an unnecessary String to construct
-          a StringView. This became more obvious because the constructor taking
-          an AtomicString in parameter made such calls ambiguous.
-
-
-2016-09-09  Mark Lam  <mark.lam@apple.com>
-
-        Gardening: fixing a few JSC test failures.
-        https://bugs.webkit.org/show_bug.cgi?id=161760
-
-        Not reviewed.
-
-        Without this fix, the following tests will crash on a null dereference of isGCThread.
-            stress/slow-path-generator-updating-current-node-dfg.js.misc-ftl-no-cjit
-            stress/unshift-array-storage.js.misc-ftl-no-cjit
-
-        * wtf/MainThread.cpp:
-        (WTF::mayBeGCThread):
-
-2016-09-08  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        [WTF] HashTable's rehash is not compatible to Ref<T> and ASan
-        https://bugs.webkit.org/show_bug.cgi?id=161763
-
-        Reviewed by Mark Lam.
-
-        If we move an object, the location which the moved object used should not be touched anymore.
-        HashTable::rehash performs WTFMove for the object that resides in the old table.
-        However, after moving it, we accidentally touch this location by using `!isEmptyOrDeletedBucket(table[i])`
-        in HashTable::deallocateTable. And it causes ASan crashing if we use Ref<> for HashTable's key or value.
-
-        In this patch, we call the destructor right after moving the object. And HashTable::rehash just calls
-        fastFree since all the objects in the old table are already moved and destructed.
-        And we also change HashTable::deallocate to destruct only live objects. Calling destructors for empty objects
-        is meaningless. And according to the Ref<>'s comment, empty object is not designed to be destructed.
-
-        * wtf/HashTable.h:
-        (WTF::KeyTraits>::deallocateTable):
-
-2016-09-08  Filip Pizlo  <fpizlo@apple.com>
-
-        Heap::isMarked() shouldn't pay the price of concurrent lazy flipping
-        https://bugs.webkit.org/show_bug.cgi?id=161760
-
-        Reviewed by Mark Lam.
-
-        * wtf/MainThread.cpp:
-        (WTF::isMainThreadOrGCThread):
-        (WTF::mayBeGCThread):
-        * wtf/MainThread.h:
-
-2016-09-08  Myles C. Maxfield  <mmaxfield@apple.com>
-
-        Support new emoji group candidates
-        https://bugs.webkit.org/show_bug.cgi?id=161664
-        <rdar://problem/24802695>
-        <rdar://problem/27666433>
-
-        Reviewed by Simon Fraser.
-
-        Update breaking rules.
-
-        * wtf/text/TextBreakIterator.cpp:
-        (WTF::cursorMovementIterator):
-
-2016-09-07  JF Bastien  <jfbastien@apple.com>
-
-        bitwise_cast: allow const destination type
-        https://bugs.webkit.org/show_bug.cgi?id=161719
-
-        Reviewed by Saam Barati.
-
-        * wtf/StdLibExtras.h:
-        (WTF::bitwise_cast): allow `const To to = bitwise_cast<const To>(from);`
-
-2016-09-07  Mark Lam  <mark.lam@apple.com>
-
-        Add CatchScope and force all exception checks to be via ThrowScope or CatchScope.
-        https://bugs.webkit.org/show_bug.cgi?id=161498
-
-        Reviewed by Geoffrey Garen.
-
-        * wtf/Platform.h:
-
-2016-09-07  Youenn Fablet  <youenn@apple.com>
-
-        [Streams API] Separate compile flag for ReadableStream and WritableStream
-        https://bugs.webkit.org/show_bug.cgi?id=161044
-
-        Reviewed by Alex Christensen.
-
-        * wtf/FeatureDefines.h:
-
-2016-09-06  Saam Barati  <sbarati@apple.com>
-
-        Make JSMap and JSSet faster
-        https://bugs.webkit.org/show_bug.cgi?id=160989
-
-        Reviewed by Filip Pizlo.
-
-        I made s_flagCount public in StringImpl since JSC's JITs now use this field.
-
-        * wtf/text/StringImpl.h:
-
-2016-09-06  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r205504.
-        https://bugs.webkit.org/show_bug.cgi?id=161645
-
-        Broke the iOS device build (Requested by ryanhaddad on
-        #webkit).
-
-        Reverted changeset:
-
-        "Make JSMap and JSSet faster"
-        https://bugs.webkit.org/show_bug.cgi?id=160989
-        http://trac.webkit.org/changeset/205504
-
-2016-09-06  Saam Barati  <sbarati@apple.com>
-
-        Make JSMap and JSSet faster
-        https://bugs.webkit.org/show_bug.cgi?id=160989
-
-        Reviewed by Filip Pizlo.
-
-        I made s_flagCount public since JSC's JITs now use this field.
-
-        * wtf/text/StringImpl.h:
-
-2016-09-06  Per Arne Vollan  <pvollan@apple.com>
-
-        [Win] Enable strict runtime stack buffer checks.
-        https://bugs.webkit.org/show_bug.cgi?id=161629
-
-        Reviewed by Brent Fulgham.
-
-        * wtf/Platform.h:
-
-2016-09-06  Daniel Bates  <dabates@apple.com>
-
-        Remove EXTERN_C from WTF
-        https://bugs.webkit.org/show_bug.cgi?id=161090
-
-        Reviewed by Brent Fulgham.
-
-        Guard external C declarations in WTF_EXTERN_C_BEGIN, WTF_EXTERN_C_END.
-
-        * 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:
-
-2016-08-31  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
-
-        Reviewed by Geoffrey Garen and Keith Miller.
-        
-        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
-
-        Reviewed by Saam Barati.
-
-        * wtf/StdLibExtras.h:
-        (WTF::bitwise_cast): use aggregate initialization to avoid ctor
-
-2016-09-01  Anders Carlsson  <andersca@apple.com>
-
-        Use BlockPtr::fromCallable in WorkQueue::dispatch and WorkQueue::dispatchAfter
-        https://bugs.webkit.org/show_bug.cgi?id=161512
-
-        Reviewed by Chris Dumez.
-
-        This lets us get rid of leakCallable and adoptCallable.
-
-        * wtf/BlockPtr.h:
-        * wtf/Function.h:
-        * wtf/cocoa/WorkQueueCocoa.cpp:
-        (WTF::WorkQueue::dispatch):
-        (WTF::WorkQueue::dispatchAfter):
-
-2016-09-01  Anders Carlsson  <andersca@apple.com>
-
-        add BlockPtr::fromCallable
-        https://bugs.webkit.org/show_bug.cgi?id=161504
-
-        Reviewed by Tim Horton.
-
-        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/BlockPtr.h:
-
-2016-08-31  Keith Rollin  <krollin@apple.com>
-
-        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 Simon Fraser.
-
-        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.
-
-        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.
-
-        * wtf/Assertions.cpp:
-        * wtf/Assertions.h:
-        * wtf/RefCountedLeakCounter.cpp:
-
-2016-08-31  Alex Christensen  <achristensen@webkit.org>
-
-        Implement IPv6 parsing in URLParser
-        https://bugs.webkit.org/show_bug.cgi?id=161390
-
-        Reviewed by Darin Adler.
-
-        * wtf/ASCIICType.h:
-        (WTF::lowerNibbleToLowercaseASCIIHexDigit):
-        (WTF::upperNibbleToLowercaseASCIIHexDigit):
-
-2016-08-30  Brady Eidson  <beidson@apple.com>
-
-        GameController.framework backend for gamepad API.
-        https://bugs.webkit.org/show_bug.cgi?id=161086
-
-        Reviewed by Alex Christensen.
-
-        * wtf/RunLoop.h:
-        (WTF::RunLoop::TimerBase::startOneShot):
-
-2016-08-30  Mark Lam  <mark.lam@apple.com>
-
-        Introduce the ThrowScope and force every throw site to instantiate a ThrowScope.
-        https://bugs.webkit.org/show_bug.cgi?id=161171
-
-        Reviewed by Filip Pizlo and Geoffrey Garen.
-
-        * wtf/Platform.h:
-        - Introduced the ENABLE(THROW_SCOPE_VERIFICATION) flag.
-
-2016-08-27  Alex Christensen  <achristensen@webkit.org>
-
-        URLParser should parse relative URLs
-        https://bugs.webkit.org/show_bug.cgi?id=161282
-
-        Reviewed by Darin Adler.
-
-        * wtf/text/StringView.h:
-        Use a std::reference_wrapper for the StringView& to make it reassignable so we can add an operator=.
-
-2016-08-26  JF Bastien  <jfbastien@apple.com>
-
-        bitwise_cast uses inactive member of union
-        https://bugs.webkit.org/show_bug.cgi?id=161244
-
-        Reviewed by Benjamin Poulain.
-
-        * wtf/Compiler.h:
-        Add COMPILER_HAS_CLANG_FEATURE
-        * wtf/StdLibExtras.h:
-        (WTF::bitwise_cast):
-        Fix C++ UB, add trivially-copyable check.
-
-        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).
-
-        The C++ Standard's section [basic.types] explicitly blesses memcpy:
-
-          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.
-
-          [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 ]
-
-        Whereas section [class.union] says:
-
-          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.
-
-        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.
-
-2016-08-26  Johan K. Jensen  <johan_jensen@apple.com>
-
-        Web Inspector: Frontend should have access to Resource Timing information
-        https://bugs.webkit.org/show_bug.cgi?id=160095
-
-        Reviewed by Alex Christensen.
-
-        Add method to get elapsed time for any monotonic time.
-        Used by InspectorNetworkAgent.
-
-        * wtf/Stopwatch.h:
-        (WTF::Stopwatch::elapsedTimeSinceMonotonicTime):
-
-2016-08-26  Csaba Osztrogonác  <ossy@webkit.org>
-
-        Fix the ENABLE(WEBASSEMBLY) build on Linux
-        https://bugs.webkit.org/show_bug.cgi?id=161197
-
-        Reviewed by Mark Lam.
-
-        * wtf/Platform.h:
-
-2016-08-25  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        [DFG][FTL] Implement ES6 Generators in DFG / FTL
-        https://bugs.webkit.org/show_bug.cgi?id=152723
-
-        Reviewed by Filip Pizlo.
-
-        * wtf/FastBitVector.h:
-        (WTF::FastBitVector::FastBitVector):
-
-2016-08-25  JF Bastien  <jfbastien@apple.com>
-
-        TryGetById should have a ValueProfile so that it can predict its output type
-        https://bugs.webkit.org/show_bug.cgi?id=160921
-
-        Reviewed by Saam Barati.
-
-        Add WTF_CONCAT to StdLibExtras.h
-
-        * wtf/StdLibExtras.h:
-
-2016-08-25  Johan K. Jensen  <johan_jensen@apple.com>
-
-        Don't store networkLoadTiming in the disk cache
-        https://bugs.webkit.org/show_bug.cgi?id=161161
-
-        Reviewed by Antti Koivisto.
-
-        * wtf/Forward.h:
-        Remove Encode and Decode forward declarations.
-
-2016-08-24  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        [JSC] Move generic data structures out of B3
-        https://bugs.webkit.org/show_bug.cgi?id=161155
-
-        Reviewed by Saam Barati.
-
-        Add IndexSet, IndexMap, and IndexedContainerIterator.
-
-        * 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):
-
-2016-08-24  Andreas Kling  <akling@apple.com>
-
-        Add WTF::isFastMallocEnabled().
-        <https://webkit.org/b/160534>
-
-        Reviewed by Joseph Pecoraro.
-
-        * wtf/FastMalloc.cpp:
-        (WTF::isFastMallocEnabled):
-        * wtf/FastMalloc.h:
-
-2016-08-23  Anders Carlsson  <andersca@apple.com>
-
-        Add enum traits and use them in the IPC::Decoder
-        https://bugs.webkit.org/show_bug.cgi?id=161103
-
-        Reviewed by Sam Weinig.
-
-        Add EnumTraits.h which provides a forward declaration for WTF::EnumTraits as well as
-        the WTF::isValidEnum function.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/EnumTraits.h: Added.
-
-2016-08-24  Filip Pizlo  <fpizlo@apple.com>
-
-        Unreviewed, roll out r204901, r204897, r204866, r204856, r204854.
-
-        * 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-08-22  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
-
-        Reviewed by Geoffrey Garen.
-        
-        I needed tryFastAlignedMalloc() so I added it.
-
-        * wtf/FastMalloc.cpp:
-        (WTF::fastAlignedMalloc):
-        (WTF::tryFastAlignedMalloc):
-        (WTF::fastAlignedFree):
-        * wtf/FastMalloc.h:
-
-2016-08-22  Keith Miller  <keith_miller@apple.com>
-
-        Actually enable the WASM build.
-        https://bugs.webkit.org/show_bug.cgi?id=160933
-
-        Reviewed by Geoffrey Garen.
-
-        * 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-08-17  Anders Carlsson  <andersca@apple.com>
-
-        Move WKSignedPublicKeyAndChallengeString into WebCore and make it proper C++
-        https://bugs.webkit.org/show_bug.cgi?id=160945
-
-        Reviewed by Dan Bernstein.
-
-        * wtf/RetainPtr.h:
-        (WTF::RetainPtr::operator&):
-        Cast this to the right type.
-
-        * wtf/spi/cocoa/SecuritySPI.h:
-        Add new SPI.
-
-2016-08-17  Antti Koivisto  <antti@apple.com>
-
-        Remove CSS_IMAGE_SET feature define
-        https://bugs.webkit.org/show_bug.cgi?id=160944
-
-        Reviewed by Dean Jackson.
-
-        * wtf/FeatureDefines.h:
-
-2016-08-16  Keith Miller  <keith_miller@apple.com>
-
-        Enable WebAssembly in the build.
-        https://bugs.webkit.org/show_bug.cgi?id=160916
-
-        Reviewed by Benjamin Poulain.
-
-        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.
-
-        * wtf/FeatureDefines.h:
-
-2016-08-16  Anders Carlsson  <andersca@apple.com>
-
-        Fix a thinko.
-
-        * 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".
-
-        * 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/Forward.h:
-        Add forward declaration of std::variant.
-
-        * wtf/StdLibExtras.h:
-        Remove references to std::variant. Move them to wtf/Variant.h
-
-2016-08-15  Keith Miller  <keith_miller@apple.com>
-
-        Implement WASM Parser and B3 IR generator
-        https://bugs.webkit.org/show_bug.cgi?id=160681
-
-        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.
-
-2016-08-15  Keith Rollin  <krollin@apple.com>
-
-        Rename LOG_ALWAYS
-        https://bugs.webkit.org/show_bug.cgi?id=160768
-
-        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.
-
-        Reviewed by Chris Dumez.
-
-        * wtf/Assertions.h:
-
-2016-08-15  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Remove unused includes of wtf headers
-        https://bugs.webkit.org/show_bug.cgi?id=160839
-
-        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
-
-        Reviewed by Sam Weinig.
-
-        For now, disable OS_LOG when building with the iOS 10 beta SDK until
-        we have the fix for <rdar://problem/27758343>.
-
-        * wtf/Platform.h:
-
-2016-08-13  Dan Bernstein  <mitz@apple.com>
-
-        Build fix follow-up to r204433.
-
-        * wtf/StdLibExtras.h:
-        (WTF::makeVisitor): Don’t use an auto return type.
-
-2016-08-12  Sam Weinig  <sam@webkit.org>
-
-        Make variant only available when compiling for C++14 or greater
-        https://bugs.webkit.org/show_bug.cgi?id=160813
-
-        Reviewed by Anders Carlsson.
-
-        * wtf/Compiler.h:
-        * wtf/StdLibExtras.h:
-        * wtf/Variant.h:
-
-2016-08-11  Maureen Daum  <mdaum@apple.com>
-
-        Add NSButtonType to AppKitCompatibilityDeclarations.h.
-        https://bugs.webkit.org/show_bug.cgi?id=160767.
-
-        Reviewed by Dan Bernstein.
-
-        Add NSButtonType to AppKitCompatibilityDeclarations.h so that we can use the new
-        names but still build successfully on older OS versions.
-
-        * wtf/mac/AppKitCompatibilityDeclarations.h:
-
-2016-08-10  Benjamin Poulain  <bpoulain@apple.com>
-
-        [JSC] TinyPtrSet::deleteListIfNecessary() no longer needs to test for reservedValue
-        https://bugs.webkit.org/show_bug.cgi?id=160721
-
-        Reviewed by Sam Weinig.
-
-        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.
-
-        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().
-
-        * wtf/TinyPtrSet.h:
-        (WTF::TinyPtrSet::deleteListIfNecessary):
-
-2016-08-09  Sam Weinig  <sam@webkit.org>
-
-        Fix windows build.
-
-        * wtf/Variant.h:
-        (std::experimental::__visit_helper2::__visit):
-        MSVC does not support extended constexpr. Use a ternary operator instead of an if statement.
-
-2016-08-06  Sam Weinig  <sam@webkit.org>
-
-        Replace NodeOrString with std::variant<RefPtr<Node>, String>
-        https://bugs.webkit.org/show_bug.cgi?id=160638
-
-        Reviewed by Anders Carlsson.
-
-        * 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.
-
-        Also, re-export std::experimental::variant (and helpers) in the std
-        namespace using type aliasing.
-
-        * wtf/Variant.h:
-        Make std::experimental::variant work in WebCore.
-
-2016-08-06  Sam Weinig  <sam@webkit.org>
-
-        WTF needs a variant implementation
-        https://bugs.webkit.org/show_bug.cgi?id=160618
-
-        Reviewed by Darin Adler.
-
-        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()).
-
-        * WTF.xcodeproj/project.pbxproj:
-        Add new file.
-
-        * wtf/Compiler.h:
-        Add COMPILER_SUPPORTS define for C++ exceptions.
-
-        * wtf/Variant.h: Added.
-
-2016-08-05  Keith Miller  <keith_miller@apple.com>
-
-        Add LEBDecoder and tests
-        https://bugs.webkit.org/show_bug.cgi?id=160625
-
-        Reviewed by Benjamin Poulain.
-
-        Adds some LEB decoder functions to WTF. These are used in the
-        WASM spec to encode numbers in a semi-compressed format.
-
-        * WTF.xcodeproj/project.pbxproj:
-        * wtf/LEBDecoder.h: Added.
-        (decodeUInt32):
-        (decodeInt32):
-
-2016-08-05  Keith Miller  <keith_miller@apple.com>
-
-        Delete out of date WASM code.
-        https://bugs.webkit.org/show_bug.cgi?id=160603
-
-        Reviewed by Saam Barati.
-
-        Add Feature define for WebAssembly on mac.
-
-        * wtf/FeatureDefines.h:
-
-2016-08-03  Csaba Osztrogonác  <ossy@webkit.org>
-
-        Lacking support on a arm-traditional disassembler.
-        https://bugs.webkit.org/show_bug.cgi?id=123717
-
-        Reviewed by Mark Lam.
-
-        * wtf/Platform.h:
-
-2016-08-02  Myles C. Maxfield  <mmaxfield@apple.com>
-
-        Update breaking rules to match ICU 57
-        https://bugs.webkit.org/show_bug.cgi?id=160488
-        <rdar://problem/25856238>
-
-        Reviewed by Darin Adler.
-
-        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.
-
-        * wtf/text/TextBreakIterator.cpp:
-        (WTF::cursorMovementIterator):
-        (WTF::uax14AssignmentsAfter):
-        (WTF::uax14Forward):
-        (WTF::uax14Reverse):
-
-2016-08-02  Benjamin Poulain  <benjamin@webkit.org>
-
-        [JSC] Simplify the initialization of AbstractValue in the AbstractInterpreter
-        https://bugs.webkit.org/show_bug.cgi?id=160370
-
-        Reviewed by Saam Barati.
-
-        * wtf/TinyPtrSet.h:
-        (WTF::TinyPtrSet::isThin):
-        (WTF::TinyPtrSet::set):
-
-2016-08-02  Benjamin Poulain  <bpoulain@apple.com>
-
-        Clean up some useless AtomicString atoms
-        https://bugs.webkit.org/show_bug.cgi?id=160471
-
-        Reviewed by Geoffrey Garen.
-
-        * wtf/text/AtomicString.h:
-        * wtf/text/StringStatics.cpp:
-        (WTF::AtomicString::init): Deleted.
-
-2016-08-01  Benjamin Poulain  <bpoulain@apple.com>
-
-        [JSC][ARM64] Fix branchTest32/64 taking an immediate as mask
-        https://bugs.webkit.org/show_bug.cgi?id=160439
-
-        Reviewed by Filip Pizlo.
-
-        * 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.
-
-2016-07-29  Mark Lam  <mark.lam@apple.com>
-
-        Make StringView capable of being passed or returned in only 2 registers.
-        https://bugs.webkit.org/show_bug.cgi?id=160344
-
-        Reviewed by Geoffrey Garen.
-
-        We just need to #if out copy and move constructors and assignment operators.
-
-        After this change, the following test code:
-
-            JS_EXPORT_PRIVATE StringView returnStringView(StringView sv)
-            {
-                return sv;
-            }
-
-        ... compiles to the following for x86_64:
-
-            __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
-
-        ... and this for arm64:
-
-            __ZN3JSC16returnStringViewEN3WTF10StringViewE:
-            0000000000818504        ret // arg word 0 and 1 are in the same regs as ret word 0 and 1.
-
-        * wtf/text/StringView.h:
-        (WTF::StringView::StringView):
-        (WTF::StringView::~StringView):
-        (WTF::StringView::operator=):
-
-2016-07-29  Csaba Osztrogonác  <ossy@webkit.org>
-
-        Remove PassRef.h after r177259
-        https://bugs.webkit.org/show_bug.cgi?id=160348
-
-        Reviewed by Andreas Kling.
-
-        * wtf/PassRef.h: Removed.
-
-2016-07-28  Mark Lam  <mark.lam@apple.com>
-
-        StringView should have an explicit m_is8Bit field.
-        https://bugs.webkit.org/show_bug.cgi?id=160282
-        <rdar://problem/27327943>
-
-        Reviewed by Benjamin Poulain.
-
-        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.
-
-        This patch fixes this issue by introducing an explicit m_is8Bit field, thereby
-        allowing m_length to be a full 32-bit again.
-
-        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:
-        (WTF::pow5mult):
-        * wtf/dtoa.h:
-
-2015-08-17  Alex Christensen  <achristensen@webkit.org>
-
-        Build Debug Suffix on Windows with CMake
-        https://bugs.webkit.org/show_bug.cgi?id=148083
-
-        Reviewed by Brent Fulgham.
-
-        * wtf/PlatformWin.cmake:
-        Add DEBUG_SUFFIX
-
-2015-08-17  Myles C. Maxfield  <mmaxfield@apple.com>
-
-        Implement IntegerHasher
-        https://bugs.webkit.org/show_bug.cgi?id=147866
-
-        Reviewed by Darin Adler and Anders Carlsson.
-
-        Rename StringHasher.h to Hasher.h, and include an IntegerHasher class.
-
-        * WTF.vcxproj/WTF.vcxproj: Update to target new file.
-        * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
-        * WTF.xcodeproj/project.pbxproj: Ditto.
-        * wtf/CMakeLists.txt: Ditto.
-        * wtf/Hasher.h: Renamed from Source/WTF/wtf/StringHasher.h.
-        * wtf/text/CString.cpp: Use new #include
-        * wtf/text/StringHash.h: Ditto.
-        * wtf/text/StringImpl.h: Ditto.
-        * wtf/unicode/UTF8.cpp: Ditto.
-
-2015-08-17  Alex Christensen  <achristensen@webkit.org>
-
-        Move some commands from ./CMakeLists.txt to Source/cmake
-        https://bugs.webkit.org/show_bug.cgi?id=148003
-
-        Reviewed by Brent Fulgham.
-
-        * CMakeLists.txt:
-        Added commands needed to build WTF by itself.
-
-2015-08-14  Filip Pizlo  <fpizlo@apple.com>
-
-        Use WTF::Lock and WTF::Condition instead of WTF::Mutex, WTF::ThreadCondition, std::mutex, and std::condition_variable
-        https://bugs.webkit.org/show_bug.cgi?id=147999
-
-        Reviewed by Geoffrey Garen.
-
-        Relanding after fixing a deadlock on Linux.
-
-        * wtf/Condition.h: "using WTF::Condition".
-        * wtf/Lock.h:
-        (WTF::LockBase::lock):
-        (WTF::LockBase::tryLock): Add tryLock() because it turns out that we use it sometimes.
-        (WTF::LockBase::try_lock): unique_lock needs this.
-        (WTF::LockBase::unlock):
-        * wtf/ParkingLot.cpp:
-        (WTF::ParkingLot::parkConditionally): Work around a Linux C++ bug where wait_until with time_point::max() immediately returns and doesn't flash the lock.
-
-2015-08-14  Keith Miller  <keith_miller@apple.com>
-
-        cryptographicallyRandomValuesFromOS should use arc4random_buf on Darwin.
- &n