Perf: SATB and WB coalescing

Roman Kennke rkennke at redhat.com
Wed Jan 10 11:20:25 UTC 2018


Am 10.01.2018 um 12:16 schrieb Aleksey Shipilev:
> On 01/10/2018 12:12 PM, Roman Kennke wrote:
>> That confirms what I suspected since a while. And I also sorta hope that the traversal GC will solve
>> it, because it only ever polls a single flag. We might even want to wrap RBs into evac-flag-checks
>> initially, so that the optimizer can coalesce them too, and remove lone evac-checks-around-RBs after
>> optimization.
> 
> Let's not conflate this with traversal GC: flag handling and coalescing barriers in important even
> for our regular cycle. So I'd rather improve that part of the story, and then build traversal GC on top.
> 

Sure, that makes sense.

> Do you have a separate patch that introduces a single flag instead of the assortment of
> {mark,evac,updaterefs}-in-progress and fixes all the uses around? That would be a base for further
> compiler optimizations, I think.

No, for traversal GC I simply picked one flag (evac) and barriers use 
only that.

How would you use a single flag, if we need to check 2 or 3 different 
phases?

Roman


More information about the shenandoah-dev mailing list