This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: binary compatibility ABI (was: Re: [boehm-gc] Import 6.3 alpha 1)
- From: Tom Tromey <tromey at redhat dot com>
- To: Bryce McKinlay <bryce at mckinlay dot net dot nz>
- Cc: Jeff Sturm <jsturm at one-point dot com>, Andrew Haley <aph at redhat dot com>, Ranjit Mathew <rmathew at hotmail dot com>, <java at gcc dot gnu dot org>
- Date: 20 Aug 2003 10:54:15 -0600
- Subject: Re: binary compatibility ABI (was: Re: [boehm-gc] Import 6.3 alpha 1)
- References: <839A9B20-CEA8-11D7-AD15-003065F97F7C@mckinlay.net.nz>
- Reply-to: tromey at redhat dot com
>>>>> "Bryce" == Bryce McKinlay <bryce@mckinlay.net.nz> writes:
>>>> static int a, b;
>>>> ...
>>>> return a + b;
Bryce> Yeah. With full binary compatibility, and assuming 'a' and 'b' are in
Bryce> another class, its 5 loads:
Bryce> load offset of a
Bryce> load offset of b
Bryce> load class pointer
Bryce> load a
Bryce> load b
Isn't there a missing `load otable pointer' in here?
And to get the otable, don't we have to dig through the vtable first?
I must still be missing something.
It could be fewer loads, if we put `location of a' and `location of b'
into the current class's otable:
load location of a
load a
load location of b
load b
(Again, `load otable pointer' and other stuff like that is implied.)
Tom