Final methods and the BC-ABI
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
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