From 9c06da6a34fcefa6fb37776ac57b80730e37387c Mon Sep 17 00:00:00 2001 From: Stephen Toub Date: Fri, 9 Dec 2016 10:21:32 -0500 Subject: More ordering consistency - "static unsafe" instead of "unsafe static" - "extern unsafe" instead of "unsafe extern" - "protected internal" instead of "internal protected" --- src/System.Runtime.CompilerServices.Unsafe/tests/UnsafeTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/System.Runtime.CompilerServices.Unsafe/tests') diff --git a/src/System.Runtime.CompilerServices.Unsafe/tests/UnsafeTests.cs b/src/System.Runtime.CompilerServices.Unsafe/tests/UnsafeTests.cs index ba6ecb1737..84455780e9 100644 --- a/src/System.Runtime.CompilerServices.Unsafe/tests/UnsafeTests.cs +++ b/src/System.Runtime.CompilerServices.Unsafe/tests/UnsafeTests.cs @@ -419,7 +419,7 @@ namespace System.Runtime.CompilerServices } [Fact] - public unsafe static void AsRef() + public static unsafe void AsRef() { byte[] b = new byte[4] { 0x42, 0x42, 0x42, 0x42 }; fixed (byte * p = b) -- cgit v1.2.3 From 60084eb386db5e894348ac2ec0b890230ee238ab Mon Sep 17 00:00:00 2001 From: nietras Date: Thu, 15 Dec 2016 15:22:32 +0100 Subject: S.R.CS.Unsafe: Add CopyBlock/CopyBlockUnaligned and InitBlock/InitBlockUnaligned for ref byte (#13848) * S.R.CS.Unsafe: Add CopyBlock/CopyBlockUnaligned for (ref T destination, ref T source, int elementCount) * S.R.CS.Unsafe: Remove new and existing InitBlock/CopyBlock* overloads taking UIntPtr as byteCount. --- .../tests/UnsafeTests.cs | 25 +++++++++++----------- 1 file changed, 12 insertions(+), 13 deletions(-) (limited to 'src/System.Runtime.CompilerServices.Unsafe/tests') diff --git a/src/System.Runtime.CompilerServices.Unsafe/tests/UnsafeTests.cs b/src/System.Runtime.CompilerServices.Unsafe/tests/UnsafeTests.cs index 84455780e9..7511966b99 100644 --- a/src/System.Runtime.CompilerServices.Unsafe/tests/UnsafeTests.cs +++ b/src/System.Runtime.CompilerServices.Unsafe/tests/UnsafeTests.cs @@ -181,10 +181,10 @@ namespace System.Runtime.CompilerServices [Theory] [MemberData(nameof(InitBlockData))] - public static unsafe void InitBlockUIntPtrStack(int numBytes, byte value) + public static unsafe void InitBlockRefStack(int numBytes, byte value) { byte* stackPtr = stackalloc byte[numBytes]; - Unsafe.InitBlock(stackPtr, value, (UIntPtr)numBytes); + Unsafe.InitBlock(ref *stackPtr, value, (uint)numBytes); for (int i = 0; i < numBytes; i++) { Assert.Equal(stackPtr[i], value); @@ -193,11 +193,11 @@ namespace System.Runtime.CompilerServices [Theory] [MemberData(nameof(InitBlockData))] - public static unsafe void InitBlockUIntPtrUnmanaged(int numBytes, byte value) + public static unsafe void InitBlockRefUnmanaged(int numBytes, byte value) { IntPtr allocatedMemory = Marshal.AllocCoTaskMem(numBytes); byte* bytePtr = (byte*)allocatedMemory.ToPointer(); - Unsafe.InitBlock(bytePtr, value, (UIntPtr)numBytes); + Unsafe.InitBlock(ref *bytePtr, value, (uint)numBytes); for (int i = 0; i < numBytes; i++) { Assert.Equal(bytePtr[i], value); @@ -232,11 +232,11 @@ namespace System.Runtime.CompilerServices [Theory] [MemberData(nameof(InitBlockData))] - public static unsafe void InitBlockUnalignedUIntPtrStack(int numBytes, byte value) + public static unsafe void InitBlockUnalignedRefStack(int numBytes, byte value) { byte* stackPtr = stackalloc byte[numBytes + 1]; stackPtr += 1; // +1 = make unaligned - Unsafe.InitBlockUnaligned(stackPtr, value, (UIntPtr)numBytes); + Unsafe.InitBlockUnaligned(ref *stackPtr, value, (uint)numBytes); for (int i = 0; i < numBytes; i++) { Assert.Equal(stackPtr[i], value); @@ -245,11 +245,11 @@ namespace System.Runtime.CompilerServices [Theory] [MemberData(nameof(InitBlockData))] - public static unsafe void InitBlockUnalignedUIntPtrUnmanaged(int numBytes, byte value) + public static unsafe void InitBlockUnalignedRefUnmanaged(int numBytes, byte value) { IntPtr allocatedMemory = Marshal.AllocCoTaskMem(numBytes + 1); byte* bytePtr = (byte*)allocatedMemory.ToPointer() + 1; // +1 = make unaligned - Unsafe.InitBlockUnaligned(bytePtr, value, (UIntPtr)numBytes); + Unsafe.InitBlockUnaligned(ref *bytePtr, value, (uint)numBytes); for (int i = 0; i < numBytes; i++) { Assert.Equal(bytePtr[i], value); @@ -291,7 +291,7 @@ namespace System.Runtime.CompilerServices [Theory] [MemberData(nameof(CopyBlockData))] - public static unsafe void CopyBlockUIntPtr(int numBytes) + public static unsafe void CopyBlockRef(int numBytes) { byte* source = stackalloc byte[numBytes]; byte* destination = stackalloc byte[numBytes]; @@ -302,7 +302,7 @@ namespace System.Runtime.CompilerServices source[i] = value; } - Unsafe.CopyBlock(destination, source, (UIntPtr)numBytes); + Unsafe.CopyBlock(ref destination[0], ref source[0], (uint)numBytes); for (int i = 0; i < numBytes; i++) { @@ -337,10 +337,9 @@ namespace System.Runtime.CompilerServices } } - [Theory] [MemberData(nameof(CopyBlockData))] - public static unsafe void CopyBlockUnalignedUIntPtr(int numBytes) + public static unsafe void CopyBlockUnalignedRef(int numBytes) { byte* source = stackalloc byte[numBytes + 1]; byte* destination = stackalloc byte[numBytes + 1]; @@ -353,7 +352,7 @@ namespace System.Runtime.CompilerServices source[i] = value; } - Unsafe.CopyBlockUnaligned(destination, source, (UIntPtr)numBytes); + Unsafe.CopyBlockUnaligned(ref destination[0], ref source[0], (uint)numBytes); for (int i = 0; i < numBytes; i++) { -- cgit v1.2.3