C++ ABI Summary -- 5 August meeting

Jason Merrill jason at cygnus.com
Mon Aug 9 23:58:26 UTC 1999


>>>>> Jim Dehnert <dehnert at baalbek.engr.sgi.com> writes:

 >> A) vararg lists: I'd like to see an indirection in vararg lists, so
 >>    they can be passed through thunks. This is necessary at least for
 >>    the covariant returns, but might have other applications as well.

 > I've opened a new issue for this.  You should provide a proposal if you
 > don't think the underlying C ABI convention is adequate.  Note that we
 > don't require thunks for covariant returns, and are attempting to avoid
 > them in general because the performance impact is significant.

Only for traditional vcall thunks.  Thunks for covariant returns can always
use a PC-relative branch, because all interesting offsets are known at the
time of the function's definition, so all the thunks can be emitted just
before it.

Daveed had talked about being able to use simple fixup thunks for covariant
returns, just overriding the incoming return address; but now that I think
about it, I don't know where we would store the real return address so that
the thunk could find it again.

Jason




More information about the cxx-abi-dev mailing list