On Sep 8, 2010, at 12:20 AM, Charles Oliver Nutter wrote:

> How about at an invokeinterface? It appears to collect type profiles,
> but for only resolving to the immediate types, and not the actual
> method-to-be-invoked or the common superclass of both that actually
> provides the implementation...

That's exactly right.  Sounds like CHA (class hierarchy analysis) under 
interfaces would bail you out, at least until you created too many (>1 or >2) 
disjoint IRubyObject implementations.

A related problem may be either (a) the type profile doesn't collect 
general-enough information or (b) we don't have enough type profile points to 
collect specific-enough information.  We can fix (a) by collecting ever fancier 
profile information or (b) by splitting profile points during inlining in early 
tiers.  

(Or (c) use an explicitly controlled templating mechanism like anonymous 
classes.  That may prematurely multiply bytecodes, though.)

-- John

-- 
You received this message because you are subscribed to the Google Groups "JVM 
Languages" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/jvm-languages?hl=en.

Reply via email to