RFR(XS) - 8u backport: 8029075: String deduplication in G1
Bengt Rutisson
bengt.rutisson at oracle.com
Mon Mar 24 11:34:51 UTC 2014
Per,
The merge looks fine to me.
Bengt
On 2014-03-24 09:53, Per Liden wrote:
> 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