--- a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp Fri Dec 01 11:40:39 2017 +0530
+++ b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp Fri Dec 01 08:56:22 2017 +0100
@@ -1084,7 +1084,6 @@
PostCompactionPrinterClosure cl(hr_printer());
heap_region_iterate(&cl);
}
-
}
void G1CollectedHeap::abort_concurrent_cycle() {
@@ -1133,7 +1132,7 @@
assert(!GCCause::is_user_requested_gc(gc_cause()) || explicit_gc, "invariant");
assert(used() == recalculate_used(), "Should be equal");
_verifier->verify_region_sets_optional();
- _verifier->verify_before_gc();
+ _verifier->verify_before_gc(G1HeapVerifier::G1VerifyFull);
_verifier->check_bitmaps("Full GC Start");
}
@@ -1174,7 +1173,7 @@
check_gc_time_stamps();
_hrm.verify_optional();
_verifier->verify_region_sets_optional();
- _verifier->verify_after_gc();
+ _verifier->verify_after_gc(G1HeapVerifier::G1VerifyFull);
// Clear the previous marking bitmap, if needed for bitmap verification.
// Note we cannot do this when we clear the next marking bitmap in
// G1ConcurrentMark::abort() above since VerifyDuringGC verifies the
@@ -2958,13 +2957,17 @@
GCTraceCPUTime tcpu;
+ G1HeapVerifier::G1VerifyType verify_type;
FormatBuffer<> gc_string("Pause ");
if (collector_state()->during_initial_mark_pause()) {
gc_string.append("Initial Mark");
+ verify_type = G1HeapVerifier::G1VerifyInitialMark;
} else if (collector_state()->gcs_are_young()) {
gc_string.append("Young");
+ verify_type = G1HeapVerifier::G1VerifyYoungOnly;
} else {
gc_string.append("Mixed");
+ verify_type = G1HeapVerifier::G1VerifyMixed;
}
GCTraceTime(Info, gc) tm(gc_string, NULL, gc_cause(), true);
@@ -3005,7 +3008,7 @@
heap_region_iterate(&v_cl);
}
- _verifier->verify_before_gc();
+ _verifier->verify_before_gc(verify_type);
_verifier->check_bitmaps("GC Start");
@@ -3165,7 +3168,7 @@
heap_region_iterate(&v_cl);
}
- _verifier->verify_after_gc();
+ _verifier->verify_after_gc(verify_type);
_verifier->check_bitmaps("GC End");
assert(!ref_processor_stw()->discovery_enabled(), "Postcondition");