Bug 120910

Summary: Calculating the size of the Heap should not require walking over it
Product: WebKit Reporter: Mark Hahnenberg <mhahnenberg>
Component: JavaScriptCoreAssignee: Mark Hahnenberg <mhahnenberg>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 121074    
Attachments:
Description Flags
Patch ggaren: review+

Mark Hahnenberg
Reported 2013-09-06 16:47:03 PDT
Currently Heap::size() is O(sizeof(Heap)). This is too expensive to call during a collection. We should keep a count of visited and copied bytes as each collection progresses so as to avoid re-walking the Heap at the end of collection.
Attachments
Patch (7.69 KB, patch)
2013-09-06 18:33 PDT, Mark Hahnenberg
ggaren: review+
Mark Hahnenberg
Comment 1 2013-09-06 18:33:08 PDT
Geoffrey Garen
Comment 2 2013-09-06 23:09:13 PDT
Comment on attachment 210827 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=210827&action=review r=me > Source/JavaScriptCore/heap/Heap.cpp:647 > + // rather than all used (inluding dead) copied bytes, thus it's Should be "including". > Source/JavaScriptCore/heap/Heap.h:254 > + size_t m_totalBytesVisited; > + size_t m_totalBytesCopied; Let's initialize these in the Heap constructor.
Mark Hahnenberg
Comment 3 2013-09-08 17:11:16 PDT
Note You need to log in before you can comment on or make changes to this bug.