Ok, I've been puzzling over the demos for a few hours, and I'm confused. With the iteration from this fall, where the full set of args were available during the bootstrap, I was able to actually inspect the receiver object and get information from it. Now I don't see how I can do that.
Imagine this case: * All objects are of type RubyObject * The method table is just a hash contained within RubyObject#getMetaClass When doing a dynamic call against one of those objects, there's now no way for me to call getMetaClass on the receiver object to get its method table, and no way for me to look up a named method in that table. I'll keep hunting, but if someone has a hint I'd appreciate it. What I need is essentially this: ... bootstrapDynamic(Object receiver, Class caller, String name, MethodType type) { MethodHandle handle = ((RubyClass)receiver).getMetaClass().findMethodHandle(name, type); CallSite callSite = new CallSite(caller, name, type); callSite.setTarget(handle); return callSite; } I just don't see how I can get access to *my* method tables from within the bootstrap now, since they don't live on a Class or in a global location anywhere. And how would I bootstrap an interpreted method? - Charlie _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev