Arrays.copyOf does not work with value type arrays
Tobias Hartmann
tobias.hartmann at oracle.com
Wed Mar 15 14:51:31 UTC 2017
Hi,
I'm looking into C2 intrinsic support for value types and noticed that below code fails with:
Exception in thread "main" java.lang.BootstrapMethodError: call site initialization exception
at java.lang.invoke.CallSite.makeSite(CallSite.java:347)
at java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:247)
at java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:237)
at Test.main(Test.java:23)
Caused by: java.lang.ClassNotFoundException: java/util/Arrays$copyOf$433071630$${QPoint;}
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:372)
at java.lang.invoke.GenericStaticDispatch.metafactory(GenericStaticDispatch.java:14)
at java.lang.invoke.CallSite.makeSite(CallSite.java:308)
... 3 more
Is this supposed to work with MVT1.0?
Thanks,
Tobias
import java.util.Arrays;
__ByValue final class Point {
final int x;
final int y;
private Point(int x, int y) {
this.x = x;
this.y = y;
}
public static Point createPoint(int x, int y) {
return __Make Point(x, y);
}
}
public class Test {
public static void main(String[] args) {
Point[] src = new Point[10];
Point[] dst = Arrays.copyOf(src, 10);
}
}
More information about the valhalla-dev
mailing list