series of switchpoints or better
Jochen Theodorou
blackdrag at gmx.org
Wed Oct 5 23:26:01 UTC 2016
On 06.10.2016 00:51, Charles Oliver Nutter wrote:
[...]
> JRuby does this invalidation
> eagerly, but the cost can be high for changes to classes close to the
> root of the hierarchy. You have fewer guards at each call site, though.
I think that is ok for Groovy.
There is one more special problem I have though: per instance meta
classes. So even if a x and y have the same class as per JVM, they can
have differing meta classes. Which means a switchpoint alone is not
enough... well, trying to get rid of that in the new MOP.
> John's description of how Hotspot does this is also helpful; at least in
> JRuby, searching up-hierarchy for overridden methods is just a name
> lookup since Ruby does not overload.
not overloading solves many problems ;)
> I've prototyped a similar system,
> with a SwitchPoint per method, but ran into some hairy class structures
> that made it complicated. The override search may be the answer for me.
yeah, I can imagine.
bye Jochen
More information about the mlvm-dev
mailing list