Enable DFG on MIPS
[WebKit-https.git] / Source / WTF / ChangeLog
index 85d69ae..d043854 100644 (file)
@@ -1,3 +1,275 @@
+2019-04-08  Guillaume Emont  <guijemont@igalia.com>
+
+        Enable DFG on MIPS
+        https://bugs.webkit.org/show_bug.cgi?id=196689
+
+        Reviewed by Žan Doberšek.
+
+        Since the bytecode change, we enabled the baseline JIT on mips in
+        r240432, but DFG is still missing. With this change, all tests are
+        passing on a ci20 board.
+
+        * wtf/Platform.h: Enable DFG on MIPS by default.
+
+2019-04-06  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Added tests for WeakHashSet::computesEmpty and WeakHashSet::computeSize
+        https://bugs.webkit.org/show_bug.cgi?id=196669
+
+        Reviewed by Geoffrey Garen.
+
+        Removed the superflous type names from forward declarations, and made WeakHashSet::add
+        take a const object to match other container types in WTF.
+
+        * wtf/WeakHashSet.h:
+        (WTF::WeakHashSet::add):
+        * wtf/WeakPtr.h:
+
+2019-04-05  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Make WeakPtr<Element> possible and deploy it in form associated elements code
+        https://bugs.webkit.org/show_bug.cgi?id=196626
+
+        Reviewed by Antti Koivisto.
+
+        Make it possible to call WeakHashSet::remove and WeakHashSet::contains with
+        a subclass type U of a type T used to define WeakReference<T>.
+
+        Also added computesEmpty, which is slightly more efficient than computeSize
+        when m_set is either empty or when there are non-released weak references in the set.
+
+        * wtf/WeakHashSet.h:
+        (WTF::WeakHashSet::remove):
+        (WTF::WeakHashSet::contains const):
+        (WTF::WeakHashSet::computesEmpty const): Added.
+        * wtf/WeakPtr.h: Added an explicit forward declaration of WeakHashSet to avoid
+        build failures in GTK+ and WPE ports.
+
+2019-04-05  Eric Carlson  <eric.carlson@apple.com>
+
+        Remove AUDIO_TOOLBOX_AUDIO_SESSION
+        https://bugs.webkit.org/show_bug.cgi?id=196653
+        <rdar://problem/49652098>
+
+        Reviewed by Jer Noble.
+
+        * wtf/Platform.h:
+
+2019-04-05  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        Unreviewed manual rollout of r243929
+        https://bugs.webkit.org/show_bug.cgi?id=196626
+
+        * wtf/WeakHashSet.h:
+        (WTF::WeakHashSet::remove):
+        (WTF::WeakHashSet::contains const):
+        (WTF::WeakHashSet::computesEmpty const): Deleted.
+
+2019-04-05  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r243833.
+        https://bugs.webkit.org/show_bug.cgi?id=196645
+
+        This change breaks build of WPE and GTK ports (Requested by
+        annulen on #webkit).
+
+        Reverted changeset:
+
+        "[CMake][WTF] Mirror XCode header directories"
+        https://bugs.webkit.org/show_bug.cgi?id=191662
+        https://trac.webkit.org/changeset/243833
+
+2019-04-05  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Make WeakPtr<Element> possible and deploy it in form associated elements code
+        https://bugs.webkit.org/show_bug.cgi?id=196626
+
+        Reviewed by Antti Koivisto.
+
+        Make it possible to call WeakHashSet::remove and WeakHashSet::contains with
+        a subclass type U of a type T used to define WeakReference<T>.
+
+        Also added computesEmpty, which is slightly more efficient than computeSize
+        when m_set is either empty or when there are non-released weak references in the set.
+
+        * wtf/WeakHashSet.h:
+        (WTF::WeakHashSet::remove):
+        (WTF::WeakHashSet::contains const):
+        (WTF::WeakHashSet::computesEmpty const): Added.
+
+2019-04-04  Yusuke Suzuki  <ysuzuki@apple.com>
+
+        [WebCore] Put most of derived classes of ScriptWrappable into IsoHeap
+        https://bugs.webkit.org/show_bug.cgi?id=196475
+
+        Reviewed by Saam Barati.
+
+        * wtf/ForbidHeapAllocation.h:
+        * wtf/IsoMalloc.h:
+        * wtf/IsoMallocInlines.h:
+
+2019-04-03  Don Olmstead  <don.olmstead@sony.com>
+
+        [CMake][WTF] Mirror XCode header directories
+        https://bugs.webkit.org/show_bug.cgi?id=191662
+
+        Reviewed by Konstantin Tokarev.
+
+        Rename WTF forwarding header target to WTFFramework and update the install location
+        to WTF_FRAMEWORK_HEADERS_DIR.
+
+        * wtf/CMakeLists.txt:
+
+2019-04-03  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Web Inspector: Remote Inspector indicate callback should always happen on the main thread
+        https://bugs.webkit.org/show_bug.cgi?id=196513
+        <rdar://problem/49498284>
+
+        Reviewed by Devin Rousso.
+
+        * wtf/MainThread.h:
+        * wtf/cocoa/MainThreadCocoa.mm:
+        (WTF::dispatchAsyncOnMainThreadWithWebThreadLockIfNeeded):
+        * wtf/ios/WebCoreThread.cpp:
+        * wtf/ios/WebCoreThread.h:
+
+2019-04-02  Keith Rollin  <krollin@apple.com>
+
+        Inhibit CFNetwork logging in private sessions
+        https://bugs.webkit.org/show_bug.cgi?id=196268
+        <rdar://problem/48210793>
+
+        Fix a conditional in Platform.h where IOS should have been used
+        instead of IOS_FAMILY. The latter happened to work, but we really want
+        to be using the proper symbol here.
+
+        Reviewed by Alexey Proskuryakov.
+
+        * wtf/Platform.h:
+
+2019-04-01  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        Stop trying to support building JSC with clang 3.8
+        https://bugs.webkit.org/show_bug.cgi?id=195947
+        <rdar://problem/49069219>
+
+        Reviewed by Darin Adler.
+
+        It seems WebKit hasn't built with clang 3.8 in a while, no devs are using this compiler, we
+        don't know how much effort it would be to make JSC work again, and it's making the code
+        worse. Remove my hacks to support clang 3.8 from WTF.
+
+        * wtf/MetaAllocator.cpp:
+        (WTF::MetaAllocator::allocate):
+        * wtf/text/StringConcatenate.h:
+        (WTF::tryMakeStringFromAdapters):
+
+2019-03-31  Yusuke Suzuki  <ysuzuki@apple.com>
+
+        [JSC] Butterfly allocation from LargeAllocation should try "realloc" behavior if collector thread is not active
+        https://bugs.webkit.org/show_bug.cgi?id=196160
+
+        Reviewed by Saam Barati.
+
+        * wtf/FastMalloc.h:
+        (WTF::FastMalloc::tryRealloc):
+        * wtf/Gigacage.cpp:
+        (Gigacage::tryRealloc):
+        * wtf/Gigacage.h:
+
+2019-03-31  Andy Estes  <aestes@apple.com>
+
+        [iOS] WebKit should consult the navigation response policy delegate before previewing a QuickLook document
+        https://bugs.webkit.org/show_bug.cgi?id=196433
+        <rdar://problem/49293305>
+
+        Reviewed by Tim Horton.
+
+        * wtf/NeverDestroyed.h:
+        (WTF::NeverDestroyed::operator->):
+        (WTF::NeverDestroyed::operator-> const):
+
+2019-03-28  Fujii Hironori  <Hironori.Fujii@sony.com>
+
+        Unreviewed build fix.
+
+        * wtf/CMakeLists.txt: Added SpanningTree.h to WTF_PUBLIC_HEADERS.
+
+2019-03-28  Saam Barati  <sbarati@apple.com>
+
+        BackwardsGraph needs to consider back edges as the backward's root successor
+        https://bugs.webkit.org/show_bug.cgi?id=195991
+
+        Reviewed by Filip Pizlo.
+
+        Previously, our backwards graph analysis was slightly wrong. The idea of
+        backwards graph is that the root of the graph has edges to terminals in
+        the original graph. And then the original directed edges in the graph are flipped.
+        
+        However, we weren't considering loops as a form of terminality. For example,
+        we wouldn't consider an infinite loop as a terminal. So there were no edges
+        from the root to a node in the infinite loop. This lead us to make mistakes
+        when we used backwards dominators to compute control flow equivalence.
+        
+        This is better understood in an example:
+        
+        ```
+        preheader:
+        while (1) {
+            if (!isCell(v))
+                continue;
+            load structure ID
+            if (cond)
+               continue;
+            return
+        }
+        ```
+        
+        In the previous version of this algorithm, the only edge from the backwards
+        root would be to the block containing the return. This would lead us to
+        believe that the loading of the structureID backwards dominates the preheader,
+        leading us to believe it's control flow equivalent to preheader. This is
+        obviously wrong, since we can loop forever if "v" isn't a cell.
+        
+        The solution here is to treat any backedge in the graph as a "terminal" node.
+        Since a backedge implies the existence of a loop.
+        
+        In the above example, the backwards root now has an edge to both blocks with
+        "continue". This prevents us from falsely claiming that the return is control
+        flow equivalent with the preheader.
+        
+        This patch uses DFS spanning trees to compute back edges. An edge
+        u->v is a back edge when u is a descendent of v in the DFS spanning
+        tree of the Graph.
+
+        * WTF.xcodeproj/project.pbxproj:
+        * wtf/BackwardsGraph.h:
+        (WTF::BackwardsGraph::BackwardsGraph):
+        * wtf/SpanningTree.h: Added.
+        (SpanningTree::SpanningTree):
+        (SpanningTree::isDescendent):
+
+2019-03-28  Tim Horton  <timothy_horton@apple.com>
+
+        Un-fix the build
+
+        * wtf/Platform.h:
+        It is no longer necessary to exclude this from PLATFORM(IOSMAC).
+
+2019-03-27  Per Arne Vollan  <pvollan@apple.com>
+
+        Layout Test js/math-clz32.html is failing
+        https://bugs.webkit.org/show_bug.cgi?id=196209
+
+        Reviewed by Ross Kirsling.
+
+        Use the correct number of loop iterations when counting leading zeros. Also, the
+        count was off by one for the Win64 case.
+
+        * wtf/MathExtras.h:
+        (WTF::clz):
+
 2019-03-26  Keith Rollin  <krollin@apple.com>
 
         Inhibit CFNetwork logging in private sessions