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