Binary compatibility and finding compiled classes

Bryce McKinlay mckinlay@redhat.com
Wed Oct 13 15:40:00 GMT 2004


Andrew Haley wrote:
>Bryce McKinlay writes:
> > >
> > Exactly, the code generated by the compiler already knows which otable 
> > slot to use. The hashtable would be used to speed up the look-up of 
> > methods when the runtime is filling out the tables when linking a class. 
> > Currently, to go from a {ClassName,MethodName,Signature} to a _Jv_Method 
> > requires linear searching through the class hierarchy. This would speed 
> > up method lookups in reflection and JNI, too. Personally, I'm not 100% 
> > sure that the gains from hash look-ups will outweigh the cost and extra 
> > memory of generating the hash tables, but its definitely something we 
> > need to keep an eye on - linking needs to be as efficient as possible.
>>I'm not sure these are comparable, because the hash tables for class
>and method lookups can be generated at compile time and don't need to
>occupy significantly more memory than the linear lists we have at the
>moment. As far as I can tell, except for the time taken to write the
>code this is a win-win.
>>
OK - but can a hashtable really be made to take up no more space than a 
list and still be an efficient hash? Wouldn't it be just as efficient to 
have the compiler emit the methods in sorted order, and do a binary search?
Bryce


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /