< prev index next >
src/share/vm/gc/shenandoah/shenandoahPartialGC.cpp
Print this page
*** 224,233 ****
--- 224,239 ----
_heap->gc_timer()->register_gc_start();
{
GCTraceTime(Info, gc) time("Pause Partial", _heap->gc_timer(), GCCause::_no_gc, true);
+ if (ShenandoahVerify || VerifyShenandoahMatrix) {
+ log_debug(gc, ergo)("Verifying before partial collection");
+ _heap->verify_heap_reachable_at_safepoint();
+ log_debug(gc, ergo)("Verification passed");
+ }
+
COMPILER2_PRESENT(DerivedPointerTable::clear());
{
ClassLoaderDataGraph::clear_claimed_marks();
ShenandoahRootProcessor rp(_heap, _heap->workers()->active_workers());
*** 236,245 ****
--- 242,257 ----
}
COMPILER2_PRESENT(DerivedPointerTable::update_pointers());
if (! _heap->cancelled_concgc()) {
+ if (ShenandoahVerify || VerifyShenandoahMatrix) {
+ log_debug(gc, ergo)("Verifying after partial collection");
+ _heap->verify_heap_reachable_at_safepoint();
+ log_debug(gc, ergo)("Verification passed");
+ }
+
ShenandoahHeap::ShenandoahHeapLock heap_lock(_heap);
uint num_cset = _heap->collection_set()->count();
for (uint i = 0; i < num_cset; i++) {
ShenandoahHeapRegion* r = _heap->collection_set()->get(i);
_heap->decrease_used(r->used());
< prev index next >