This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Reenabling Ada by default


Per Bothner writes:
 > Florian Weimer wrote:
 > 
 > > By the way, have you already decided on the implementation model for
 > > interfaces?  Do you plan to mirror the C++ ABI (which requires one
 > > word in every object for each interface it implements), a "fat
 > > pointers" model (where access-to-interface types include a pointer to
 > > an interface descriptor and the object), or a hybrid (something based
 > > on hashing, for example)?
 > 
 > You might also look at the GCJ way of implementing Java interfaces.
 > An object reference is a plain pointer, and there are not extra
 > per-object "vobject" fields as in C++.  Instead we use a kind of
 > double dispatch using initialization-time-computed indexin, which
 > yields constant-time dispatch.
 > 
 > The GCJ ABI is changing to support binary compatibility; I don't know
 > how this changes the interface implementation.

Not at all: we've managed to work out how to preserve binary
compatibility while maintaining constant-time interface dispatch.  I
checked in the implementation yesterday.

Andrew.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]