Some optimization to traversal-marking

Roman Kennke rkennke at redhat.com
Tue Jul 17 20:14:25 UTC 2018


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?

Roman



More information about the shenandoah-dev mailing list