From e6d7e163bac8d51bc0ab711fe510dd570f0a62c0 Mon Sep 17 00:00:00 2001 From: Kunal Pathak Date: Fri, 16 Sep 2022 14:57:50 -0700 Subject: [PATCH 1/2] use noctor version once class is initialized --- src/coreclr/vm/jitinterface.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/coreclr/vm/jitinterface.cpp b/src/coreclr/vm/jitinterface.cpp index fb46cde8964eb4..7bd1802c5c2c97 100644 --- a/src/coreclr/vm/jitinterface.cpp +++ b/src/coreclr/vm/jitinterface.cpp @@ -1302,7 +1302,7 @@ CorInfoHelpFunc CEEInfo::getSharedStaticsHelper(FieldDesc * pField, MethodTable helper += delta; } else - if (!pFieldMT->HasClassConstructor() && !pFieldMT->HasBoxedRegularStatics()) + if ((!pFieldMT->HasClassConstructor() || pFieldMT->IsClassInited()) && !pFieldMT->HasBoxedRegularStatics()) { const int delta = CORINFO_HELP_GETSHARED_GCSTATIC_BASE_NOCTOR - CORINFO_HELP_GETSHARED_GCSTATIC_BASE; From 38e3518b295d7b166ec2d9bd4daacf6f032aeea9 Mon Sep 17 00:00:00 2001 From: Kunal Pathak Date: Fri, 16 Sep 2022 17:56:48 -0700 Subject: [PATCH 2/2] review feedback --- src/coreclr/vm/jitinterface.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/coreclr/vm/jitinterface.cpp b/src/coreclr/vm/jitinterface.cpp index 7bd1802c5c2c97..e02cc7caffb7fa 100644 --- a/src/coreclr/vm/jitinterface.cpp +++ b/src/coreclr/vm/jitinterface.cpp @@ -1302,7 +1302,7 @@ CorInfoHelpFunc CEEInfo::getSharedStaticsHelper(FieldDesc * pField, MethodTable helper += delta; } else - if ((!pFieldMT->HasClassConstructor() || pFieldMT->IsClassInited()) && !pFieldMT->HasBoxedRegularStatics()) + if ((!pFieldMT->HasClassConstructor() && !pFieldMT->HasBoxedRegularStatics()) || pFieldMT->IsClassInited()) { const int delta = CORINFO_HELP_GETSHARED_GCSTATIC_BASE_NOCTOR - CORINFO_HELP_GETSHARED_GCSTATIC_BASE;