Binary compatibility for virtual fields

Bryce McKinlay bryce@mckinlay.net.nz
Sat Sep 20 04:25:00 GMT 2003


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?

> 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.

> 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

Regards

Bryce.




More information about the Java mailing list