happy new year!
Charles Oliver Nutter
charles.nutter at sun.com
Wed Jan 21 23:10:27 PST 2009
Jochen Theodorou wrote:
> Atilla's work looks very much how Groovy used to work in 1.0 till 1.5.
> The upcoming 1.6 is going away from a call oriented MOP to a request
> based MOP. That means we request a callable object and then execute the
> call itself directly from the call site.
This is how JRuby has worked since 1.0, though we do have a small shim
class between the call site and the callable object to handle lookup,
caching, and method_missing logic. But other than that it works very
well, and our dispatch performance is quite good.
> theoretically this can be done with Atilla's MOP too, but we would have
> to use the get method to get something callable and then call it... only
> that we need to transport information like caller, callee, arguments and
> of course methodname. And I am not sure how that would be done.
Atilla's Dynalang project could easily be modified to support the
"callable" mechanism, and indeed would need such a modification to
support both JRuby's current dispatch logic and invokedynamic. I'm
hoping to start contributing to Dynalang very soon.
> Of course suppporting Atilla's MOP as an interface to Groovy's MOP is a
> different story, since we can write a bunch of adapter classes and be
> done withit. Of course the use is then "limited" to interlanguage calls
This is a good initial goal, and we've started looking into doing this
for JRuby as well.
- Charlie
More information about the mlvm-dev
mailing list