Currently reportAbandonedObjectGraph causes the Heap to think it is closer to its allocation limit for the current cycle, thus hastening an allocation-triggered collection. In reality, it should just affect the opportunistic GC timer. We should track the bytes we think have been abandoned and the bytes that have been allocated separately.
Created attachment 140098 [details] Patch
Committed r116025: <http://trac.webkit.org/changeset/116025>
<rdar://problem/11377509>
Comment on attachment 140098 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=140098&action=review > Source/JavaScriptCore/heap/Heap.cpp:795 > + m_bytesAbandoned = 0; Why do you only reset m_bytesAbandoned to 0 during a forced sweep? Even without a forced sweep, a normal GC, followed by allocation, will reclaim / recycle abandoned bytes.