Final methods and the BC-ABI

Bryce McKinlay
Mon Nov 10 06:10:00 GMT 2003

On Nov 10, 2003, at 5:56 PM, Per Bothner wrote:

> Bryce McKinlay wrote:
>> Currently, the compiler does not generate vtable entries at all for 
>> final methods under the "current" ABI. This poses a problem in that 
>> --indirect-dispatch code will not be able to inter-operate with 
>> "current ABI" code. So, I propose that the compiler be changed to 
>> generate vtable entries for all final methods.
> Is this the only (or primary) binary interoperability between the two 
> ABIs?  If the long-term migrataion path is towards the binary 
> compatible ABI as the default, then I don't see why interoperability 
> matters.

Right, the long-term goal is for the BC-ABI to be the default for 
systems with shared libraries. However while the BC-ABI is still in 
development, its very helpful to have interoperability between the two 
ABIs - this way we can build a binary with --indirect-dispatch and have 
it work against a libgcj built with the old ABI.

> In that future I can imagine you'd only use the current ABI on 
> embedded systems without shared libraries.  On such systems wouldn't 
> you want to avoid generating useless vtable entries?

Good point. Perhaps we can make the change in such a way that it can be 
reversed later, when interoperability is no longer required.



More information about the Java mailing list