Bug 113145

Summary: HandleSet should use HeapBlocks for storing handles
Product: WebKit Reporter: Mark Hahnenberg <mhahnenberg>
Component: JavaScriptCoreAssignee: Mark Hahnenberg <mhahnenberg>
Status: RESOLVED FIXED    
Severity: Normal CC: fpizlo, ggaren
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch ggaren: review+

Mark Hahnenberg
Reported 2013-03-23 20:16:35 PDT
Currently it uses WTF::BlockStack, which is malloc-ed memory. Let's use the BlockAllocator. By doing this we can also get rid of the pointer to the HandleSet from each Handle, making them 24 bytes rather than 32 bytes. This change will also enable us to return HandleBlocks back to the OS and reduce the fragmentation of Handles in a future patch.
Attachments
Patch (25.60 KB, patch)
2013-03-23 20:32 PDT, Mark Hahnenberg
ggaren: review+
Mark Hahnenberg
Comment 1 2013-03-23 20:32:01 PDT
Geoffrey Garen
Comment 2 2013-03-24 15:29:34 PDT
Comment on attachment 194731 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=194731&action=review r=me > Source/JavaScriptCore/heap/HandleBlockInlines.h:53 > + return reinterpret_cast<char*>(this) + ((sizeof(HandleBlock) + 7) & ~7); Let's use roundUpToMultipleOf<sizeof(double)>() here, to make it a little less mysterious.
Mark Hahnenberg
Comment 3 2013-03-24 15:48:07 PDT
Note You need to log in before you can comment on or make changes to this bug.