RFR(XS) - 8u backport: 8029075: String deduplication in G1

Per Liden per.liden at oracle.com
Mon Mar 24 21:22:37 UTC 2014


Thanks Jesper and Bengt for the reviews.

As it turned out, Thomas pushed some additional backports of G1 fixes and after that there were no longer any merge conflicts for the string dedup backport.

/Per

On 24 Mar 2014, at 12:23, Jesper Wilhelmsson <jesper.wilhelmsson at oracle.com> wrote:

> Looks good!
> /Jesper
> 
> Per Liden skrev 24/3/14 09:53:
>> 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