binary compatibility ABI

Andrew Haley aph@redhat.com
Thu Sep 11 14:32:00 GMT 2003


Bryce McKinlay writes:
 > On Thursday, Sep 11, 2003, at 02:16 Pacific/Auckland, Andrew Haley 
 > wrote:
 > 
 > 
 > > The first time a class is accessed it has to be initialized, but
 > > as long as we have to go through an indirection to invoke a
 > > method we might as well rewrite that indirection once the class
 > > is initialized.
 > 
 > The problem I see with having mutable method tables is the memory
 > ordering problem - it seems that on an MP architecture we would
 > have to put a read barrier before each call or else the method
 > table could be seen as updated before class initialization is seen
 > as complete.

It depends on the architecture.  On those systems that don't support
total store ordering we might well have a problem.  But that's no
reason not to do what is efficient on systems where there isn't such a
problem.  Removing all the initclass calls must surely be a goal.

Andrew.



More information about the Java mailing list