RFR: Fix reclamation of humongous objects in mark-compact
Roman Kennke
rkennke at redhat.com
Tue Nov 29 12:06:08 UTC 2016
Aleksey's latest tests revealed a bug that deserves a bug DUH. Mark-
compact would never reclaim any humongous regions.
- mark-compact reclaims humongous regions *after* compaction, i.e. it
cannot utilize the new free space for compaction
this is unfortunate, but the real bug is this:
- it reclaims humongous regions after having cleared the bitmap. note:
we need marking bits for deciding whether or not to reclaim a humongous
region.
I hear you saying: shuoldn't this reclaim *all* humongous regions,
instead of none? Yes, but:
- before doing so, it resets the top-at-mark-start ptr to bottom,
treating all objects as implicitely marked.
Triple-strike!! :-D
The fix is to insert a pass to reclaim humongous regions right after
marking:
http://cr.openjdk.java.net/~rkennke/mark-compact-humongous/webrev.00/
With this, all tests pass.
Ok?
Roman
More information about the shenandoah-dev
mailing list