On Mon, 25 Aug 2025 06:52:40 GMT, Tobias Hartmann <[email protected]> wrote:
>> @TobiHartmann Ah dummy mistake, I missed the `NOT_PRODUCT` guard, fixed it >> now. > > Hi @merykitty Sorry for the delay in reviewing this, I was busy with the the > [array metadata refactoring](https://github.com/openjdk/valhalla/pull/1452) > and hunting down nasty AArch64 crashes > ([JDK-8364579](https://bugs.openjdk.org/browse/JDK-8364579) / > [JDK-8365996](https://bugs.openjdk.org/browse/JDK-8365996)). This is great > work! I see that you converted the PR back to draft, is it still ready to > review? @TobiHartmann Hi Tobias, I am having difficulties understanding how our current flat accesses deal with GC barriers. IIUC, every time an access is made to a memory region that may contain an oop, we need a GC barrier (which itself may be a nop). However, looking at our current implementation, I only see that being handled for G1GC with `StoreLSpecialNode`. For Serial, Parralel, and Shenandoah, the access is made as if the memory is a long, which I assume would not trigger any GC barrier. When I try to add an assertion that a flat access that contains an oop cannot be made for anything other than G1GC, the assert fires. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1518#issuecomment-3368158931
