Vcall/vbase offset clarification

Jason Merrill jason at cygnus.com
Thu Feb 3 17:27:15 UTC 2000


 >> I'm not quite sure *why* we do it this way.  Why not just have the
 >> C-as-A vtable contain a function which adjusts the `A*' directly to a
 >> `C*'?  I guess we decided we wanted to avoid having to use thunks --
 >> the current scheme allows the cascading entry point approach.  Was
 >> that the reason?

Yes.  This way, all the thunks can be emitted at the beginning of the
function, so we can use a pc-relative branch or just fall through.  The
performance is much better as a result.

Jason




More information about the cxx-abi-dev mailing list