V3 ABI

Bryce McKinlay bryce@albatross.co.nz
Thu Dec 7 18:11:00 GMT 2000


Per Bothner wrote:

> Alexandre Petit-Bianco <apbianco@cygnus.com> writes:
>
> > I was under the impression that the definition for Object.java for gcj
> > wouldn't change. gcj generated vtable for Object would be created as
> > usual, along with the dummy entries. So only changing
> > java/lang/Object.h would just force the C++ compiler to do what we
> > want. Am I missing something?
>
> I don't know the new C++ ABI.  I vaguely remember that rtti is now at
> negative office in the vtable.  In principle, jc1 should generate the
> same entries at negative office.  However, if they are only needed for
> rtti, it may not matter that much, at least until we have integrated
> Java and C++ rtti mechanisms better.

Right, the "typeinfo pointer" field is at a -1 offset (from the vtable
address). However, I figured that this would be where the java class
pointer would go? Then again, if we want that to actually make  proper
C++ RTTI type_info objects, then I guess dummy entries will need to be
added for both the jclass pointer and the GC descriptor? That should mean
we don't need to change the runtime at all! (except for Object.h).

regards

  [ bryce ]




More information about the Java mailing list