vtable layout

Jason Merrill jason at cygnus.com
Mon Aug 30 17:29:23 UTC 1999


>>>>> Christophe de Dinechin <ddd at cup.hp.com> writes:

 >>  > You need to locate them so that the address differences
 >> 
 >>  >    &cvt-B-to-D - &B-in-D-vtable
 >>  >    &cvt-C-to-D - &C-in-D-vtable
 >> 
 >>  > are equal
 >> 
 >> I don't see why.  The D::C and D::B vtables can refer to different
 >> entry points, so they can look in different places to find the 'this'
 >> adjustment.

 > You could do that, but then that's no longer the scheme we  
 > discussed.

OK, so you *were* proposing that we require something like the above?  I
see.  That's why you talked about the worst case of 2N slots.  We'd
need to pad out D's vtable with as many slots as there are slots between
the B and C vptrs.  I agree that this wouldn't require special handling for
virtual bases.

Jason





More information about the cxx-abi-dev mailing list