[lworld+vector] RFR: 8319972: [lworld+vector] Enable intrinsification of Unsafe.finishPrivateBuffer. [v4]

Xiaohong Gong xgong at openjdk.org
Wed Nov 22 09:09:29 UTC 2023


On Wed, 22 Nov 2023 07:39:13 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

>> Any feedback on this please?
>
> The whole idea is to avoid scalarization for value objects in laval state and not construct InlineTypeNode till we encounter a finishPrivateBuffer. A value object is transitioned into larval state to make it mutable, since Unsafe.put* APIs do not modify the JVM state hence to be safe it's better to keep value objects as oops b/w make and finish private buffer, patch also disables re-materialization of InlineTypeNode from updated memory state in Unsafe.put* inline expanders.

Yes, I understand your intention. And it makes sense to me. My question is whether we can keep the InlineType with a larval state before, and forbiting the scalarization for it between make/finish private buffer. Changing `InlineType` totally to the oop buffer looks too heavy to me.

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

PR Review Comment: https://git.openjdk.org/valhalla/pull/952#discussion_r1401720310



More information about the valhalla-dev mailing list