That is an awkward error. For now can you make do with fewer args? -- John (on my iPhone)
On Jul 3, 2009, at 4:01 PM, Charles Oliver Nutter <[email protected]> wrote: > I seem to have stumbled onto a problem with some handles and >10 or >> 11 arguments. > > For this code: > > System.out.println(target.type()); > System.out.println(breakJump.type()); > target = MethodHandles.catchException(target, > JumpException.BreakJump.class, breakJump); > > This pair of method types works: > > (org.jruby.runtime.callsite.CacheEntry, > org.jruby.runtime.ThreadContext, > org.jruby.runtime.builtin.IRubyObject, > org.jruby.runtime.builtin.IRubyObject, > java.lang.String, > org.jruby.runtime.builtin.IRubyObject, > org.jruby.runtime.builtin.IRubyObject,org.jruby.runtime.Block) > org.jruby.runtime.builtin.IRubyObject > (org.jruby.exceptions.JumpException > $BreakJump, > org.jruby.runtime.callsite.CacheEntry, > org.jruby.runtime.ThreadContext, > org.jruby.runtime.builtin.IRubyObject, > org.jruby.runtime.builtin.IRubyObject, > java.lang.String, > org.jruby.runtime.builtin.IRubyObject, > org.jruby.runtime.builtin.IRubyObject,org.jruby.runtime.Block) > org.jruby.runtime.builtin.IRubyObject > > But this pair produces an error: > > (org.jruby.runtime.callsite.CacheEntry, > org.jruby.runtime.ThreadContext, > org.jruby.runtime.builtin.IRubyObject, > org.jruby.runtime.builtin.IRubyObject, > java.lang.String, > org.jruby.runtime.builtin.IRubyObject, > org.jruby.runtime.builtin.IRubyObject, > org.jruby.runtime.builtin.IRubyObject,org.jruby.runtime.Block) > org.jruby.runtime.builtin.IRubyObject > (org.jruby.exceptions.JumpException > $BreakJump, > org.jruby.runtime.callsite.CacheEntry, > org.jruby.runtime.ThreadContext, > org.jruby.runtime.builtin.IRubyObject, > org.jruby.runtime.builtin.IRubyObject, > java.lang.String, > org.jruby.runtime.builtin.IRubyObject, > org.jruby.runtime.builtin.IRubyObject, > org.jruby.runtime.builtin.IRubyObject,org.jruby.runtime.Block) > org.jruby.runtime.builtin.IRubyObject > > Here's the error: > > Caused by: java.lang.IllegalArgumentException: no restarg in > (java.lang.Object)java.lang.Object > at sun.dyn.MethodHandleImpl.newIllegalArgumentException > (MethodHandleImpl.java:841) > at sun.dyn.MethodHandleImpl.spreadArguments(MethodHandleImpl.java: > 484) > at sun.dyn.MethodHandleImpl.makeGuardWithCatch > (MethodHandleImpl.java:806) > at java.dyn.MethodHandles.catchException(MethodHandles.java:1397) > at org.jruby.runtime.invokedynamic.InvokeDynamicSupport.<clinit> > (InvokeDynamicSupport.java:742) > ... 10 more > > Looks like a bug...I have not had a chance to dig into it. > > - Charlie > _______________________________________________ > 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
