diff --git a/src/coreclr/vm/memberload.cpp b/src/coreclr/vm/memberload.cpp index 1cb98fd00b3ed9..7192bd3a53ec1c 100644 --- a/src/coreclr/vm/memberload.cpp +++ b/src/coreclr/vm/memberload.cpp @@ -365,18 +365,9 @@ void MemberLoader::GetDescFromMemberRef(ModuleBase * pModule, if (pFD->IsStatic() && pMT->HasGenericsStaticsInfo()) { - // - // this is duplicated logic GetFieldDescByIndex - // - INDEBUG(mdFieldDef token = pFD->GetMemberDef();) - - DWORD pos = static_cast(pFD - (pMT->GetApproxFieldDescListRaw() + pMT->GetNumIntroducedInstanceFields())); - _ASSERTE(pos >= 0 && pos < pMT->GetNumStaticFields()); - - pFD = pMT->GetGenericsStaticFieldDescs() + pos; - _ASSERTE(pFD->GetMemberDef() == token); - _ASSERTE(!pFD->IsSharedByGenericInstantiations()); - _ASSERTE(pFD->GetEnclosingMethodTable() == pMT); + MethodTable* pFieldMT = pFD->GetApproxEnclosingMethodTable(); + DWORD index = pFieldMT->GetIndexForFieldDesc(pFD); + pFD = pMT->GetFieldDescByIndex(index); } *ppFD = pFD; diff --git a/src/libraries/System.Runtime.Loader/tests/ApplyUpdateTest.cs b/src/libraries/System.Runtime.Loader/tests/ApplyUpdateTest.cs index 799381f87ed0f5..05b3736341b6b8 100644 --- a/src/libraries/System.Runtime.Loader/tests/ApplyUpdateTest.cs +++ b/src/libraries/System.Runtime.Loader/tests/ApplyUpdateTest.cs @@ -837,7 +837,6 @@ public static void TestReflectionAddNewMethod() }); } - [ActiveIssue("https://github.com/dotnet/runtime/issues/87574", TestRuntimes.CoreCLR)] [ConditionalFact(typeof(ApplyUpdateUtil), nameof(ApplyUpdateUtil.IsSupported))] public static void TestGenericAddStaticField() {