diff --git a/src/Perf/IIDOptimizer/SignatureEmitter.cs b/src/Perf/IIDOptimizer/SignatureEmitter.cs index 3b2ad2911..45248a7a6 100644 --- a/src/Perf/IIDOptimizer/SignatureEmitter.cs +++ b/src/Perf/IIDOptimizer/SignatureEmitter.cs @@ -163,18 +163,6 @@ private void GenerateGuidFactoryFromComplexSignature(TypeDefinition implementati getterMethodGensToCacheTypeGens[guidDataGetterMethod.GenericParameters[i]] = cacheType.GenericParameters[i]; } - var instantiatedCacheType = new GenericInstanceType(cacheType); - foreach (var arg in guidDataGetterMethod.GenericParameters) - { - instantiatedCacheType.GenericArguments.Add(arg); - } - - var selfInstantiatedCacheType = new GenericInstanceType(cacheType); - foreach (var param in cacheType.GenericParameters) - { - selfInstantiatedCacheType.GenericArguments.Add(param); - } - var cacheField = new FieldDefinition("iidData", FieldAttributes.Static | FieldAttributes.Assembly, new ArrayType(module.ImportReference(module.TypeSystem.Byte))); cacheType.Fields.Add(cacheField); implementationDetailsType.NestedTypes.Add(cacheType); @@ -185,7 +173,7 @@ private void GenerateGuidFactoryFromComplexSignature(TypeDefinition implementati // In the body of the getter method, return the cache data var getterIL = guidDataGetterMethod.Body.GetILProcessor(); - getterIL.Emit(OpCodes.Ldsfld, new FieldReference(cacheField.Name, cacheField.FieldType, instantiatedCacheType)); + getterIL.Emit(OpCodes.Ldsfld, new FieldReference(cacheField.Name, cacheField.FieldType, cacheType)); getterIL.Emit(OpCodes.Newobj, readOnlySpanOfByteArrayCtor); getterIL.Emit(OpCodes.Ret); @@ -598,7 +586,7 @@ private void GenerateGuidFactoryFromComplexSignature(TypeDefinition implementati il.Emit(OpCodes.Stloc, spanTemp); il.Emit(OpCodes.Ldloca, spanTemp); il.Emit(OpCodes.Call, toArrayMethod); - il.Emit(OpCodes.Stsfld, new FieldReference(cacheField.Name, cacheField.FieldType, selfInstantiatedCacheType)); + il.Emit(OpCodes.Stsfld, new FieldReference(cacheField.Name, cacheField.FieldType, cacheType)); il.Emit(OpCodes.Ret); } }