Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(65)

Issue 744103003: Oilpan: Implement bitmap marking

Created:
6 years, 1 month ago by haraken
Modified:
6 years ago
Reviewers:
oilpan-reviews, sof
CC:
blink-reviews, oilpan-reviews, kouhei+heap_chromium.org, Mads Ager (chromium)
Project:
blink
Visibility:
Public.

Description

Oilpan: Implement bitmap marking Not for parallel marking, but for improving memory locality. BUG=420515

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+86 lines, -42 lines) Patch
M Source/platform/heap/Heap.h View 12 chunks +52 lines, -13 lines 0 comments Download
M Source/platform/heap/Heap.cpp View 9 chunks +28 lines, -28 lines 0 comments Download
M Source/platform/heap/ThreadState.h View 1 chunk +4 lines, -0 lines 0 comments Download
M Source/platform/heap/ThreadState.cpp View 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 6 (2 generated)
haraken
I ran a couple of benchmarks where marking time matters and confirmed that the bitmap ...
6 years, 1 month ago (2014-11-21 07:33:35 UTC) #2
sof
What is the current thinking as regards this CL? I've held off from getting to ...
6 years ago (2014-12-05 13:44:01 UTC) #4
haraken
On 2014/12/05 13:44:01, sof wrote: > What is the current thinking as regards this CL? ...
6 years ago (2014-12-05 15:26:55 UTC) #5
sof
6 years ago (2014-12-05 18:51:31 UTC) #6
On 2014/12/05 15:26:55, haraken wrote:
> On 2014/12/05 13:44:01, sof wrote:
> > What is the current thinking as regards this CL? I've held off from getting
to
> > grips with it due to the so-so results initially reported.
> > 
> > Would be useful to get some oilpan_gc_times metrics for it.
> 
> As far as I manually measured time consumed in marking, this CL slows down
> marking. So I don't have a plan to land this CL in the current shape at least.
> 

It's puzzling why that would be.

> One thing I might want to experiment is:
> 
> - Prepare heaps for fixed-size objects (a heap for 8 byte objects, a heap for
16
> byte objects, a heap for 24 byte objects, ...).
> - Put only object payloads on the heap and allocate their headers in a
separate
> space (which means that we do something like bitmap marking using the header
> space). By doing this, we can pack more objects in our heaps and thus improve
> locality of accessing the objects (e.g., Node traversals).
> 

Thanks for the update, I wondered about the status of this CL when you mentioned
sectioning off object headers, as they do travel along similar lines. You're
generalizing it in some manner, I suppose.

> I'm now collecting performance numbers to see if this kind of optimization
would
> make sense.

Great, that's the way to go about it :-) Eager to hear what comes out/up.

Powered by Google App Engine
This is Rietveld 408576698