RFR: 8253037: G1: Improve check for string dedup

Kim Barrett kbarrett at openjdk.java.net
Sun Nov 1 07:12:59 UTC 2020


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.

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

Commit messages:
 - new check

Changes: https://git.openjdk.java.net/jdk/pull/981/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=981&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8253037
  Stats: 16 lines in 4 files changed: 13 ins; 0 del; 3 mod
  Patch: https://git.openjdk.java.net/jdk/pull/981.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/981/head:pull/981

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



More information about the hotspot-gc-dev mailing list