RFR: 8253037: G1: Improve check for string dedup [v2]
Kim Barrett
kbarrett at openjdk.java.net
Mon Nov 2 12:27:10 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.
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
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/981/files
- new: https://git.openjdk.java.net/jdk/pull/981/files/cc583d70..50fb6ad1
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=981&range=01
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=981&range=00-01
Stats: 25 lines in 4 files changed: 6 ins; 7 del; 12 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