getClassAtVTableLocation hunts through virtual bases without using the
MDC layout which is indicative of a bug.
Instead, reuse the getVFPtrOffsets machinery to calculate which
subobject within the MDC is responsible for the vfptr.
Differential D25895
[MS ABI] Reuse getVFPtrOffsets instead of using getClassAtVTableLocation ClosedPublic Authored by majnemer on Oct 21 2016, 8:57 PM.
Details Summary getClassAtVTableLocation hunts through virtual bases without using the Instead, reuse the getVFPtrOffsets machinery to calculate which
Diff Detail
Event Timelinernk edited edge metadata. Comment Actionslgtm
This revision is now accepted and ready to land.Oct 24 2016, 12:33 PM Closed by commit rL285315: [MS ABI] Reuse getVFPtrOffsets instead of using getClassAtVTableLocation (authored by majnemer). · Explain WhyOct 27 2016, 10:21 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 75523 lib/CodeGen/MicrosoftCXXABI.cpp
|
Idle thought for future patches: we should feel ML into adjustThisArgumentForVirtualCall to save the double hash lookup.