Skip to content

Commit 58d6c58

Browse files
Add DebuggerHidden to managed JitHelpers (#106167)
* Consolidate throw helpers * Move remaining simply helpers to the shared location. * Move direct helpers in native AOT to shared location. * Remove ThrowHelpers from suppression XML
1 parent f18294b commit 58d6c58

File tree

12 files changed

+220
-130
lines changed

12 files changed

+220
-130
lines changed

src/coreclr/System.Private.CoreLib/System.Private.CoreLib.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@
111111

112112
<!-- Sources -->
113113
<ItemGroup>
114+
<Compile Include="$(BclSourcesRoot)\Internal\Runtime\CompilerHelpers\ThrowHelpers.cs" />
114115
<Compile Include="$(BclSourcesRoot)\Internal\Runtime\InteropServices\ComActivationContextInternal.cs" />
115116
<Compile Include="$(BclSourcesRoot)\Internal\Runtime\InteropServices\ComponentActivator.CoreCLR.cs" />
116117
<Compile Include="$(BclSourcesRoot)\System\__Canon.cs" />
@@ -231,7 +232,6 @@
231232
<Compile Include="$(BclSourcesRoot)\System\Threading\ThreadPool.CoreCLR.cs" />
232233
<Compile Include="$(BclSourcesRoot)\System\Threading\WaitHandle.CoreCLR.cs" />
233234
<Compile Include="$(BclSourcesRoot)\System\Type.CoreCLR.cs" />
234-
<Compile Include="$(BclSourcesRoot)\System\ThrowHelper.cs" />
235235
<Compile Include="$(BclSourcesRoot)\System\TypedReference.CoreCLR.cs" />
236236
<Compile Include="$(BclSourcesRoot)\System\TypeLoadException.CoreCLR.cs" />
237237
<Compile Include="$(BclSourcesRoot)\System\ValueType.cs" />

src/coreclr/System.Private.CoreLib/src/System/ThrowHelper.cs renamed to src/coreclr/System.Private.CoreLib/src/Internal/Runtime/CompilerHelpers/ThrowHelpers.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
// Licensed to the .NET Foundation under one or more agreements.
22
// The .NET Foundation licenses this file to you under the MIT license.
33

4+
using System.Diagnostics;
45
using System.Diagnostics.CodeAnalysis;
56
using System.Runtime.CompilerServices;
67
using System.Runtime.InteropServices;
78

8-
namespace System
9+
namespace Internal.Runtime.CompilerHelpers
910
{
10-
internal static unsafe partial class ThrowHelper
11+
internal static unsafe partial class ThrowHelpers
1112
{
1213
[DoesNotReturn]
1314
[LibraryImport(RuntimeHelpers.QCall, EntryPoint = "ExceptionNative_ThrowAmbiguousResolutionException")]
1415
private static partial void ThrowAmbiguousResolutionException(MethodTable* targetType, MethodTable* interfaceType, void* methodDesc);
1516

1617
[DoesNotReturn]
18+
[DebuggerHidden]
1719
internal static void ThrowAmbiguousResolutionException(
1820
void* method, // MethodDesc*
1921
void* interfaceType, // MethodTable*
@@ -27,6 +29,7 @@ internal static void ThrowAmbiguousResolutionException(
2729
private static partial void ThrowEntryPointNotFoundException(MethodTable* targetType, MethodTable* interfaceType, void* methodDesc);
2830

2931
[DoesNotReturn]
32+
[DebuggerHidden]
3033
internal static void ThrowEntryPointNotFoundException(
3134
void* method, // MethodDesc*
3235
void* interfaceType, // MethodTable*

src/coreclr/inc/jithelpers.h

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -119,11 +119,11 @@
119119
DYNAMICJITHELPER(CORINFO_HELP_THROW, IL_Throw, METHOD__NIL)
120120
DYNAMICJITHELPER(CORINFO_HELP_RETHROW, IL_Rethrow, METHOD__NIL)
121121
JITHELPER(CORINFO_HELP_USER_BREAKPOINT, JIT_UserBreakpoint, METHOD__NIL)
122-
DYNAMICJITHELPER(CORINFO_HELP_RNGCHKFAIL, NULL, METHOD__THROWHELPER__THROWINDEXOUTOFRANGEEXCEPTION)
123-
DYNAMICJITHELPER(CORINFO_HELP_OVERFLOW, NULL, METHOD__THROWHELPER__THROWOVERFLOWEXCEPTION)
124-
DYNAMICJITHELPER(CORINFO_HELP_THROWDIVZERO, NULL, METHOD__THROWHELPER__THROWDIVIDEBYZEROEXCEPTION)
125-
DYNAMICJITHELPER(CORINFO_HELP_THROWNULLREF, NULL, METHOD__THROWHELPER__THROWNULLREFEXCEPTION)
126-
DYNAMICJITHELPER(CORINFO_HELP_VERIFICATION, NULL, METHOD__THROWHELPER__THROWVERIFICATIONEXCEPTION)
122+
DYNAMICJITHELPER(CORINFO_HELP_RNGCHKFAIL, NULL, METHOD__THROWHELPERS__THROWINDEXOUTOFRANGEEXCEPTION)
123+
DYNAMICJITHELPER(CORINFO_HELP_OVERFLOW, NULL, METHOD__THROWHELPERS__THROWOVERFLOWEXCEPTION)
124+
DYNAMICJITHELPER(CORINFO_HELP_THROWDIVZERO, NULL, METHOD__THROWHELPERS__THROWDIVIDEBYZEROEXCEPTION)
125+
DYNAMICJITHELPER(CORINFO_HELP_THROWNULLREF, NULL, METHOD__THROWHELPERS__THROWNULLREFEXCEPTION)
126+
DYNAMICJITHELPER(CORINFO_HELP_VERIFICATION, NULL, METHOD__THROWHELPERS__THROWVERIFICATIONEXCEPTION)
127127
JITHELPER(CORINFO_HELP_FAIL_FAST, JIT_FailFast, METHOD__NIL)
128128
JITHELPER(CORINFO_HELP_METHOD_ACCESS_EXCEPTION,JIT_ThrowMethodAccessException, METHOD__NIL)
129129
JITHELPER(CORINFO_HELP_FIELD_ACCESS_EXCEPTION,JIT_ThrowFieldAccessException, METHOD__NIL)
@@ -291,13 +291,13 @@
291291
JITHELPER(CORINFO_HELP_LOOP_CLONE_CHOICE_ADDR, JIT_LoopCloneChoiceAddr, METHOD__NIL)
292292
JITHELPER(CORINFO_HELP_DEBUG_LOG_LOOP_CLONING, JIT_DebugLogLoopCloning, METHOD__NIL)
293293

294-
DYNAMICJITHELPER(CORINFO_HELP_THROW_ARGUMENTEXCEPTION, NULL, METHOD__THROWHELPER__THROWARGUMENTEXCEPTION)
295-
DYNAMICJITHELPER(CORINFO_HELP_THROW_ARGUMENTOUTOFRANGEEXCEPTION, NULL, METHOD__THROWHELPER__THROWARGUMENTOUTOFRANGEEXCEPTION)
296-
DYNAMICJITHELPER(CORINFO_HELP_THROW_NOT_IMPLEMENTED, NULL, METHOD__THROWHELPER__THROWNOTIMPLEMENTEDEXCEPTION)
297-
DYNAMICJITHELPER(CORINFO_HELP_THROW_PLATFORM_NOT_SUPPORTED, NULL, METHOD__THROWHELPER__THROWPLATFORMNOTSUPPORTEDEXCEPTION)
298-
DYNAMICJITHELPER(CORINFO_HELP_THROW_TYPE_NOT_SUPPORTED, NULL, METHOD__THROWHELPER__THROWTYPENOTSUPPORTED)
299-
DYNAMICJITHELPER(CORINFO_HELP_THROW_AMBIGUOUS_RESOLUTION_EXCEPTION, NULL, METHOD__THROWHELPER__THROWAMBIGUOUSRESOLUTIONEXCEPTION)
300-
DYNAMICJITHELPER(CORINFO_HELP_THROW_ENTRYPOINT_NOT_FOUND_EXCEPTION, NULL, METHOD__THROWHELPER__THROWENTRYPOINTNOTFOUNDEXCEPTION)
294+
DYNAMICJITHELPER(CORINFO_HELP_THROW_ARGUMENTEXCEPTION, NULL, METHOD__THROWHELPERS__THROWARGUMENTEXCEPTION)
295+
DYNAMICJITHELPER(CORINFO_HELP_THROW_ARGUMENTOUTOFRANGEEXCEPTION, NULL, METHOD__THROWHELPERS__THROWARGUMENTOUTOFRANGEEXCEPTION)
296+
DYNAMICJITHELPER(CORINFO_HELP_THROW_NOT_IMPLEMENTED, NULL, METHOD__THROWHELPERS__THROWNOTIMPLEMENTEDEXCEPTION)
297+
DYNAMICJITHELPER(CORINFO_HELP_THROW_PLATFORM_NOT_SUPPORTED, NULL, METHOD__THROWHELPERS__THROWPLATFORMNOTSUPPORTEDEXCEPTION)
298+
DYNAMICJITHELPER(CORINFO_HELP_THROW_TYPE_NOT_SUPPORTED, NULL, METHOD__THROWHELPERS__THROWTYPENOTSUPPORTED)
299+
DYNAMICJITHELPER(CORINFO_HELP_THROW_AMBIGUOUS_RESOLUTION_EXCEPTION, NULL, METHOD__THROWHELPERS__THROWAMBIGUOUSRESOLUTIONEXCEPTION)
300+
DYNAMICJITHELPER(CORINFO_HELP_THROW_ENTRYPOINT_NOT_FOUND_EXCEPTION, NULL, METHOD__THROWHELPERS__THROWENTRYPOINTNOTFOUNDEXCEPTION)
301301

302302
JITHELPER(CORINFO_HELP_JIT_PINVOKE_BEGIN, JIT_PInvokeBegin, METHOD__NIL)
303303
JITHELPER(CORINFO_HELP_JIT_PINVOKE_END, JIT_PInvokeEnd, METHOD__NIL)

src/coreclr/nativeaot/System.Private.CoreLib/src/CompatibilitySuppressions.xml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -709,10 +709,6 @@
709709
<DiagnosticId>CP0001</DiagnosticId>
710710
<Target>T:Internal.Runtime.CanonTypeKind</Target>
711711
</Suppression>
712-
<Suppression>
713-
<DiagnosticId>CP0001</DiagnosticId>
714-
<Target>T:Internal.Runtime.CompilerHelpers.ThrowHelpers</Target>
715-
</Suppression>
716712
<Suppression>
717713
<DiagnosticId>CP0001</DiagnosticId>
718714
<Target>T:Internal.Runtime.CompilerServices.FunctionPointerOps</Target>

src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/Augments/RuntimeAugments.cs

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
using Internal.Runtime.CompilerHelpers;
3030
using Internal.Runtime.CompilerServices;
3131

32+
using ExceptionStringID = Internal.TypeSystem.ExceptionStringID;
3233
using ReflectionPointer = System.Reflection.Pointer;
3334

3435
namespace Internal.Runtime.Augments
@@ -702,5 +703,45 @@ public static void RhHandleFree(IntPtr handle)
702703
{
703704
RuntimeImports.RhHandleFree(handle);
704705
}
706+
707+
public static void ThrowTypeLoadExceptionWithArgument(ExceptionStringID id, string className, string typeName, string messageArg)
708+
{
709+
throw TypeLoaderExceptionHelper.CreateTypeLoadException(id, className, typeName, messageArg);
710+
}
711+
712+
public static void ThrowTypeLoadException(ExceptionStringID id, string className, string typeName)
713+
{
714+
throw TypeLoaderExceptionHelper.CreateTypeLoadException(id, className, typeName);
715+
}
716+
717+
public static void ThrowMissingMethodException(ExceptionStringID id, string methodName)
718+
{
719+
throw TypeLoaderExceptionHelper.CreateMissingMethodException(id, methodName);
720+
}
721+
722+
public static void ThrowMissingFieldException(ExceptionStringID id, string fieldName)
723+
{
724+
throw TypeLoaderExceptionHelper.CreateMissingFieldException(id, fieldName);
725+
}
726+
727+
public static void ThrowFileNotFoundException(ExceptionStringID id, string fileName)
728+
{
729+
throw TypeLoaderExceptionHelper.CreateFileNotFoundException(id, fileName);
730+
}
731+
732+
public static void ThrowInvalidProgramException(ExceptionStringID id)
733+
{
734+
throw TypeLoaderExceptionHelper.CreateInvalidProgramException(id);
735+
}
736+
737+
public static void ThrowInvalidProgramExceptionWithArgument(ExceptionStringID id, string methodName)
738+
{
739+
throw TypeLoaderExceptionHelper.CreateInvalidProgramException(id, methodName);
740+
}
741+
742+
public static void ThrowBadImageFormatException(ExceptionStringID id)
743+
{
744+
throw TypeLoaderExceptionHelper.CreateBadImageFormatException(id);
745+
}
705746
}
706747
}

src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/CompilerHelpers/ThrowHelpers.cs

Lines changed: 44 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -2,138 +2,116 @@
22
// The .NET Foundation licenses this file to you under the MIT license.
33

44
using System;
5+
using System.Diagnostics;
6+
using System.Diagnostics.CodeAnalysis;
57

68
using Internal.TypeSystem;
79

810
namespace Internal.Runtime.CompilerHelpers
911
{
10-
/// <summary>
11-
/// These methods are used to throw exceptions from generated code. The type and methods
12-
/// need to be public as they constitute a public contract with the NativeAOT toolchain.
13-
/// </summary>
14-
public static class ThrowHelpers
12+
internal static partial class ThrowHelpers
1513
{
14+
[DoesNotReturn]
15+
[DebuggerHidden]
1616
internal static void ThrowBodyRemoved()
1717
{
1818
throw new NotSupportedException(SR.NotSupported_BodyRemoved);
1919
}
2020

21+
[DoesNotReturn]
22+
[DebuggerHidden]
2123
internal static void ThrowFeatureBodyRemoved()
2224
{
2325
throw new NotSupportedException(SR.NotSupported_FeatureBodyRemoved);
2426
}
2527

28+
[DoesNotReturn]
29+
[DebuggerHidden]
2630
internal static void ThrowInstanceBodyRemoved()
2731
{
2832
throw new NotSupportedException(SR.NotSupported_InstanceBodyRemoved);
2933
}
3034

35+
[DoesNotReturn]
36+
[DebuggerHidden]
3137
internal static void ThrowUnavailableType()
3238
{
3339
throw new TypeLoadException(SR.Arg_UnavailableTypeLoadException);
3440
}
3541

36-
public static void ThrowOverflowException()
37-
{
38-
throw new OverflowException();
39-
}
40-
41-
public static void ThrowIndexOutOfRangeException()
42-
{
43-
throw new IndexOutOfRangeException();
44-
}
45-
46-
public static void ThrowNullReferenceException()
47-
{
48-
throw new NullReferenceException();
49-
}
50-
51-
public static void ThrowDivideByZeroException()
52-
{
53-
throw new DivideByZeroException();
54-
}
55-
56-
public static void ThrowArrayTypeMismatchException()
57-
{
58-
throw new ArrayTypeMismatchException();
59-
}
60-
61-
public static void ThrowPlatformNotSupportedException()
62-
{
63-
throw new PlatformNotSupportedException();
64-
}
65-
66-
public static void ThrowNotImplementedException()
67-
{
68-
throw NotImplemented.ByDesign;
69-
}
70-
71-
public static void ThrowNotSupportedException()
72-
{
73-
throw new NotSupportedException();
74-
}
75-
76-
public static void ThrowBadImageFormatException(ExceptionStringID id)
42+
[DoesNotReturn]
43+
[DebuggerHidden]
44+
internal static void ThrowBadImageFormatException(ExceptionStringID id)
7745
{
7846
throw TypeLoaderExceptionHelper.CreateBadImageFormatException(id);
7947
}
8048

81-
public static void ThrowTypeLoadException(ExceptionStringID id, string className, string typeName)
49+
[DoesNotReturn]
50+
[DebuggerHidden]
51+
internal static void ThrowTypeLoadException(ExceptionStringID id, string className, string typeName)
8252
{
8353
throw TypeLoaderExceptionHelper.CreateTypeLoadException(id, className, typeName);
8454
}
8555

86-
public static void ThrowTypeLoadExceptionWithArgument(ExceptionStringID id, string className, string typeName, string messageArg)
56+
[DoesNotReturn]
57+
[DebuggerHidden]
58+
internal static void ThrowTypeLoadExceptionWithArgument(ExceptionStringID id, string className, string typeName, string messageArg)
8759
{
8860
throw TypeLoaderExceptionHelper.CreateTypeLoadException(id, className, typeName, messageArg);
8961
}
9062

91-
public static void ThrowMissingMethodException(ExceptionStringID id, string methodName)
63+
[DoesNotReturn]
64+
[DebuggerHidden]
65+
internal static void ThrowMissingMethodException(ExceptionStringID id, string methodName)
9266
{
9367
throw TypeLoaderExceptionHelper.CreateMissingMethodException(id, methodName);
9468
}
9569

96-
public static void ThrowMissingFieldException(ExceptionStringID id, string fieldName)
70+
[DoesNotReturn]
71+
[DebuggerHidden]
72+
internal static void ThrowMissingFieldException(ExceptionStringID id, string fieldName)
9773
{
9874
throw TypeLoaderExceptionHelper.CreateMissingFieldException(id, fieldName);
9975
}
10076

101-
public static void ThrowFileNotFoundException(ExceptionStringID id, string fileName)
77+
[DoesNotReturn]
78+
[DebuggerHidden]
79+
internal static void ThrowFileNotFoundException(ExceptionStringID id, string fileName)
10280
{
10381
throw TypeLoaderExceptionHelper.CreateFileNotFoundException(id, fileName);
10482
}
10583

106-
public static void ThrowInvalidProgramException(ExceptionStringID id)
84+
[DoesNotReturn]
85+
[DebuggerHidden]
86+
internal static void ThrowInvalidProgramException(ExceptionStringID id)
10787
{
10888
throw TypeLoaderExceptionHelper.CreateInvalidProgramException(id);
10989
}
11090

111-
public static void ThrowInvalidProgramExceptionWithArgument(ExceptionStringID id, string methodName)
91+
[DoesNotReturn]
92+
[DebuggerHidden]
93+
internal static void ThrowInvalidProgramExceptionWithArgument(ExceptionStringID id, string methodName)
11294
{
11395
throw TypeLoaderExceptionHelper.CreateInvalidProgramException(id, methodName);
11496
}
11597

116-
public static void ThrowMarshalDirectiveException(ExceptionStringID id)
98+
[DoesNotReturn]
99+
[DebuggerHidden]
100+
internal static void ThrowMarshalDirectiveException(ExceptionStringID id)
117101
{
118102
throw TypeLoaderExceptionHelper.CreateMarshalDirectiveException(id);
119103
}
120104

121-
public static void ThrowAmbiguousMatchException(ExceptionStringID id)
105+
[DoesNotReturn]
106+
[DebuggerHidden]
107+
internal static void ThrowAmbiguousMatchException(ExceptionStringID id)
122108
{
123109
throw TypeLoaderExceptionHelper.CreateAmbiguousMatchException(id);
124110
}
125111

126-
public static void ThrowArgumentException()
127-
{
128-
throw new ArgumentException();
129-
}
130-
131-
public static void ThrowArgumentOutOfRangeException()
132-
{
133-
throw new ArgumentOutOfRangeException();
134-
}
135-
136-
public static void ThrowNotSupportedInlineArrayEqualsGetHashCode()
112+
[DoesNotReturn]
113+
[DebuggerHidden]
114+
internal static void ThrowNotSupportedInlineArrayEqualsGetHashCode()
137115
{
138116
throw new NotSupportedException(SR.NotSupported_InlineArrayEqualsGetHashCode);
139117
}

src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/TypeSystem/ThrowHelper.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Licensed to the .NET Foundation under one or more agreements.
22
// The .NET Foundation licenses this file to you under the MIT license.
33

4-
using CoreLibThrow = Internal.Runtime.CompilerHelpers.ThrowHelpers;
4+
using CoreLibThrow = Internal.Runtime.Augments.RuntimeAugments;
55

66
namespace Internal.TypeSystem
77
{

src/coreclr/vm/corelib.h

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -641,19 +641,19 @@ DEFINE_METHOD(SPAN_HELPERS, MEMSET, Fill, SM_RefByte_Byt
641641
DEFINE_METHOD(SPAN_HELPERS, MEMZERO, ClearWithoutReferences, SM_RefByte_UIntPtr_RetVoid)
642642
DEFINE_METHOD(SPAN_HELPERS, MEMCOPY, Memmove, SM_RefByte_RefByte_UIntPtr_RetVoid)
643643

644-
DEFINE_CLASS(THROWHELPER, System, ThrowHelper)
645-
DEFINE_METHOD(THROWHELPER, THROWARGUMENTEXCEPTION, ThrowArgumentException, SM_RetVoid)
646-
DEFINE_METHOD(THROWHELPER, THROWARGUMENTOUTOFRANGEEXCEPTION, ThrowArgumentOutOfRangeException, SM_RetVoid)
647-
DEFINE_METHOD(THROWHELPER, THROWINDEXOUTOFRANGEEXCEPTION, ThrowIndexOutOfRangeException, SM_RetVoid)
648-
DEFINE_METHOD(THROWHELPER, THROWNOTIMPLEMENTEDEXCEPTION, ThrowNotImplementedException, SM_RetVoid)
649-
DEFINE_METHOD(THROWHELPER, THROWPLATFORMNOTSUPPORTEDEXCEPTION, ThrowPlatformNotSupportedException, SM_RetVoid)
650-
DEFINE_METHOD(THROWHELPER, THROWTYPENOTSUPPORTED, ThrowTypeNotSupportedException, SM_RetVoid)
651-
DEFINE_METHOD(THROWHELPER, THROWOVERFLOWEXCEPTION, ThrowOverflowException, SM_RetVoid)
652-
DEFINE_METHOD(THROWHELPER, THROWDIVIDEBYZEROEXCEPTION, ThrowDivideByZeroException, SM_RetVoid)
653-
DEFINE_METHOD(THROWHELPER, THROWNULLREFEXCEPTION, ThrowNullReferenceException, SM_RetVoid)
654-
DEFINE_METHOD(THROWHELPER, THROWVERIFICATIONEXCEPTION, ThrowVerificationException, SM_Int_RetVoid)
655-
DEFINE_METHOD(THROWHELPER, THROWAMBIGUOUSRESOLUTIONEXCEPTION, ThrowAmbiguousResolutionException, SM_PtrVoid_PtrVoid_PtrVoid_RetVoid)
656-
DEFINE_METHOD(THROWHELPER, THROWENTRYPOINTNOTFOUNDEXCEPTION, ThrowEntryPointNotFoundException, SM_PtrVoid_PtrVoid_PtrVoid_RetVoid)
644+
DEFINE_CLASS(THROWHELPERS, InternalCompilerHelpers, ThrowHelpers)
645+
DEFINE_METHOD(THROWHELPERS, THROWARGUMENTEXCEPTION, ThrowArgumentException, SM_RetVoid)
646+
DEFINE_METHOD(THROWHELPERS, THROWARGUMENTOUTOFRANGEEXCEPTION, ThrowArgumentOutOfRangeException, SM_RetVoid)
647+
DEFINE_METHOD(THROWHELPERS, THROWINDEXOUTOFRANGEEXCEPTION, ThrowIndexOutOfRangeException, SM_RetVoid)
648+
DEFINE_METHOD(THROWHELPERS, THROWNOTIMPLEMENTEDEXCEPTION, ThrowNotImplementedException, SM_RetVoid)
649+
DEFINE_METHOD(THROWHELPERS, THROWPLATFORMNOTSUPPORTEDEXCEPTION, ThrowPlatformNotSupportedException, SM_RetVoid)
650+
DEFINE_METHOD(THROWHELPERS, THROWTYPENOTSUPPORTED, ThrowTypeNotSupportedException, SM_RetVoid)
651+
DEFINE_METHOD(THROWHELPERS, THROWOVERFLOWEXCEPTION, ThrowOverflowException, SM_RetVoid)
652+
DEFINE_METHOD(THROWHELPERS, THROWDIVIDEBYZEROEXCEPTION, ThrowDivideByZeroException, SM_RetVoid)
653+
DEFINE_METHOD(THROWHELPERS, THROWNULLREFEXCEPTION, ThrowNullReferenceException, SM_RetVoid)
654+
DEFINE_METHOD(THROWHELPERS, THROWVERIFICATIONEXCEPTION, ThrowVerificationException, SM_Int_RetVoid)
655+
DEFINE_METHOD(THROWHELPERS, THROWAMBIGUOUSRESOLUTIONEXCEPTION, ThrowAmbiguousResolutionException, SM_PtrVoid_PtrVoid_PtrVoid_RetVoid)
656+
DEFINE_METHOD(THROWHELPERS, THROWENTRYPOINTNOTFOUNDEXCEPTION, ThrowEntryPointNotFoundException, SM_PtrVoid_PtrVoid_PtrVoid_RetVoid)
657657

658658
DEFINE_CLASS(UNSAFE, CompilerServices, Unsafe)
659659
DEFINE_METHOD(UNSAFE, AS_POINTER, AsPointer, NoSig)

src/coreclr/vm/namespace.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
#define g_IntrinsicsNS g_RuntimeNS ".Intrinsics"
3939
#define g_NumericsNS g_SystemNS ".Numerics"
4040

41+
#define g_InternalCompilerHelpersNS "Internal.Runtime.CompilerHelpers"
4142
#define g_CompilerServicesNS g_RuntimeNS ".CompilerServices"
4243

4344
#define g_ConstrainedExecutionNS g_RuntimeNS ".ConstrainedExecution"

0 commit comments

Comments
 (0)