@@ -651,8 +651,7 @@ OwnedAddress irgen::projectPhysicalClassMemberAddress(IRGenFunction &IGF,
651651 llvm::Value *base,
652652 SILType baseType,
653653 SILType fieldType,
654- VarDecl *field,
655- GenericSignature fnSig) {
654+ VarDecl *field) {
656655 // If the field is empty, its address doesn't matter.
657656 auto &fieldTI = IGF.getTypeInfo (fieldType);
658657 if (fieldTI.isKnownEmpty (ResilienceExpansion::Maximal)) {
@@ -686,7 +685,7 @@ OwnedAddress irgen::projectPhysicalClassMemberAddress(IRGenFunction &IGF,
686685 }
687686
688687 case FieldAccess::ConstantIndirect: {
689- auto metadata = emitHeapMetadataRefForHeapObject (IGF, base, baseType, fnSig );
688+ auto metadata = emitHeapMetadataRefForHeapObject (IGF, base, baseType);
690689 auto offset = emitClassFieldOffset (IGF, baseClass, field, metadata);
691690 return emitAddressAtOffset (IGF, baseType, base, offset, field);
692691 }
@@ -728,8 +727,7 @@ irgen::getPhysicalClassMemberAccessStrategy(IRGenModule &IGM,
728727
729728Address irgen::emitTailProjection (IRGenFunction &IGF, llvm::Value *Base,
730729 SILType ClassType,
731- SILType TailType,
732- GenericSignature fnSig) {
730+ SILType TailType) {
733731 const ClassTypeInfo &classTI = IGF.getTypeInfo (ClassType).as <ClassTypeInfo>();
734732
735733 llvm::Value *Offset = nullptr ;
@@ -745,8 +743,7 @@ Address irgen::emitTailProjection(IRGenFunction &IGF, llvm::Value *Base,
745743 Align = HeapObjAlign.alignmentAtOffset (ClassSize);
746744 } else {
747745 llvm::Value *metadata = emitHeapMetadataRefForHeapObject (IGF, Base,
748- ClassType,
749- fnSig);
746+ ClassType);
750747 Offset = emitClassResilientInstanceSizeAndAlignMask (IGF,
751748 ClassType.getClassOrBoundGenericClass (),
752749 metadata).first ;
@@ -971,7 +968,6 @@ static void getInstanceSizeAndAlignMask(IRGenFunction &IGF,
971968 SILType selfType,
972969 ClassDecl *selfClass,
973970 llvm::Value *selfValue,
974- GenericSignature fnSig,
975971 llvm::Value *&size,
976972 llvm::Value *&alignMask) {
977973 // Try to determine the size of the object we're deallocating.
@@ -988,7 +984,7 @@ static void getInstanceSizeAndAlignMask(IRGenFunction &IGF,
988984
989985 // Otherwise, get them from the metadata.
990986 llvm::Value *metadata =
991- emitHeapMetadataRefForHeapObject (IGF, selfValue, selfType, fnSig );
987+ emitHeapMetadataRefForHeapObject (IGF, selfValue, selfType);
992988 std::tie (size, alignMask)
993989 = emitClassResilientInstanceSizeAndAlignMask (IGF, selfClass, metadata);
994990}
@@ -1000,8 +996,7 @@ static llvm::Value *emitCastToHeapObject(IRGenFunction &IGF,
1000996
1001997void irgen::emitClassDeallocation (IRGenFunction &IGF,
1002998 SILType selfType,
1003- llvm::Value *selfValue,
1004- GenericSignature fnSig) {
999+ llvm::Value *selfValue) {
10051000 auto *theClass = selfType.getClassOrBoundGenericClass ();
10061001
10071002 // We want to deallocate default actors or potential default
@@ -1033,7 +1028,7 @@ void irgen::emitClassDeallocation(IRGenFunction &IGF,
10331028 }
10341029
10351030 llvm::Value *size, *alignMask;
1036- getInstanceSizeAndAlignMask (IGF, selfType, theClass, selfValue, fnSig,
1031+ getInstanceSizeAndAlignMask (IGF, selfType, theClass, selfValue,
10371032 size, alignMask);
10381033
10391034 selfValue = emitCastToHeapObject (IGF, selfValue);
@@ -1043,13 +1038,12 @@ void irgen::emitClassDeallocation(IRGenFunction &IGF,
10431038void irgen::emitPartialClassDeallocation (IRGenFunction &IGF,
10441039 SILType selfType,
10451040 llvm::Value *selfValue,
1046- llvm::Value *metadataValue,
1047- GenericSignature fnSig) {
1041+ llvm::Value *metadataValue) {
10481042 auto *theClass = selfType.getClassOrBoundGenericClass ();
10491043 assert (theClass->getForeignClassKind () == ClassDecl::ForeignKind::Normal);
10501044
10511045 llvm::Value *size, *alignMask;
1052- getInstanceSizeAndAlignMask (IGF, selfType, theClass, selfValue, fnSig,
1046+ getInstanceSizeAndAlignMask (IGF, selfType, theClass, selfValue,
10531047 size, alignMask);
10541048
10551049 selfValue = IGF.Builder .CreateBitCast (selfValue, IGF.IGM .RefCountedPtrTy );
@@ -3143,7 +3137,6 @@ irgen::emitVirtualMethodValue(IRGenFunction &IGF,
31433137 SILType baseType,
31443138 SILDeclRef method,
31453139 CanSILFunctionType methodType,
3146- GenericSignature fnSig,
31473140 bool useSuperVTable) {
31483141 // Find the metadata.
31493142 llvm::Value *metadata;
@@ -3162,7 +3155,7 @@ irgen::emitVirtualMethodValue(IRGenFunction &IGF,
31623155 metadata = base;
31633156 } else {
31643157 // Otherwise, load the class metadata from the 'self' value's isa pointer.
3165- metadata = emitHeapMetadataRefForHeapObject (IGF, base, baseType, fnSig,
3158+ metadata = emitHeapMetadataRefForHeapObject (IGF, base, baseType,
31663159 /* suppress cast*/ true );
31673160 }
31683161 }
0 commit comments