From b7e356d5762328613d86bcbb77ae7feb6425730c Mon Sep 17 00:00:00 2001 From: Eugene Rozenfeld Date: Fri, 6 Mar 2020 16:33:42 -0800 Subject: [PATCH] Don't inline StelemRef_Helper. Under some jit stress modes the jit tries to inline StelemRef_Helper into StelemRef. StelemRef is jitted very early and the jit is not yet prepared to handle this inline. Fixes #33298. --- .../src/System/Runtime/CompilerServices/CastHelpers.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/coreclr/src/System.Private.CoreLib/src/System/Runtime/CompilerServices/CastHelpers.cs b/src/coreclr/src/System.Private.CoreLib/src/System/Runtime/CompilerServices/CastHelpers.cs index 660b96e7a00040..74148dda4ee6f3 100644 --- a/src/coreclr/src/System.Private.CoreLib/src/System/Runtime/CompilerServices/CastHelpers.cs +++ b/src/coreclr/src/System.Private.CoreLib/src/System/Runtime/CompilerServices/CastHelpers.cs @@ -558,6 +558,7 @@ private static void StelemRef(Array array, int index, object? obj) [DebuggerHidden] [StackTraceHidden] [DebuggerStepThrough] + [MethodImpl(MethodImplOptions.NoInlining)] private static void StelemRef_Helper(ref object? element, void* elementType, object obj) { CastResult result = TryGet((nuint)RuntimeHelpers.GetMethodTable(obj), (nuint)elementType);