diff options
author | Maryam Ariyan <maryam.ariyan@microsoft.com> | 2018-05-14 10:50:45 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-14 10:50:45 -0700 |
commit | 612a944e186660e25791e898920aaadbf11d6dc1 (patch) | |
tree | f1796b337095c50a60a71196f379d9109974a5d1 /src/System.Private.CoreLib/shared/Internal | |
parent | cf7489c07eafed047b776a8219d701215fbc6afe (diff) | |
download | coreclr-612a944e186660e25791e898920aaadbf11d6dc1.tar.gz coreclr-612a944e186660e25791e898920aaadbf11d6dc1.tar.bz2 coreclr-612a944e186660e25791e898920aaadbf11d6dc1.zip |
Moving ConcurrentQueue to shared folder (#17956)
* Moving ConcurrentQueue to shared folder
Fixes: #17751
Diffstat (limited to 'src/System.Private.CoreLib/shared/Internal')
-rw-r--r-- | src/System.Private.CoreLib/shared/Internal/Padding.cs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/System.Private.CoreLib/shared/Internal/Padding.cs b/src/System.Private.CoreLib/shared/Internal/Padding.cs new file mode 100644 index 0000000000..14bf998bab --- /dev/null +++ b/src/System.Private.CoreLib/shared/Internal/Padding.cs @@ -0,0 +1,26 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Runtime.InteropServices; + +namespace Internal +{ + /// <summary>A class for common padding constants and eventually routines.</summary> + internal static class PaddingHelpers + { + /// <summary>A size greater than or equal to the size of the most common CPU cache lines.</summary> +#if ARM64 + internal const int CACHE_LINE_SIZE = 128; +#else + internal const int CACHE_LINE_SIZE = 64; +#endif + } + + /// <summary>Padding structure used to minimize false sharing</summary> + [StructLayout(LayoutKind.Explicit, Size = PaddingHelpers.CACHE_LINE_SIZE - sizeof(int))] + internal struct PaddingFor32 + { + } +} + |