RFR: 8286829: Shenandoah: fix Shenandoah Loom support [v3]

Zhengyu Gu zgu at openjdk.java.net
Tue May 31 17:45:34 UTC 2022


> Please review the patch that fixes Loom support in Shenandoah GC.
> 
> - stackChunkOop is a special oop that contains stack metadata, we need to utilize nmethod entry barrier to mark, evacuate and update stack metadata.
> - During evacuation and reference updating phase, we can not guarantee all metadata in stackChunkOop is deeply good, so I force it to take slow path for the correctness, will try to optimize it later in separate CR.
> - Shenandoah uses similar way to arm and disarm nmethod as the new mechanism introduced in JDK-8284161. We may want to migrate to it in followup CR.
> 
> Test:  
> - [x] tier1 with ShenandoahGC  (Linux x86_64 and Windows x64)
> - [x] tier2 with Shenandoah GC (Linux x86_64 and Windows x64) 
> - [x] hotspot_gc_shenandoah  on Linux x86_32
> - [x] tier1 with ShenandoahGC + Loom (Linux x86_64 and Windows x64)
> - [x] tier2 with ShenandoahGC + Loom (Linux x86_64 and Windows x64)

Zhengyu Gu has updated the pull request incrementally with two additional commits since the last revision:

 - Fix
 - NMethod::heal_nmethod() does not need to handle ref-update

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/8924/files
  - new: https://git.openjdk.java.net/jdk/pull/8924/files/b86b51b1..ed84a9e6

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

  Stats: 5 lines in 1 file changed: 0 ins; 4 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/8924.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/8924/head:pull/8924

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


More information about the shenandoah-dev mailing list