RFR(XS) - 8u backport: 8029075: String deduplication in G1
Per Liden
per.liden at oracle.com
Mon Mar 24 08:53:10 UTC 2014
Hi,
Could I please have a couple of reviews of the 8u-backport of String
deduplication.
http://cr.openjdk.java.net/~pliden/8029075/webrev.8u-backport.0/
The patch that went into 9 didn't apply 100% cleanly to 8u, there were
two trivial merge conflicts.
1) The test/gc/g1/TestGCLogMessages.java does not exist in 8u. The dedup
patch added 5 lines in that file to verify some dedup GC log output.
That part was removed from the backport.
2) The other conflict is in g1GCPhaseTimes.cpp, since "Code Root Purge"
was added in 9 the following part needed a one-line adjustment:
--- g1GCPhaseTimes.cpp
+++ g1GCPhaseTimes.cpp
@@ -303,6 +321,11 @@
print_stats(1, "Code Root Fixup",
_cur_collection_code_root_fixup_time_ms);
print_stats(1, "Code Root Migration",
_cur_strong_code_root_migration_time_ms);
print_stats(1, "Code Root Purge", _cur_strong_code_root_purge_time_ms);
+ if (G1StringDedup::is_enabled()) {
+ print_stats(1, "String Dedup Fixup",
_cur_string_dedup_fixup_time_ms, _active_gc_threads);
+ _cur_string_dedup_queue_fixup_worker_times_ms.print(2, "Queue Fixup
(ms)");
+ _cur_string_dedup_table_fixup_worker_times_ms.print(2, "Table Fixup
(ms)");
+ }
print_stats(1, "Clear CT", _cur_clear_ct_time_ms);
double misc_time_ms = pause_time_sec * MILLIUNITS - accounted_time_ms();
print_stats(1, "Other", misc_time_ms);
... and now instead looks like:
--- g1GCPhaseTimes.cpp
+++ g1GCPhaseTimes.cpp
@@ -299,6 +317,11 @@
}
print_stats(1, "Code Root Fixup",
_cur_collection_code_root_fixup_time_ms);
print_stats(1, "Code Root Migration",
_cur_strong_code_root_migration_time_ms);
+ if (G1StringDedup::is_enabled()) {
+ print_stats(1, "String Dedup Fixup",
_cur_string_dedup_fixup_time_ms, _active_gc_threads);
+ _cur_string_dedup_queue_fixup_worker_times_ms.print(2, "Queue Fixup
(ms)");
+ _cur_string_dedup_table_fixup_worker_times_ms.print(2, "Table Fixup
(ms)");
+ }
print_stats(1, "Clear CT", _cur_clear_ct_time_ms);
double misc_time_ms = pause_time_sec * MILLIUNITS - accounted_time_ms();
print_stats(1, "Other", misc_time_ms);
Thanks!
/Per
More information about the hotspot-dev
mailing list