< prev index next >

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

Print this page
rev 51649 : version 1
rev 51650 : added comments
rev 51878 : Minor changes
rev 52017 : All changes for G1 GC moved from 'combined' repo folder

*** 94,104 **** assert(Heap_lock->owned_by_self(), "Locking discipline."); if (!adaptive_young_list_length()) { _young_list_fixed_length = _young_gen_sizer.min_desired_young_length(); } ! _young_gen_sizer.adjust_max_new_size(_g1h->max_regions()); _free_regions_at_end_of_collection = _g1h->num_free_regions(); update_young_list_max_and_target_length(); // We may immediately start allocating regions and placing them on the --- 94,104 ---- assert(Heap_lock->owned_by_self(), "Locking discipline."); if (!adaptive_young_list_length()) { _young_list_fixed_length = _young_gen_sizer.min_desired_young_length(); } ! _young_gen_sizer.adjust_max_new_size(_g1h->max_expandable_regions()); _free_regions_at_end_of_collection = _g1h->num_free_regions(); update_young_list_max_and_target_length(); // We may immediately start allocating regions and placing them on the
*** 216,225 **** --- 216,230 ---- } uint G1Policy::update_young_list_target_length(size_t rs_lengths) { YoungTargetLengths young_lengths = young_list_target_lengths(rs_lengths); _young_list_target_length = young_lengths.first; + + // Resize dram regions set if called after full collection end. + if(_g1h->is_hetero_heap() && (Thread::current()->is_VM_thread() || Heap_lock->owned_by_self())) { + static_cast <HeapRegionManagerForHeteroHeap*>(_g1h->hrm())->resize_dram_regions(_young_list_target_length, _g1h->workers()); + } return young_lengths.second; } G1Policy::YoungTargetLengths G1Policy::young_list_target_lengths(size_t rs_lengths) const { YoungTargetLengths result;
< prev index next >