Lines Matching refs:Vptr

2365 void CodeGenFunction::EmitVTableAssumptionLoad(const VPtr &Vptr, Address This) {  in EmitVTableAssumptionLoad()  argument
2367 CGM.getCXXABI().getVTableAddressPoint(Vptr.Base, Vptr.VTableClass); in EmitVTableAssumptionLoad()
2372 CharUnits NonVirtualOffset = Vptr.Base.getBaseOffset(); in EmitVTableAssumptionLoad()
2377 Vptr.VTableClass, Vptr.NearestVBase); in EmitVTableAssumptionLoad()
2380 GetVTablePtr(This, VTableGlobal->getType(), Vptr.VTableClass); in EmitVTableAssumptionLoad()
2389 for (const VPtr &Vptr : getVTablePointers(ClassDecl)) in EmitVTableAssumptionLoads() local
2390 EmitVTableAssumptionLoad(Vptr, This); in EmitVTableAssumptionLoads()
2552 void CodeGenFunction::InitializeVTablePointer(const VPtr &Vptr) { in InitializeVTablePointer() argument
2556 *this, Vptr.VTableClass, Vptr.Base, Vptr.NearestVBase); in InitializeVTablePointer()
2565 if (CGM.getCXXABI().isVirtualOffsetNeededForVTableField(*this, Vptr)) { in InitializeVTablePointer()
2570 *this, LoadCXXThisAddress(), Vptr.VTableClass, Vptr.NearestVBase); in InitializeVTablePointer()
2571 NonVirtualOffset = Vptr.OffsetFromNearestVBase; in InitializeVTablePointer()
2574 NonVirtualOffset = Vptr.Base.getBaseOffset(); in InitializeVTablePointer()
2581 *this, VTableField, NonVirtualOffset, VirtualOffset, Vptr.VTableClass, in InitializeVTablePointer()
2582 Vptr.NearestVBase); in InitializeVTablePointer()
2593 this, Vptr.Base.getBase(), VTableField.emitRawPointer(*this))) in InitializeVTablePointer()
2602 CGM.DecorateInstructionWithInvariantGroup(Store, Vptr.VTableClass); in InitializeVTablePointer()
2628 VPtr Vptr = {Base, NearestVBase, OffsetFromNearestVBase, VTableClass}; in getVTablePointers() local
2629 Vptrs.push_back(Vptr); in getVTablePointers()
2681 for (const VPtr &Vptr : getVTablePointers(RD)) in InitializeVTablePointers() local
2682 InitializeVTablePointer(Vptr); in InitializeVTablePointers()