Mercurial > hg > graal-compiler
changeset 1021:1f19207eefc2
6847956: G1: crash in oopDesc*G1ParCopyHelper::copy_to_survivor_space(oopDesc*)
Summary: 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
author | tonyp |
---|---|
date | Mon, 05 Oct 2009 12:05:48 -0400 |
parents | ff2402f6a50b |
children | 4c3458a31e17 |
files | src/share/vm/gc_implementation/g1/heapRegion.hpp |
diffstat | 1 files changed, 2 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/g1/heapRegion.hpp Fri Oct 02 16:20:42 2009 -0400 +++ b/src/share/vm/gc_implementation/g1/heapRegion.hpp Mon Oct 05 12:05:48 2009 -0400 @@ -569,13 +569,8 @@ // 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