[jdk19] RFR: 8290250: Shenandoah: disable Loom for iu mode

Erik Osterlund erik.osterlund at oracle.com
Fri Jul 15 21:37:48 UTC 2022


Hi Zhengyu,

I suppose requires_barriers needs to return true when marking is active with IU, as you need barriers even on newly allocated objects then, as I was discussing.

/Erik

> On 15 Jul 2022, at 19:45, Zhengyu Gu <zgu at openjdk.org> wrote:
> 
> On Wed, 13 Jul 2022 18:39:51 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:
> 
>> Please review this trivial patch to disable Loom for Shenandoah iu mode (an experimental feature).
>> 
>> Test:
>> - [x] hotspot_gc_shenandoah
>> - [x] jdk_loom with Shenandoah + iu
>> - [x] hotspot_loom with Shenandoah + iu
> 
> The problem is beyond C2, `Skynet` fails with -`Xint`:
> 
> 
> Referenced from:
>  interior location: 0x00000000e4de6df0
>  0x00000000e4de6dc8 - klass 0x0000000800036ec0 jdk.internal.vm.StackChunk
>        allocated after mark start
>    not after update watermark
>        marked strong
>        marked weak
>    not in collection set
>  mark: mark(is_neutral no_hash age=0)
>  region: | 1335|R  |BTE     e4dc0000,     e4e00000,     e4e00000|TAMS     e4dc0000|UWM     e4e00000|U   256K|T   256K|G     0B|S     0B|L   256K|CP   0
> 
> Object:
>  0x00000000e4c2e2b0 - klass 0x0000000800036ec0 jdk.internal.vm.StackChunk
>    not allocated after mark start
>    not after update watermark
>    not marked strong
>    not marked weak
>    not in collection set
>  mark: mark(is_neutral no_hash age=0)
>  region: | 1328|R  |BTE     e4c00000,     e4c40000,     e4c40000|TAMS     e4c40000|UWM     e4c40000|U   256K|T   256K|G     0B|S     0B|L 93264B|CP   0
> 
> Forwardee:
>  (the object itself)
> 
> 
> So, it seems that IU mode either misses iu barrier on load or we need to treat new object as grey.
> 
> -------------
> 
> PR: https://git.openjdk.org/jdk19/pull/140


More information about the hotspot-gc-dev mailing list