< prev index next >

src/hotspot/share/gc/g1/collectionSetChooser.cpp

Print this page
rev 51652 : Added support for eager mixed collection of evacuation failure regions
rev 52017 : All changes for G1 GC moved from 'combined' repo folder

*** 47,56 **** --- 47,64 ---- } } else if (hr2 == NULL) { return -1; } + if (hr1->is_premature_old() && !hr2->is_premature_old()) { + return -1; + } + + if (hr2->is_premature_old() && !hr1->is_premature_old()) { + return 1; + } + double gc_eff1 = hr1->gc_efficiency(); double gc_eff2 = hr2->gc_efficiency(); if (gc_eff1 > gc_eff2) { return -1; } if (gc_eff1 < gc_eff2) {
*** 281,291 **** } bool CollectionSetChooser::should_add(HeapRegion* hr) const { return !hr->is_young() && !hr->is_pinned() && ! region_occupancy_low_enough_for_evac(hr->live_bytes()) && hr->rem_set()->is_complete(); } void CollectionSetChooser::rebuild(WorkGang* workers, uint n_regions) { clear(); --- 289,299 ---- } bool CollectionSetChooser::should_add(HeapRegion* hr) const { return !hr->is_young() && !hr->is_pinned() && ! (hr->is_premature_old() || region_occupancy_low_enough_for_evac(hr->live_bytes())) && hr->rem_set()->is_complete(); } void CollectionSetChooser::rebuild(WorkGang* workers, uint n_regions) { clear();
< prev index next >