< prev index next >

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

Print this page
rev 57223 : imported patch 8225484-changes-to-survivor-calculation

*** 54,63 **** --- 54,64 ---- _worker_id(worker_id), _last_enqueued_card(SIZE_MAX), _stack_trim_upper_threshold(GCDrainStackTargetSize * 2 + 1), _stack_trim_lower_threshold(GCDrainStackTargetSize), _trim_ticks(), + _surviving_survivor_words(0), _surviving_young_words_base(NULL), _surviving_young_words(NULL), _surviving_words_length(young_cset_length + 1), _old_gen_is_full(false), _num_optional_regions(optional_cset_length),
*** 91,100 **** --- 92,102 ---- _rdcq.flush(); flush_numa_stats(); // Update allocation statistics. _plab_allocator->flush_and_retire_stats(); _g1h->policy()->record_age_table(&_age_table); + _g1h->policy()->record_surviving_survivor_words(_surviving_survivor_words); size_t sum = 0; for (uint i = 0; i < _surviving_words_length; i++) { surviving_young_words[i] += _surviving_young_words[i]; sum += _surviving_young_words[i];
*** 286,297 **** if (forward_ptr == NULL) { Copy::aligned_disjoint_words((HeapWord*) old, obj_ptr, word_sz); const uint young_index = from_region->young_index_in_cset(); ! assert((from_region->is_young() && young_index > 0) || ! (!from_region->is_young() && young_index == 0), "invariant" ); if (dest_attr.is_young()) { if (age < markWord::max_age) { age++; } --- 288,303 ---- if (forward_ptr == NULL) { Copy::aligned_disjoint_words((HeapWord*) old, obj_ptr, word_sz); const uint young_index = from_region->young_index_in_cset(); ! assert(from_region->is_young() || ! (!from_region->is_young() && young_index == 0), "region %u %s index %u", from_region->hrm_index(), from_region->get_short_type_str(), young_index); ! ! if (age > 0 && region_attr.is_young()) { ! _surviving_survivor_words += word_sz; ! } if (dest_attr.is_young()) { if (age < markWord::max_age) { age++; }
< prev index next >