< prev index next >
src/share/vm/gc/serial/defNewGeneration.cpp
Print this page
rev 11906 : [mq]: 8164936-age-table-print-wrong
@@ -562,13 +562,22 @@
return allocate(size, is_tlab);
}
void DefNewGeneration::adjust_desired_tenuring_threshold() {
// Set the desired survivor size to half the real survivor space
+ size_t const survivor_capacity = to()->capacity() / HeapWordSize;
+ size_t const desired_survivor_size = (size_t)((((double)survivor_capacity) * TargetSurvivorRatio) / 100);
+
+ _tenuring_threshold = age_table()->compute_tenuring_threshold(desired_survivor_size);
+
GCPolicyCounters* gc_counters = GenCollectedHeap::heap()->gen_policy()->counters();
- _tenuring_threshold =
- age_table()->compute_tenuring_threshold(to()->capacity()/HeapWordSize, gc_counters);
+ if (UsePerfData) {
+ gc_counters->tenuring_threshold()->set_value(_tenuring_threshold);
+ gc_counters->desired_survivor_size()->set_value(desired_survivor_size * oopSize);
+ }
+
+ age_table()->print_age_table(_tenuring_threshold);
}
void DefNewGeneration::collect(bool full,
bool clear_all_soft_refs,
size_t size,
< prev index next >