RFR: Refactor to group marking bitmap and TAMS structure in one class ShenandoahMarkingContext
Roman Kennke
rkennke at redhat.com
Tue Jul 17 20:20:04 UTC 2018
This is a long overdue refactoring. It groups the two structures
involved in marking (bitmap + TAMS) into one class
ShenandoahMarkingContext. This allows for some interesting improvements:
- Easy to keep in sync (e.g. simpler swapping and reasoning-about)
- Can keep actual arrays const
- Can pass around the context (see upcoming patch)
- Code related to marking and other bookkeeping is now grouped together
in one class
- Reduce duplications next vs. complete versions of methods
The code now makes obvious where we have extra dereferences. I felt the
itch to reduce XX_marking_context() calls in a bunch of places, but
wanted to keep this a mechanical refactoring as much as possible.
Upcoming patch resolves some of the hottest indirections. In any case,
it's not worse than it was before (it only looks worse).
Testing: tier3_gc_shenandoah ok
http://cr.openjdk.java.net/~rkennke/refactor-marking-context/webrev.00/
Ok?
Roman
More information about the shenandoah-dev
mailing list