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

Aleksey Shipilev shade at openjdk.java.net
Fri Jan 22 16:27: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`
>  - [x] `tier1` with Shenandoah
>  - [x] `tier2` with Shenandoah

Aleksey Shipilev has updated the pull request incrementally with two additional commits since the last revision:

 - Simplify ShenandoahUpdateHeapRefsTask
 - Fix up generic update references too, introduce CONC_UPDATE

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/2166/files
  - new: https://git.openjdk.java.net/jdk/pull/2166/files/edcab593..a479e7b7

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2166&range=03
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2166&range=02-03

  Stats: 90 lines in 12 files changed: 64 ins; 5 del; 21 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