Binary compatibility for virtual fields

Andrew Haley aph@redhat.com
Sat Sep 20 13:46:00 GMT 2003


Bryce McKinlay writes:
 > On Saturday, Sep 20, 2003, at 04:58 Pacific/Auckland, Andrew Haley 
 > wrote:
 > 
 > > This is a heads up:
 > >
 > > I've got binary compatibility for virtual fields working
 > 
 > Great! Have you run any benchmarks?
No, not yet. Correctness first, y'know? ;-)
I'm just doing the obvious thing using the same mechanism as
-findirect-dispatch for offsets of fields.
 > > If we're going to remove exported symbols from Java libraries, we'll
 > > have to handle static fields and methods as well. I don't imagine
 > > that will be very difficult, and I'll get to it ASAP.
 > 
 > Yeah. After that we'll also need generate class objects at runtime.
 > 
 > > Bryce, you said that libgcj couldn't be built with
 > > -findirect-dispatch. Do you recall what the reason was?
 > 
 > As I recall, somewhere in the runtime the vtables for java.lang.Object 
 > and/or java.lang.Class are referenced directly. So you'd get a link 
 > error for those vtable symbols which won't exist. This problem might 
 > have been fixed since I last checked, however.
'Mkay.
 > > My BC tests are incomplete in that I'm not seeing a failure for
 > >
 > > 	 // FIXME: This does not yet fully conform to binary compatibility
 > > 	 // rules. It will break if a declaration is moved into a
 > > 	 // superinterface.
 > >
 > > I'll add a test for that to Mauve.
 > 
 > BTW: there is a full description of what is lacking for interface calls 
 > in this old post, look for "2. Interface calls":
 > 
 > http://gcc.gnu.org/ml/java/2001-12/msg00209.html
Righto, ta.
Andrew.


More information about the Java mailing list

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