< prev index next >

src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp

Print this page
rev 13125 : imported patch update-refs.patch

*** 101,110 **** --- 101,114 ---- virtual void print_thresholds() { } virtual bool should_start_concurrent_mark(size_t used, size_t capacity) const=0; + virtual bool update_refs_early() { + return ShenandoahUpdateRefsEarly; + } + virtual bool should_start_partial_gc() { return false; } virtual bool handover_cancelled_marking() {
*** 784,793 **** --- 788,801 ---- _phase_names[partial_gc] = "Partial GC"; _phase_names[conc_mark] = "Concurrent Marking"; _phase_names[conc_evac] = "Concurrent Evacuation"; + _phase_names[conc_update_refs] = "Concurrent Update References"; + _phase_names[pre_update_refs] = "Pause Pre Update References"; + _phase_names[post_update_refs] = "Pause Post Update References"; + if (ShenandoahGCHeuristics != NULL) { if (strcmp(ShenandoahGCHeuristics, "aggressive") == 0) { log_info(gc, init)("Shenandoah heuristics: aggressive"); _heuristics = new AggressiveHeuristics(); } else if (strcmp(ShenandoahGCHeuristics, "dynamic") == 0) {
*** 883,892 **** --- 891,904 ---- bool ShenandoahCollectorPolicy::handover_cancelled_marking() { return _heuristics->handover_cancelled_marking(); } + bool ShenandoahCollectorPolicy::update_refs_early() { + return _heuristics->update_refs_early(); + } + void ShenandoahCollectorPolicy::record_cm_success() { _heuristics->record_cm_success(); _successful_cm++; }
< prev index next >