mirror of
https://github.com/openjdk/jdk.git
synced 2026-04-27 23:31:47 +00:00
8382635: G1: TAMSes overwritten by G1ConcurrentMark::fully_initialize() cause verification errors
Reviewed-by: iwalulya, ayang
This commit is contained in:
parent
dffe9f48e7
commit
0ba115c49f
@ -524,7 +524,10 @@ void G1ConcurrentMark::fully_initialize() {
|
||||
|
||||
uint max_num_regions = _g1h->max_num_regions();
|
||||
::new (_region_mark_stats) G1RegionMarkStats[max_num_regions]{};
|
||||
::new (_top_at_mark_starts) Atomic<HeapWord*>[max_num_regions]{};
|
||||
for (uint i = 0; i < max_num_regions; i++) {
|
||||
::new (&_top_at_mark_starts[i]) Atomic<HeapWord*>(_g1h->bottom_addr_for_region(i));
|
||||
}
|
||||
// Contrary to TAMS, the default value of _top_at_rebuild_starts needs to be null.
|
||||
::new (_top_at_rebuild_starts) Atomic<HeapWord*>[max_num_regions]{};
|
||||
|
||||
reset_at_marking_complete();
|
||||
|
||||
@ -316,7 +316,7 @@
|
||||
product(bool, G1VerifyHeapRegionCodeRoots, false, DIAGNOSTIC, \
|
||||
"Verify the code root lists attached to each heap region.") \
|
||||
\
|
||||
develop(bool, G1VerifyBitmaps, false, \
|
||||
product(bool, G1VerifyBitmaps, false, DIAGNOSTIC, \
|
||||
"Verifies the consistency of the marking bitmaps") \
|
||||
\
|
||||
product(uintx, G1PeriodicGCInterval, 0, MANAGEABLE, \
|
||||
|
||||
@ -166,6 +166,7 @@ public class TestVerifyGCType {
|
||||
"-Xmx16m",
|
||||
"-XX:ParallelGCThreads=1",
|
||||
"-XX:G1HeapWastePercent=1",
|
||||
"-XX:+G1VerifyBitmaps",
|
||||
"-XX:+VerifyBeforeGC",
|
||||
"-XX:+VerifyAfterGC",
|
||||
"-XX:+VerifyDuringGC"});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user