More information...with -Xint I don't get a hard crash, I get this exception:
MemberName.java:406:in `newIllegalArgumentException': java.lang.IllegalArgumentException: cannot spread (java.lang.Object[])boolean to (org.jruby.runtime.ThreadContext,org.jruby.runtime.builtin.IRubyObject,org.jruby.runtime.builtin.IRubyObject,java.lang.String,org.jruby.runtime.builtin.IRubyObject)boolean from MethodHandles.java:859:in `spreadArguments' from MethodHandleImpl.java:312:in `makeGuardWithTest' from MethodHandles.java:1031:in `guardWithTest' from InvokeDynamicSupport.java:67:in `fallback' Seems to be a failure in the spread, no? - Charlie Charles Oliver Nutter wrote: > Ok, I was too intrigued by guardWithTest to not give it a try. Here's > the revised InvokeDynamicSupport I came up with. It seems like things > are wired correctly, but it results in a crash: > > http://gist.github.com/115901 > > It crashes with a message like: > > # A fatal error has been detected by the Java Runtime Environment: > # > # Internal Error (signature.cpp:60), pid=57856, tid=2954375168 > # Error: expecting ( > > I presume this means the guardWithTest stuff isn't quite functional yet. > > A few notes on this: > > * I like this very much; it fits well our current call site logic. I > could also see how easy it would be to chain guardWithTest MHs to create > a polymorphic cache, which is super cool. > * One major improvement on my end would be to get our Ruby method > objects to actually *be* method handles, so they won't require the > intermediate code that, in this version, does nothing more than pass > arguments through. > * guardWithTest brings this much closer to being completely > primitive-MHs all the way through, and I think that's the right way for > us to be moving, yes? > > I'm eager to get more of this stuff wired up. I don't suppose there's > anything folks like me can do to help, is there? > > - Charlie > _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev