Re: ABI

Andrew Haley <[email protected]> Fri, 12 Apr 2013 10:21:24 +0100
Newsgroups gmane.comp.gcc.java.devel
Message-ID <[email protected]>
On 04/11/2013 10:42 PM, Bryce McKinlay wrote:
> On Thu, Apr 11, 2013 at 12:56 PM, Bucher Fabio <[email protected]> wrote:
> 
>> I am looking for the ABI the GCJ uses. Wich file contains the information a= =3D bout it?
>>
>> Is it in the sourcecode or exist a pdf-documantation?
> 
> GCJ actually has two ABIs. The first, "old ABI" mimics the C++ ABI in
> most respects: C++ code can call Java classes as if they were C++,
> more-or-less. This results in a "brittle" ABI: any non-trivial change
> to an underlying library requires re-compilation of binaries built
> against it.
> 
> The second, "BC ABI" (enabled with --indirect-dispatch) changes the
> way things like method calls, field accesses, and class loading work
> so that compiled code more closely adheres to the binary compatibility
> rules of Java bytecode.

Ah, good point.  I presumed that the question was about the C++ ABI,
since that's the only thing that's really externally visible.

Andrew.