Some optimization to traversal-marking

Aleksey Shipilev shade at redhat.com
Tue Jul 17 20:31:21 UTC 2018


On 07/17/2018 10:14 PM, Roman Kennke wrote:
> Here come some optimizations to traversal-marking:
> - It turns out we don't need to check in-traversal-set in the hot path.
> We set up TAMS such that it would exclude everything not in traversal
> set, and include everything that is in traversal set. The way we checked
> it, we actually checked the same thing twice. Even the underlying math
> is the same.
> - We also don't need the check-before-mark, because the parMark()
> implementation in BitMap already checks-before-mark, but more
> efficiently (don't need to calculate offset+bits twice).
> - Constify a bunch of variables involved in the mark loop.
> 
> http://cr.openjdk.java.net/~rkennke/traversal-simpler-mark/webrev.00/
> 
> Testing: tier3_gc_shenandoah ok
> 
> Ok?

OK! Please avoid "Some" in changeset synopsis. Suggestion:
 "Optimize traversal mark: constify, avoid polling traversal set and is_marked_next"

-Aleksey



More information about the shenandoah-dev mailing list