On 05/26/2011 12:33 PM, Charles Oliver Nutter wrote: > On Thu, May 26, 2011 at 5:25 AM, Rémi Forax<fo...@univ-mlv.fr> wrote: >> Charles, >> why do you use IRubyObject exactly ? >> why not using Object instead ? >> >> I use Object in PHP.reboot and see no problem. > Legacy, mostly... JRuby still supports Java 5 and 6, which limits how > specialized we can make call paths. Requiring that everything be > IRubyObject means we always have only a single invokeinterface to > retrieve metaclass, access "instance variables", and so on. > > JRuby designed from scratch today would certainly use Object.
For the metaclass, the idea is to not retrieve the metaclass in the fast path, if you have one Java class for one ruby class and a 1 to 1 relation between a class and a metaclass, checking the class and the SwitchPoint of the metaclass is sufficient (because you can bind the switch point). > - Charlie Rémi _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev