HeapRegion::note_self_forwarding_removal_start, I would expect tams == bottom already with the single bitmap changes JDK-8210708
I.e.:
if (during_concurrent_start) {
...
} else if (during_conc_mark) {
// During concurrent mark, all objects in the CSet (including
// the ones we find to be self-forwarded) are implicitly live.
// So all objects need to be above TAMS.
_top_at_mark_start = bottom();
}
should be
if (during_concurrent_start) {
...
} else {
assert(_top_at_mark_start == bottom(), "inv);
}
The reason is that during evacuation failure
* the young regions must always have TAMS==bottom
I.e.:
if (during_concurrent_start) {
...
} else if (during_conc_mark) {
// During concurrent mark, all objects in the CSet (including
// the ones we find to be self-forwarded) are implicitly live.
// So all objects need to be above TAMS.
_top_at_mark_start = bottom();
}
should be
if (during_concurrent_start) {
...
} else {
assert(_top_at_mark_start == bottom(), "inv);
}
The reason is that during evacuation failure
* the young regions must always have TAMS==bottom
- duplicates
-
JDK-8210708 Use single mark bitmap in G1
-
- Resolved
-
- is blocked by
-
JDK-8210708 Use single mark bitmap in G1
-
- Resolved
-