Move vtable component accessors to VTableContext
llvm-svn: 140504
This commit is contained in:
@@ -337,7 +337,8 @@ CodeGenFunction::BuildAppleKextVirtualCall(const CXXMethodDecl *MD,
|
||||
MD = MD->getCanonicalDecl();
|
||||
uint64_t VTableIndex = CGM.getVTableContext().getMethodVTableIndex(MD);
|
||||
uint64_t AddressPoint =
|
||||
CGM.getVTables().getAddressPoint(BaseSubobject(RD, CharUnits::Zero()), RD);
|
||||
CGM.getVTableContext()
|
||||
.getAddressPoint(BaseSubobject(RD, CharUnits::Zero()), RD);
|
||||
VTableIndex += AddressPoint;
|
||||
llvm::Value *VFuncPtr =
|
||||
Builder.CreateConstInBoundsGEP1_64(VTable, VTableIndex, "vfnkxt");
|
||||
@@ -372,7 +373,8 @@ CodeGenFunction::BuildAppleKextVirtualDestructorCall(
|
||||
uint64_t VTableIndex =
|
||||
CGM.getVTableContext().getMethodVTableIndex(GlobalDecl(DD, Type));
|
||||
uint64_t AddressPoint =
|
||||
CGM.getVTables().getAddressPoint(BaseSubobject(RD, CharUnits::Zero()), RD);
|
||||
CGM.getVTableContext()
|
||||
.getAddressPoint(BaseSubobject(RD, CharUnits::Zero()), RD);
|
||||
VTableIndex += AddressPoint;
|
||||
llvm::Value *VFuncPtr =
|
||||
Builder.CreateConstInBoundsGEP1_64(VTable, VTableIndex, "vfnkxt");
|
||||
|
||||
Reference in New Issue
Block a user