changeset 10872:f589cf9f3082

8153834: G1 Card table verification fails due to concurrent region cleanup Reviewed-by: ehelin, tschatzl
author mgerdin
date Tue, 12 Apr 2016 14:03:31 +0200
parents 4823056a5bbd
children 2db3cefd53c9 a57bba2898a3
files src/share/vm/gc/g1/g1CollectedHeap.cpp
diffstat 1 files changed, 3 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/gc/g1/g1CollectedHeap.cpp	Tue Apr 12 09:08:48 2016 +0000
+++ b/src/share/vm/gc/g1/g1CollectedHeap.cpp	Tue Apr 12 14:03:31 2016 +0200
@@ -4824,6 +4824,9 @@
 
     workers()->run_task(&cleanup_task);
 #ifndef PRODUCT
+    // Need to synchronize with concurrent cleanup since it needs to
+    // finish its card table clearing before we can verify.
+    wait_while_free_regions_coming();
     _verifier->verify_card_table_cleanup();
 #endif
   }