Oilpan: Decommit backing storage of CallbackStacks
CallbackStacks are used only while Oilpan's GC is doing marking & weak processing. However, currently each CallbackStack continues retaining one Block forever. This wastes memory a lot. Oilpan has 4 global CallbackStacks and 1 CallbackStack per thread. Each Block consumes 8192 * sizeof(Item) = 128 KB. This means that Oilpan wastes 128 KB * (4 + # of threads). When I start Chrome's new tab page, it creates 18 CallbackStacks, meaning that it wastes 2.3 MB of memory. This CL removes the waste by discarding system pages of the Block after finishing every GC phase. BUG= Review URL: https://codereview.chromium.org/1686943002 Cr-Commit-Position: refs/heads/master@{#374674}
Showing
Please register or sign in to comment