Eager vs Lazy resolution of classes

Bryce McKinlay mckinlay@redhat.com
Thu Jul 22 21:20:00 GMT 2004


Andrew Haley wrote:
>Bryce McKinlay writes:
> > Chris Gray wrote:
> > >IMO any code that relies on this behaviour is broken. If that means that some 
> > >Eclipse 2.x versions were broken and Eclipse 3 is not, then that shows that 
> > >the Eclipse guys are learning as they go along.
> > > 
> > >
> > I agree. I think we could actually support this stuff with the
> > BC-ABI, but we'd have to jump through some hoops to do it. As
> > Andrew suggests, it is something that could be added later, if it
> > proves neccessary, provided we don't do anything to preclude it.
>>It would be fairly easy to support lazy resolution by generating
>accessor methods for static data members and using these instead of
>getting the addresses directly. All you have to do is create a libffi
>thunk that, when called, does the resolution.
>>Actually, I don't think it would be neccessary to do that. Since access 
to a static class field requires a class initialization check to be 
inserted anyway, we'd just need to add hooks to the class linker to 
update the appropriate otable/atable entries in classes that depend on 
it. This would work by putting unlinked java.lang.Class "placeholders" 
in the indirect dispatch tables, and having them resolved when an 
attempt is made to initialize them.
Regards
Bryce


More information about the Java mailing list

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