2011-03-28 Geoffrey Garen <ggaren@apple.com>
authorggaren@apple.com <ggaren@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 28 Mar 2011 22:00:48 +0000 (22:00 +0000)
committerggaren@apple.com <ggaren@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 28 Mar 2011 22:00:48 +0000 (22:00 +0000)
commit1e2f4b4b572bed6bb2a717ee215ffa6725b41e47
tree7245a1addfd6d7124763a8371feae635be10ef9b
parent04b4cb376bd6baf8d8e5f74e46ea56e3503479fe
2011-03-28  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        REGRESSION [r78794-r79249] Allocation of memory is slow when number of active objects is large
        https://bugs.webkit.org/show_bug.cgi?id=56823

        Partial fix for most of the problem. (TOT still shows a regression, though.)

        * runtime/Heap.cpp:
        (JSC::Heap::reportExtraMemoryCostSlowCase): Use highWaterMark(), instead of
        capacity(), since capacity() is O(n) relative to the size of the heap.

        In limited circumstances, capacity() is also worse than highWaterMark()
        for measuring extra cost relative to heap size, since capacity() only
        measures the *current* capacity of the heap, but the heap will grow if
        necessary to attain highWaterMark().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@82162 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/runtime/Heap.cpp