[cfe-dev] Adding support for multiple non-virtual inheritance for -cxx-abi microsoft

Reid Kleckner rnk at google.com
Mon Apr 8 11:08:11 PDT 2013

On Mon, Apr 8, 2013 at 2:02 PM, Timur Iskhodzhanov <timurrrr at google.com> wrote:
> 2013/4/8 John McCall <rjmccall at apple.com>:
>> I also find it curious that MSVC uses a thunk for member pointers, since
>> the required this-adjustment is already plainly expressible in the member
>> pointer value.
> Me too actually.
> Reid, wdyt?

I think it allows them to avoid the union between non-virtual methods
and virtual methods.  Seems a bit cleaner and more obvious to me, but
it has tradeoffs in terms of code size at the call site and the number
of conditional vs. indirect branches that you have to do:
indirect to thunk and indirect through vtable, vs conditional between
two indirect calls

More information about the cfe-dev mailing list