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