Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp @ 20305:755930f931e3
8027959: Early reclamation of large objects in G1
Summary: Try to reclaim humongous objects at every young collection after doing a conservative estimate of its liveness.
Reviewed-by: brutisso, mgerdin
author | tschatzl |
---|---|
date | Wed, 23 Jul 2014 09:03:32 +0200 |
parents | 2c6ef90f030a |
children | e8ba50da0de0 |
comparison
equal
deleted
inserted
replaced
20304:a22acf6d7598 | 20305:755930f931e3 |
---|---|
252 | 252 |
253 void G1GCPhaseTimes::print_stats(int level, const char* str, double value) { | 253 void G1GCPhaseTimes::print_stats(int level, const char* str, double value) { |
254 LineBuffer(level).append_and_print_cr("[%s: %.1lf ms]", str, value); | 254 LineBuffer(level).append_and_print_cr("[%s: %.1lf ms]", str, value); |
255 } | 255 } |
256 | 256 |
257 void G1GCPhaseTimes::print_stats(int level, const char* str, size_t value) { | |
258 LineBuffer(level).append_and_print_cr("[%s: "SIZE_FORMAT"]", str, value); | |
259 } | |
260 | |
257 void G1GCPhaseTimes::print_stats(int level, const char* str, double value, uint workers) { | 261 void G1GCPhaseTimes::print_stats(int level, const char* str, double value, uint workers) { |
258 LineBuffer(level).append_and_print_cr("[%s: %.1lf ms, GC Workers: " UINT32_FORMAT "]", str, value, workers); | 262 LineBuffer(level).append_and_print_cr("[%s: %.1lf ms, GC Workers: " UINT32_FORMAT "]", str, value, workers); |
259 } | 263 } |
260 | 264 |
261 double G1GCPhaseTimes::accounted_time_ms() { | 265 double G1GCPhaseTimes::accounted_time_ms() { |
354 if (G1Log::finest()) { | 358 if (G1Log::finest()) { |
355 _last_redirty_logged_cards_time_ms.print(3, "Parallel Redirty"); | 359 _last_redirty_logged_cards_time_ms.print(3, "Parallel Redirty"); |
356 _last_redirty_logged_cards_processed_cards.print(3, "Redirtied Cards"); | 360 _last_redirty_logged_cards_processed_cards.print(3, "Redirtied Cards"); |
357 } | 361 } |
358 } | 362 } |
363 if (G1ReclaimDeadHumongousObjectsAtYoungGC) { | |
364 print_stats(2, "Humongous Reclaim", _cur_fast_reclaim_humongous_time_ms); | |
365 if (G1Log::finest()) { | |
366 print_stats(3, "Humongous Total", _cur_fast_reclaim_humongous_total); | |
367 print_stats(3, "Humongous Candidate", _cur_fast_reclaim_humongous_candidates); | |
368 print_stats(3, "Humongous Reclaimed", _cur_fast_reclaim_humongous_reclaimed); | |
369 } | |
370 } | |
359 print_stats(2, "Free CSet", | 371 print_stats(2, "Free CSet", |
360 (_recorded_young_free_cset_time_ms + | 372 (_recorded_young_free_cset_time_ms + |
361 _recorded_non_young_free_cset_time_ms)); | 373 _recorded_non_young_free_cset_time_ms)); |
362 if (G1Log::finest()) { | 374 if (G1Log::finest()) { |
363 print_stats(3, "Young Free CSet", _recorded_young_free_cset_time_ms); | 375 print_stats(3, "Young Free CSet", _recorded_young_free_cset_time_ms); |