Bug 96214

Summary: Added large allocation support to MarkedSpace
Product: WebKit Reporter: Geoffrey Garen <ggaren>
Component: New BugsAssignee: Geoffrey Garen <ggaren>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch buildbot: commit-queue-

Description Geoffrey Garen 2012-09-09 12:53:23 PDT
Added large allocation support to MarkedSpace
Comment 1 Geoffrey Garen 2012-09-09 13:39:03 PDT
Created attachment 163010 [details]
Patch
Comment 2 Filip Pizlo 2012-09-09 13:45:27 PDT
Comment on attachment 163010 [details]
Patch

I'm not sure I buy the removal of imprecise size classes.  That seems like a pure regression.

Why aren't you just using the large allocation support for >=64KB allocations?
Comment 3 Build Bot 2012-09-09 14:02:26 PDT
Comment on attachment 163010 [details]
Patch

Attachment 163010 [details] did not pass win-ews (win):
Output: http://queues.webkit.org/results/13797564
Comment 4 Geoffrey Garen 2012-09-09 14:09:47 PDT
Created attachment 163011 [details]
Patch
Comment 5 Geoffrey Garen 2012-09-09 14:20:11 PDT
> Why aren't you just using the large allocation support for >=64KB allocations?

Currently, our fixed allocators only go up to 2KB. So, I had to choose:
- add 1024 "imprecise" allocators
- increase the "imprecise" allocator slop, and add < 1024 "imprecise" allocators
- over-allocate large allocations by up to 62KB
- support < 64KB with the large allocator

I slightly preferred supporting < 64KB with the large allocator because:
- it makes a few large allocations actually happen in TOT, to give the code path some testing
- the other options optimize some things while pessimizing others, which feels like an odd thing to do since they literally never happen in TOT
Comment 6 Geoffrey Garen 2012-09-09 14:21:16 PDT
> I'm not sure I buy the removal of imprecise size classes.  That seems like a pure regression.

Regression measured by what?
Comment 7 Build Bot 2012-09-09 14:42:01 PDT
Comment on attachment 163011 [details]
Patch

Attachment 163011 [details] did not pass win-ews (win):
Output: http://queues.webkit.org/results/13798568
Comment 8 Geoffrey Garen 2012-09-09 15:04:54 PDT
Created attachment 163016 [details]
Patch
Comment 9 Geoffrey Garen 2012-09-10 19:21:14 PDT
Created attachment 163266 [details]
Patch
Comment 10 Geoffrey Garen 2012-09-10 19:24:01 PDT
Large for >= 64KB turned out to be a simpler implementation, so I've restored the imprecise size classes.
Comment 11 Build Bot 2012-09-10 19:57:58 PDT
Comment on attachment 163266 [details]
Patch

Attachment 163266 [details] did not pass win-ews (win):
Output: http://queues.webkit.org/results/13827026
Comment 12 Geoffrey Garen 2012-09-10 20:02:13 PDT
Committed r128141: <http://trac.webkit.org/changeset/128141>