Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp @ 20494:7baf47cb97cb
8048268: G1 Code Root Migration performs poorly
Summary: Replace G1CodeRootSet with a Hashtable based implementation, merge Code Root Migration phase into Code Root Scanning
Reviewed-by: jmasa, brutisso, tschatzl
author | mgerdin |
---|---|
date | Fri, 29 Aug 2014 13:12:21 +0200 |
parents | e8ba50da0de0 |
children | 6948da6d7c13 |
comparison
equal
deleted
inserted
replaced
20493:152cf4afc11f | 20494:7baf47cb97cb |
---|---|
272 misc_time_ms += _cur_collection_par_time_ms; | 272 misc_time_ms += _cur_collection_par_time_ms; |
273 | 273 |
274 // Now subtract the time taken to fix up roots in generated code | 274 // Now subtract the time taken to fix up roots in generated code |
275 misc_time_ms += _cur_collection_code_root_fixup_time_ms; | 275 misc_time_ms += _cur_collection_code_root_fixup_time_ms; |
276 | 276 |
277 // Strong code root migration time | |
278 misc_time_ms += _cur_strong_code_root_migration_time_ms; | |
279 | |
280 // Strong code root purge time | 277 // Strong code root purge time |
281 misc_time_ms += _cur_strong_code_root_purge_time_ms; | 278 misc_time_ms += _cur_strong_code_root_purge_time_ms; |
282 | 279 |
283 if (G1StringDedup::is_enabled()) { | 280 if (G1StringDedup::is_enabled()) { |
284 // String dedup fixup time | 281 // String dedup fixup time |
325 _last_scan_rs_times_ms.print(1, "Scan RS (ms)"); | 322 _last_scan_rs_times_ms.print(1, "Scan RS (ms)"); |
326 _last_strong_code_root_scan_times_ms.print(1, "Code Root Scanning (ms)"); | 323 _last_strong_code_root_scan_times_ms.print(1, "Code Root Scanning (ms)"); |
327 _last_obj_copy_times_ms.print(1, "Object Copy (ms)"); | 324 _last_obj_copy_times_ms.print(1, "Object Copy (ms)"); |
328 } | 325 } |
329 print_stats(1, "Code Root Fixup", _cur_collection_code_root_fixup_time_ms); | 326 print_stats(1, "Code Root Fixup", _cur_collection_code_root_fixup_time_ms); |
330 print_stats(1, "Code Root Migration", _cur_strong_code_root_migration_time_ms); | |
331 print_stats(1, "Code Root Purge", _cur_strong_code_root_purge_time_ms); | 327 print_stats(1, "Code Root Purge", _cur_strong_code_root_purge_time_ms); |
332 if (G1StringDedup::is_enabled()) { | 328 if (G1StringDedup::is_enabled()) { |
333 print_stats(1, "String Dedup Fixup", _cur_string_dedup_fixup_time_ms, _active_gc_threads); | 329 print_stats(1, "String Dedup Fixup", _cur_string_dedup_fixup_time_ms, _active_gc_threads); |
334 _cur_string_dedup_queue_fixup_worker_times_ms.print(2, "Queue Fixup (ms)"); | 330 _cur_string_dedup_queue_fixup_worker_times_ms.print(2, "Queue Fixup (ms)"); |
335 _cur_string_dedup_table_fixup_worker_times_ms.print(2, "Table Fixup (ms)"); | 331 _cur_string_dedup_table_fixup_worker_times_ms.print(2, "Table Fixup (ms)"); |