RFR: 8260106: Shenandoah: simplify maybe_update_with_forwarded and related code [v5]

Aleksey Shipilev shade at openjdk.java.net
Mon Jan 25 14:37:52 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`
>  - [x] `tier1` with Shenandoah
>  - [x] `tier2` with Shenandoah

Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 12 commits:

 - Renames
 - Eliminate UpdateRefsMode altogether
 - Simplify update_with_forwarded
 - Comment updates
 - Merge branch 'master' into JDK-8260106-shenandoah-simplify-updates
 - Simplify ShenandoahUpdateHeapRefsTask
 - Fix up generic update references too, introduce CONC_UPDATE
 - Simplify further after RESOLVE removal
 - Merge branch 'master' into JDK-8260106-shenandoah-simplify-updates
 - Rename maybe to atomic
 - ... and 2 more: https://git.openjdk.java.net/jdk/compare/ca20c63c...f2c1ecdb

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

Changes: https://git.openjdk.java.net/jdk/pull/2166/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2166&range=04
  Stats: 283 lines in 15 files changed: 86 ins; 116 del; 81 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