6847956: G1: crash in oopDesc*G1ParCopyHelper::copy_to_survivor_space(oopDesc*)
When we copy objects to survivors during marking, we incorrectly set NTAMS to bottom, which causes marking to miss visiting some of those objects. Reviewed-by: apetrusenko, iveresov
This commit is contained in:
parent
2684c3a431
commit
31de6adee9
@ -569,13 +569,8 @@ class HeapRegion: public G1OffsetTableContigSpace {
|
||||
// ever evacuated into this region. If we evacuate, allocate, and
|
||||
// then evacuate we are in deep doodoo.
|
||||
void note_end_of_copying() {
|
||||
assert(top() >= _next_top_at_mark_start,
|
||||
"Increase only");
|
||||
// Survivor regions will be scanned on the start of concurrent
|
||||
// marking.
|
||||
if (!is_survivor()) {
|
||||
_next_top_at_mark_start = top();
|
||||
}
|
||||
assert(top() >= _next_top_at_mark_start, "Increase only");
|
||||
_next_top_at_mark_start = top();
|
||||
}
|
||||
|
||||
// Returns "false" iff no object in the region was allocated when the
|
||||
|
Loading…
x
Reference in New Issue
Block a user