[lworld+vector] RFR: 8319972: [lworld+vector] Enable intrinsification of Unsafe.finishPrivateBuffer.
Jatin Bhateja
jbhateja at openjdk.org
Thu Nov 16 10:21:52 UTC 2023
On Thu, 16 Nov 2023 08:26:38 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:
> Per my personal understanding, I see that we may miss the memory dependency for above case with the original `fnishPrivateBuffer()` intrinsifaction. But with above changes, it can add the memory dependency to `Unsafe.putDouble`, as `make_from_oop()` can generate the load operations from the private buffer. So the issue is fixing. Right?
>
Yes, idea is to rematerialize scalarized representation only though finishPrivateBuffer.
However, on your observation related to memory dependency binding on finishPrivate buffer is agnostic to intrinsification of putDouble.
> I still cannot understand the relationship with `scalarization` happened between them, as the memory dependence is added (the buffer has def-use) between them, how the scalarization is happened? Please correct me if any misunderstanding!
Scalarization effect is only seen by users of finishPrivateBuffer when InlineTypeNode is rematerialized.
-------------
PR Review Comment: https://git.openjdk.org/valhalla/pull/952#discussion_r1395473361
More information about the valhalla-dev
mailing list