Bug 96214 - Added large allocation support to MarkedSpace
Summary: Added large allocation support to MarkedSpace
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Geoffrey Garen
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-09 12:53 PDT by Geoffrey Garen
Modified: 2012-09-10 20:02 PDT (History)
0 users

See Also:


Attachments
Patch (24.34 KB, patch)
2012-09-09 13:39 PDT, Geoffrey Garen
no flags Details | Formatted Diff | Diff
Patch (25.19 KB, patch)
2012-09-09 14:09 PDT, Geoffrey Garen
no flags Details | Formatted Diff | Diff
Patch (25.24 KB, patch)
2012-09-09 15:04 PDT, Geoffrey Garen
no flags Details | Formatted Diff | Diff
Patch (15.01 KB, patch)
2012-09-10 19:21 PDT, Geoffrey Garen
buildbot: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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>