Skip to content

Commit

Permalink
Fix regression in IsPrefix / IsSuffix benchmarks (#61935)
Browse files Browse the repository at this point in the history
Mark EndsWith and StartsWith as NoInlining
  • Loading branch information
elinor-fung authored Nov 22, 2021
1 parent 1997bee commit 48fe637
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/libraries/Common/src/Interop/Interop.Collation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

using System;
using System.Globalization;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

internal static partial class Interop
Expand All @@ -25,10 +26,12 @@ internal static partial class Globalization
internal static unsafe partial int LastIndexOf(IntPtr sortHandle, char* target, int cwTargetLength, char* pSource, int cwSourceLength, CompareOptions options, int* matchLengthPtr);

[GeneratedDllImport(Libraries.GlobalizationNative, EntryPoint = "GlobalizationNative_StartsWith", CharSet = CharSet.Unicode)]
[MethodImpl(MethodImplOptions.NoInlining)]
[return: MarshalAs(UnmanagedType.Bool)]
internal static unsafe partial bool StartsWith(IntPtr sortHandle, char* target, int cwTargetLength, char* source, int cwSourceLength, CompareOptions options, int* matchedLength);

[GeneratedDllImport(Libraries.GlobalizationNative, EntryPoint = "GlobalizationNative_EndsWith", CharSet = CharSet.Unicode)]
[MethodImpl(MethodImplOptions.NoInlining)]
[return: MarshalAs(UnmanagedType.Bool)]
internal static unsafe partial bool EndsWith(IntPtr sortHandle, char* target, int cwTargetLength, char* source, int cwSourceLength, CompareOptions options, int* matchedLength);

Expand Down

0 comments on commit 48fe637

Please sign in to comment.