< prev index next >

src/share/vm/gc/shared/collectorPolicy.cpp

Print this page
rev 13243 : 8179268: Factor out AdaptiveSizePolicy from top-level interfaces CollectorPolicy and CollectedHeap
Reviewed-by: pliden, mgerdin

*** 49,59 **** _space_alignment(0), _heap_alignment(0), _initial_heap_byte_size(InitialHeapSize), _max_heap_byte_size(MaxHeapSize), _min_heap_byte_size(Arguments::min_heap_size()), - _size_policy(NULL), _should_clear_all_soft_refs(false), _all_soft_refs_clear(false) {} #ifdef ASSERT --- 49,58 ----
*** 155,170 **** CardTableRS* CollectorPolicy::create_rem_set(MemRegion whole_heap) { return new CardTableRS(whole_heap); } void CollectorPolicy::cleared_all_soft_refs() { - // If near gc overhear limit, continue to clear SoftRefs. SoftRefs may - // have been cleared in the last collection but if the gc overhear - // limit continues to be near, SoftRefs should still be cleared. - if (size_policy() != NULL) { - _should_clear_all_soft_refs = size_policy()->gc_overhead_limit_near(); - } _all_soft_refs_clear = true; } size_t CollectorPolicy::compute_heap_alignment() { // The card marking array and the offset arrays for old generations are --- 154,163 ----
*** 193,203 **** _min_old_size(0), _initial_old_size(0), _max_old_size(0), _gen_alignment(0), _young_gen_spec(NULL), ! _old_gen_spec(NULL) {} size_t GenCollectorPolicy::scale_by_NewRatio_aligned(size_t base_size) { return align_down_bounded(base_size / (NewRatio + 1), _gen_alignment); } --- 186,197 ---- _min_old_size(0), _initial_old_size(0), _max_old_size(0), _gen_alignment(0), _young_gen_spec(NULL), ! _old_gen_spec(NULL), ! _size_policy(NULL) {} size_t GenCollectorPolicy::scale_by_NewRatio_aligned(size_t base_size) { return align_down_bounded(base_size / (NewRatio + 1), _gen_alignment); }
*** 218,227 **** --- 212,232 ---- init_survivor_size, max_gc_pause_sec, GCTimeRatio); } + void GenCollectorPolicy::cleared_all_soft_refs() { + // If near gc overhear limit, continue to clear SoftRefs. SoftRefs may + // have been cleared in the last collection but if the gc overhear + // limit continues to be near, SoftRefs should still be cleared. + if (size_policy() != NULL) { + _should_clear_all_soft_refs = size_policy()->gc_overhead_limit_near(); + } + + CollectorPolicy::cleared_all_soft_refs(); + } + size_t GenCollectorPolicy::young_gen_size_lower_bound() { // The young generation must be aligned and have room for eden + two survivors return align_up(3 * _space_alignment, _gen_alignment); }
< prev index next >