RFR: 8260106: Shenandoah: refactor reference updating closures and related code [v6]

Aleksey Shipilev shade at openjdk.java.net
Mon Jan 25 15:58:00 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 one additional commit since the last revision:

  Add const

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/2166/files
  - new: https://git.openjdk.java.net/jdk/pull/2166/files/f2c1ecdb..4f30251d

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

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 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