[lworld] Integrated: 8334546: [lworld] C2: Calling clone() on non-allocated inline types fails with "Should have been buffered"

Christian Hagedorn chagedorn at openjdk.org
Fri Jun 28 12:14:41 UTC 2024


On Thu, 27 Jun 2024 13:30:55 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:

> We are currently not handling inline types in the `clone()` instrinsic because it was not possible for a value class to implement `Cloneable`. This changed with [JDK-8332243](https://bugs.openjdk.org/browse/JDK-8332243). A value class now trivially returns the inline type because it has no identity. We need to do the same in the C2 intrinsic for `clone()` when we have an inline type (currently, we are hitting an assert later).
> 
> Thanks,
> Christian

This pull request has now been integrated.

Changeset: 09014c77
Author:    Christian Hagedorn <chagedorn at openjdk.org>
Committer: Tobias Hartmann <thartmann at openjdk.org>
URL:       https://git.openjdk.org/valhalla/commit/09014c776169fe92ebbf0f69b8cbd696fb41b217
Stats:     35 lines in 2 files changed: 35 ins; 0 del; 0 mod

8334546: [lworld] C2: Calling clone() on non-allocated inline types fails with "Should have been buffered"

Reviewed-by: thartmann

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

PR: https://git.openjdk.org/valhalla/pull/1149


More information about the valhalla-dev mailing list