< prev index next >
src/hotspot/share/gc/g1/g1ConcurrentMark.cpp
Print this page
rev 60594 : [mq]: 8240556-abort-conc-mark-new
*** 681,705 ****
r->note_start_of_marking();
return false;
}
};
! void G1ConcurrentMark::pre_concurrent_start() {
assert_at_safepoint_on_vm_thread();
// Reset marking state.
reset();
// For each region note start of marking.
NoteStartOfMarkHRClosure startcl;
_g1h->heap_region_iterate(&startcl);
_root_regions.reset();
}
! void G1ConcurrentMark::post_concurrent_start() {
// Start Concurrent Marking weak-reference discovery.
ReferenceProcessor* rp = _g1h->ref_processor_cm();
// enable ("weak") refs discovery
rp->enable_discovery();
rp->setup_policy(false); // snapshot the soft ref policy to be used in this cycle
--- 681,711 ----
r->note_start_of_marking();
return false;
}
};
! void G1ConcurrentMark::pre_concurrent_start(GCCause::Cause cause) {
assert_at_safepoint_on_vm_thread();
// Reset marking state.
reset();
// For each region note start of marking.
NoteStartOfMarkHRClosure startcl;
_g1h->heap_region_iterate(&startcl);
_root_regions.reset();
+
+ _gc_tracer_cm->set_gc_cause(cause);
}
! void G1ConcurrentMark::post_concurrent_start(bool is_mark_cycle) {
! if (!is_mark_cycle) {
! root_regions()->cancel_scan();
! return;
! }
// Start Concurrent Marking weak-reference discovery.
ReferenceProcessor* rp = _g1h->ref_processor_cm();
// enable ("weak") refs discovery
rp->enable_discovery();
rp->setup_policy(false); // snapshot the soft ref policy to be used in this cycle
< prev index next >