binary compatibility ABI
Bryce McKinlay
bryce@mckinlay.net.nz
Thu Sep 11 02:34:00 GMT 2003
On Wednesday, Sep 10, 2003, at 23:56 Pacific/Auckland, Andrew Haley
wrote:
>> The method (ie otables/address tables) that a piece of client code
>> uses to resolve the location of a target field *is* an internal
>> issue, between the client code and the runtime - ie it has nothing
>> to do with the target code.
>> But what if the target code *is* the runtime? That's the commonest
> case.
What I mean is, this is an ABI issue only in the sense of how the
client (caller) code and libgcj's runtime class linker interract, not
in how two peices of client code (caller and target) interact. So, in
theory we could implement a new dispatch technique in a future compiler
and runtime, while easily retaining support in the runtime for code
compiled with the existing technique. We could have a version field in
the classes metadata block to support this kind of thing.
Of course there are some basic concepts that are fixed at the ABI
level, for example "member fields can be found at some offset from the
object pointer", but these are fundamental enough that I can't really
imagine them changing.
Regards
Bryce.
More information about the Java
mailing list