Hi Atilla. It's a bug. The collector created in sun.dyn.MHI.collectArguments (from ValueConversions.varargsArray) creates an Object[] unconditionally; it needs to be generalized to other element types. In the backtrace you are seeing, F4.invoke_C2 has applied 'filter' to the two incoming boxed ints and gotten an Object[] instead of the int[] required by the 'target', which is a wrapper (via A3.invoke_I3) for your strongly-typed xv function.

-- John


It throws:

Exception in thread "main" java.dyn.WrongMethodTypeException:
[Ljava.lang.Object; cannot be cast to [I
        at sun.dyn.FromGeneric$A3.invoke_I3(FromGeneric.java:543)
        at sun.dyn.FilterGeneric$F4.invoke_C2(FilterGeneric.java:631)
        at sun.dyn.ToGeneric$A4.target(ToGeneric.java:746)
        at sun.dyn.ToGeneric$A4.targetA4(ToGeneric.java:750)
        at sun.dyn.ToGeneric$A4.invoke_I(ToGeneric.java:766)
        at sun.dyn.FromGeneric$A5.invoke_I5(FromGeneric.java:567)
        at java.dyn.MethodHandles.invoke(MethodHandles.java:638)
        at TestCollectArguments.main(TestCollectArguments.java:21)

Seems it has troubles collecting arguments for an int[] vararg.

Attila.

_______________________________________________
mlvm-dev mailing list
[email protected]
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

_______________________________________________
mlvm-dev mailing list
[email protected]
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to