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.
