Regression in newest MLVM build

Attila Szegedi szegedia at gmail.com
Sat Jun 11 14:18:01 PDT 2011


And BTW, attempts at using invoke() or invokeExact() didn't work either… They all behave strangely. What's the sanctioned way to pass an array explicitly as a vararg argument?

On Jun 10, 2011, at 2:34 PM, Attila Szegedi wrote:

> I found a regression between Mac OS X MLVM build from April 4 and June 6 (based on bsd-port jdk7-b145). Here's a minimal reproducing testcase:
> 
> public class TestVarArgInvoke {
>   public static void main(String[] args) throws Throwable {
>     java.lang.invoke.MethodHandles.publicLookup().unreflect(
>         TestVarArgInvoke.class.getMethod("x", int.class, int[].class)).invokeWithArguments(
>         new TestVarArgInvoke(), 1, new int[] { 2 });
>   }
> 
>   public void x(int a, int... b) {
>     System.out.println(a);
>     for(int x: b) {
>       System.out.println(x);
>     }
>   }
> }
> 
> main() is expected to successfully invoke the method x(int, int...) and have it print "1\n2\n" (and it does on April 4 MLVM), but it fails with this exception on June 6 MLVM:
> 
> Exception in thread "main" java.lang.ClassCastException: [I cannot be cast to java.lang.Number
> 	at sun.invoke.util.ValueConversions.primitiveConversion(ValueConversions.java:231)
> 	at sun.invoke.util.ValueConversions.unboxInteger(ValueConversions.java:76)
> 	at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:571)
> 	at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:568)
> 	at TestVarArgInvoke.main(TestVarArgInvoke.java:13)
> 
> Attila.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20110611/a371f3e6/attachment.html 


More information about the mlvm-dev mailing list