RFR: 8253037: G1: Improve check for string dedup [v2]

Thomas Schatzl tschatzl at openjdk.java.net
Mon Nov 2 12:31:59 UTC 2020


On Mon, 2 Nov 2020 12:27:10 GMT, Kim Barrett <kbarrett at openjdk.org> wrote:

>> Please review this change to G1 evacuation's checking for string
>> deduplication.  The old code would go out of line to the G1StringDedup
>> support code for every object when deduplication is enabled, only to usually
>> discover the object isn't a string.  Instead we now have a simpl inline
>> test for the combination of dedup enabled and object is a string, and only
>> call out to the dedup support code when that's true.  This eliminates some
>> work for every non-string (non-array) object when dedup is enabled.
>> 
>> The performance impact seems to be pretty small and hard to measure, since
>> enabling deduplication has other costs that seem to overwhelm the cost
>> here.  I'm hoping to improve that with JDK-8254598.
>> 
>> Testing:
>> tier1 on Oracle supported platforms.
>> Performance testing with deduplication enabled.
>
> Kim Barrett has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - comment the combined is_enabled + is_string test
>  - move string check from is_candidate_from_mark to fullgc caller

Marked as reviewed by tschatzl (Reviewer).

-------------

PR: https://git.openjdk.java.net/jdk/pull/981



More information about the hotspot-gc-dev mailing list