RFR: 8260106: Shenandoah: simplify maybe_update_with_forwarded and related code

Aleksey Shipilev shade at openjdk.java.net
Wed Jan 20 15:12:59 UTC 2021


We have a block in `ShenandoahHeap::maybe_update_with_forwarded` that is irrelevant after JDK-8231086. Additionally, "resolve and update" paths are really only used by STW GCs, and thus do not require atomic updates. This leads to considerable simplifications in the code, and improves performance on the common paths (especially in fastdebug builds that drop many irrelevant asserts).

Additional testing:
 - [x] `hotspot_gc_shenandoah`
 - [ ] `tier1` with Shenandoah
 - [ ] `tier2` with Shenandoah

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

Commit messages:
 - 8260106: Shenandoah: simplify maybe_update_with_forwarded and related code

Changes: https://git.openjdk.java.net/jdk/pull/2166/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2166&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8260106
  Stats: 147 lines in 4 files changed: 19 ins; 84 del; 44 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2166.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2166/head:pull/2166

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


More information about the shenandoah-dev mailing list