[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