RFR: Fix top-at-mark-start

Roman Kennke rkennke at redhat.com
Fri Nov 25 17:15:47 UTC 2016


There's a little inconsistency with our top-at-mark-start pointer: when
recycling a region in recycle_dirty_regions() we're resetting the TAMS
pointer to bottom. This makes sense because the TAMS is no longer valid
for such regions. Howevever, we've got a few more places where we
recycle regions, specifically early-reclamation (when marking finds
100% garbage regions) and reclamation of humongous regions. Previously
we did not reset the TAMS pointer there.

Fix is to move resetting of the TAMS to ShenandoahHeapRegion::recycle()
this way it's 100% consistent.

JTreg tests no longer fail.

Ok?

http://cr.openjdk.java.net/~rkennke/fixtams/webrev.00/

Roman


More information about the shenandoah-dev mailing list