Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp @ 20296:a3953c777565
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 | 7baf47cb97cb |
comparison
equal
deleted
inserted
replaced
20295:3f2894c5052e | 20296:a3953c777565 |
---|---|
155 double _recorded_redirty_logged_cards_time_ms; | 155 double _recorded_redirty_logged_cards_time_ms; |
156 | 156 |
157 double _recorded_young_free_cset_time_ms; | 157 double _recorded_young_free_cset_time_ms; |
158 double _recorded_non_young_free_cset_time_ms; | 158 double _recorded_non_young_free_cset_time_ms; |
159 | 159 |
160 double _cur_fast_reclaim_humongous_time_ms; | |
161 size_t _cur_fast_reclaim_humongous_total; | |
162 size_t _cur_fast_reclaim_humongous_candidates; | |
163 size_t _cur_fast_reclaim_humongous_reclaimed; | |
164 | |
160 double _cur_verify_before_time_ms; | 165 double _cur_verify_before_time_ms; |
161 double _cur_verify_after_time_ms; | 166 double _cur_verify_after_time_ms; |
162 | 167 |
163 // Helper methods for detailed logging | 168 // Helper methods for detailed logging |
164 void print_stats(int level, const char* str, double value); | 169 void print_stats(int level, const char* str, double value); |
170 void print_stats(int level, const char* str, size_t value); | |
165 void print_stats(int level, const char* str, double value, uint workers); | 171 void print_stats(int level, const char* str, double value, uint workers); |
166 | 172 |
167 public: | 173 public: |
168 G1GCPhaseTimes(uint max_gc_threads); | 174 G1GCPhaseTimes(uint max_gc_threads); |
169 void note_gc_start(uint active_gc_threads); | 175 void note_gc_start(uint active_gc_threads); |
280 | 286 |
281 void record_non_young_free_cset_time_ms(double time_ms) { | 287 void record_non_young_free_cset_time_ms(double time_ms) { |
282 _recorded_non_young_free_cset_time_ms = time_ms; | 288 _recorded_non_young_free_cset_time_ms = time_ms; |
283 } | 289 } |
284 | 290 |
291 void record_fast_reclaim_humongous_stats(size_t total, size_t candidates) { | |
292 _cur_fast_reclaim_humongous_total = total; | |
293 _cur_fast_reclaim_humongous_candidates = candidates; | |
294 } | |
295 | |
296 void record_fast_reclaim_humongous_time_ms(double value, size_t reclaimed) { | |
297 _cur_fast_reclaim_humongous_time_ms = value; | |
298 _cur_fast_reclaim_humongous_reclaimed = reclaimed; | |
299 } | |
300 | |
285 void record_young_cset_choice_time_ms(double time_ms) { | 301 void record_young_cset_choice_time_ms(double time_ms) { |
286 _recorded_young_cset_choice_time_ms = time_ms; | 302 _recorded_young_cset_choice_time_ms = time_ms; |
287 } | 303 } |
288 | 304 |
289 void record_non_young_cset_choice_time_ms(double time_ms) { | 305 void record_non_young_cset_choice_time_ms(double time_ms) { |
346 | 362 |
347 double non_young_free_cset_time_ms() { | 363 double non_young_free_cset_time_ms() { |
348 return _recorded_non_young_free_cset_time_ms; | 364 return _recorded_non_young_free_cset_time_ms; |
349 } | 365 } |
350 | 366 |
367 double fast_reclaim_humongous_time_ms() { | |
368 return _cur_fast_reclaim_humongous_time_ms; | |
369 } | |
370 | |
351 double average_last_update_rs_time() { | 371 double average_last_update_rs_time() { |
352 return _last_update_rs_times_ms.average(); | 372 return _last_update_rs_times_ms.average(); |
353 } | 373 } |
354 | 374 |
355 int sum_last_update_rs_processed_buffers() { | 375 int sum_last_update_rs_processed_buffers() { |