Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Commit b29814c

Browse files
authored
General code clean up of System.Memory (#25958)
* Use explicit type instead of var where type can't be inferred easily. * Removing unnecessary use of 'unsafe' and generic type specifiers. * Remove leftover unnecessary generic specifiers.
1 parent c47edd1 commit b29814c

23 files changed

+100
-94
lines changed

src/System.Memory/src/System/Number/Number.NumberBuffer.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ internal ref struct NumberBuffer
3131
public int Scale;
3232
public bool IsNegative;
3333

34-
public unsafe Span<byte> Digits => new Span<byte>(Unsafe.AsPointer<byte>(ref _b0), BufferSize);
34+
public unsafe Span<byte> Digits => new Span<byte>(Unsafe.AsPointer(ref _b0), BufferSize);
3535

36-
public unsafe byte* UnsafeDigits => (byte*)Unsafe.AsPointer<byte>(ref _b0);
36+
public unsafe byte* UnsafeDigits => (byte*)Unsafe.AsPointer(ref _b0);
3737

3838
public int NumDigits => Digits.IndexOf<byte>(0);
3939

src/System.Memory/src/System/SpanHelpers.Clear.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public unsafe static void ClearPointerSizedWithoutReferences(ref byte b, UIntPtr
9696
}
9797
}
9898

99-
public unsafe static void ClearPointerSizedWithReferences(ref IntPtr ip, UIntPtr pointerSizeLength)
99+
public static void ClearPointerSizedWithReferences(ref IntPtr ip, UIntPtr pointerSizeLength)
100100
{
101101
// TODO: Perhaps do switch casing to improve small size perf
102102

src/System.Memory/src/System/SpanHelpers.T.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ public static int LastIndexOf<T>(ref T searchSpace, int searchSpaceLength, ref T
175175
return -1;
176176
}
177177

178-
public static unsafe int LastIndexOf<T>(ref T searchSpace, T value, int length)
178+
public static int LastIndexOf<T>(ref T searchSpace, T value, int length)
179179
where T : IEquatable<T>
180180
{
181181
Debug.Assert(length >= 0);
@@ -243,7 +243,7 @@ public static unsafe int LastIndexOf<T>(ref T searchSpace, T value, int length)
243243
return length + 7;
244244
}
245245

246-
public static unsafe int LastIndexOfAny<T>(ref T searchSpace, T value0, T value1, int length)
246+
public static int LastIndexOfAny<T>(ref T searchSpace, T value0, T value1, int length)
247247
where T : IEquatable<T>
248248
{
249249
Debug.Assert(length >= 0);
@@ -325,7 +325,7 @@ public static unsafe int LastIndexOfAny<T>(ref T searchSpace, T value0, T value1
325325
return length + 7;
326326
}
327327

328-
public static unsafe int LastIndexOfAny<T>(ref T searchSpace, T value0, T value1, T value2, int length)
328+
public static int LastIndexOfAny<T>(ref T searchSpace, T value0, T value1, T value2, int length)
329329
where T : IEquatable<T>
330330
{
331331
Debug.Assert(length >= 0);

src/System.Memory/src/System/SpanHelpers.byte.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,7 @@ public static unsafe int IndexOfAny(ref byte searchSpace, byte value0, byte valu
437437

438438
while ((byte*)nLength > (byte*)index)
439439
{
440-
var vData = Unsafe.ReadUnaligned<Vector<byte>>(ref Unsafe.AddByteOffset(ref searchSpace, index));
440+
Vector<byte> vData = Unsafe.ReadUnaligned<Vector<byte>>(ref Unsafe.AddByteOffset(ref searchSpace, index));
441441
var vMatches = Vector.BitwiseOr(
442442
Vector.Equals(vData, values0),
443443
Vector.Equals(vData, values1));
@@ -572,7 +572,7 @@ public static unsafe int IndexOfAny(ref byte searchSpace, byte value0, byte valu
572572
Vector<byte> values2 = GetVector(value2);
573573
while ((byte*)nLength > (byte*)index)
574574
{
575-
var vData = Unsafe.ReadUnaligned<Vector<byte>>(ref Unsafe.AddByteOffset(ref searchSpace, index));
575+
Vector<byte> vData = Unsafe.ReadUnaligned<Vector<byte>>(ref Unsafe.AddByteOffset(ref searchSpace, index));
576576

577577
var vMatches = Vector.BitwiseOr(
578578
Vector.BitwiseOr(
@@ -707,7 +707,7 @@ public static unsafe int LastIndexOfAny(ref byte searchSpace, byte value0, byte
707707

708708
while ((byte*)nLength > (byte*)(Vector<byte>.Count - 1))
709709
{
710-
var vData = Unsafe.ReadUnaligned<Vector<byte>>(ref Unsafe.AddByteOffset(ref searchSpace, index - Vector<byte>.Count));
710+
Vector<byte> vData = Unsafe.ReadUnaligned<Vector<byte>>(ref Unsafe.AddByteOffset(ref searchSpace, index - Vector<byte>.Count));
711711
var vMatches = Vector.BitwiseOr(
712712
Vector.Equals(vData, values0),
713713
Vector.Equals(vData, values1));
@@ -837,7 +837,7 @@ public static unsafe int LastIndexOfAny(ref byte searchSpace, byte value0, byte
837837
Vector<byte> values2 = GetVector(value2);
838838
while ((byte*)nLength > (byte*)(Vector<byte>.Count - 1))
839839
{
840-
var vData = Unsafe.ReadUnaligned<Vector<byte>>(ref Unsafe.AddByteOffset(ref searchSpace, index - Vector<byte>.Count));
840+
Vector<byte> vData = Unsafe.ReadUnaligned<Vector<byte>>(ref Unsafe.AddByteOffset(ref searchSpace, index - Vector<byte>.Count));
841841

842842
var vMatches = Vector.BitwiseOr(
843843
Vector.BitwiseOr(

src/System.Memory/tests/Base64/Base64TestHelper.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public static void InitalizeDecodableBytes(Span<byte> bytes, int seed = 100)
8787
[Fact]
8888
public static void GenerateEncodingMapAndVerify()
8989
{
90-
var data = new byte[64]; // Base64
90+
byte[] data = new byte[64]; // Base64
9191
for (int i = 0; i < s_characters.Length; i++)
9292
{
9393
data[i] = (byte)s_characters[i];
@@ -98,7 +98,7 @@ public static void GenerateEncodingMapAndVerify()
9898
[Fact]
9999
public static void GenerateDecodingMapAndVerify()
100100
{
101-
var data = new sbyte[256]; // 0 to byte.MaxValue (255)
101+
sbyte[] data = new sbyte[256]; // 0 to byte.MaxValue (255)
102102
for (int i = 0; i < data.Length; i++)
103103
{
104104
data[i] = s_invalidByte;

src/System.Memory/tests/Binary/BinaryReaderUnitTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ public void ReadingStructFieldByFieldOrReadAndReverseEndianness()
375375

376376
ReadOnlySpan<byte> readOnlySpanBE = new ReadOnlySpan<byte>(spanBE.ToArray());
377377

378-
var readStructAndReverse = ReadMachineEndian<TestHelpers.TestStructExplicit>(spanBE);
378+
TestHelpers.TestStructExplicit readStructAndReverse = ReadMachineEndian<TestHelpers.TestStructExplicit>(spanBE);
379379
if (BitConverter.IsLittleEndian)
380380
{
381381
readStructAndReverse.S0 = ReverseEndianness(readStructAndReverse.S0);
@@ -408,7 +408,7 @@ public void ReadingStructFieldByFieldOrReadAndReverseEndianness()
408408
UL1 = ReadUInt64BigEndian(spanBE.Slice(48))
409409
};
410410

411-
var readStructAndReverseFromReadOnlySpan = ReadMachineEndian<TestHelpers.TestStructExplicit>(readOnlySpanBE);
411+
TestHelpers.TestStructExplicit readStructAndReverseFromReadOnlySpan = ReadMachineEndian<TestHelpers.TestStructExplicit>(readOnlySpanBE);
412412
if (BitConverter.IsLittleEndian)
413413
{
414414
readStructAndReverseFromReadOnlySpan.S0 = ReverseEndianness(readStructAndReverseFromReadOnlySpan.S0);

src/System.Memory/tests/Performance/Perf.Base64EncodeDecode.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ private static void Base64Encode(int numberOfBytes)
2222
Base64TestHelper.InitalizeBytes(source);
2323
Span<byte> destination = new byte[Base64.GetMaxEncodedToUtf8Length(numberOfBytes)];
2424

25-
foreach (var iteration in Benchmark.Iterations)
25+
foreach (BenchmarkIteration iteration in Benchmark.Iterations)
2626
{
2727
using (iteration.StartMeasurement())
2828
{
@@ -47,7 +47,7 @@ private static void Base64EncodeDestinationTooSmall(int numberOfBytes)
4747
Base64TestHelper.InitalizeBytes(source);
4848
Span<byte> destination = new byte[Base64.GetMaxEncodedToUtf8Length(numberOfBytes) - 1];
4949

50-
foreach (var iteration in Benchmark.Iterations)
50+
foreach (BenchmarkIteration iteration in Benchmark.Iterations)
5151
{
5252
using (iteration.StartMeasurement())
5353
{
@@ -68,7 +68,7 @@ private static void Base64EncodeBaseline(int numberOfBytes)
6868
Base64TestHelper.InitalizeBytes(source.AsSpan());
6969
var destination = new char[Base64.GetMaxEncodedToUtf8Length(numberOfBytes)];
7070

71-
foreach (var iteration in Benchmark.Iterations)
71+
foreach (BenchmarkIteration iteration in Benchmark.Iterations)
7272
{
7373
using (iteration.StartMeasurement())
7474
{
@@ -90,7 +90,7 @@ private static void Base64Decode(int numberOfBytes)
9090
Span<byte> encoded = new byte[Base64.GetMaxEncodedToUtf8Length(numberOfBytes)];
9191
Base64.EncodeToUtf8(source, encoded, out _, out _);
9292

93-
foreach (var iteration in Benchmark.Iterations)
93+
foreach (BenchmarkIteration iteration in Benchmark.Iterations)
9494
{
9595
using (iteration.StartMeasurement())
9696
{
@@ -118,7 +118,7 @@ private static void Base64DecodeDetinationTooSmall(int numberOfBytes)
118118

119119
source = source.Slice(0, source.Length - 1);
120120

121-
foreach (var iteration in Benchmark.Iterations)
121+
foreach (BenchmarkIteration iteration in Benchmark.Iterations)
122122
{
123123
using (iteration.StartMeasurement())
124124
{
@@ -139,7 +139,7 @@ private static void Base64DecodeBaseline(int numberOfBytes)
139139
Base64TestHelper.InitalizeBytes(source);
140140
ReadOnlySpan<char> encoded = Convert.ToBase64String(source.ToArray()).ToCharArray();
141141

142-
foreach (var iteration in Benchmark.Iterations)
142+
foreach (BenchmarkIteration iteration in Benchmark.Iterations)
143143
{
144144
using (iteration.StartMeasurement())
145145
{
@@ -164,7 +164,7 @@ private static void Base64EncodeInPlace(int numberOfBytes)
164164
Span<byte> backupSpan = decodedSpan.ToArray();
165165

166166
int bytesWritten = 0;
167-
foreach (var iteration in Benchmark.Iterations)
167+
foreach (BenchmarkIteration iteration in Benchmark.Iterations)
168168
{
169169
using (iteration.StartMeasurement())
170170
{
@@ -193,7 +193,7 @@ private static void Base64EncodeInPlaceOnce(int numberOfBytes)
193193
Span<byte> backupSpan = decodedSpan.ToArray();
194194

195195
int bytesWritten = 0;
196-
foreach (var iteration in Benchmark.Iterations)
196+
foreach (BenchmarkIteration iteration in Benchmark.Iterations)
197197
{
198198
backupSpan.CopyTo(decodedSpan);
199199
using (iteration.StartMeasurement())
@@ -223,7 +223,7 @@ private static void Base64DecodeInPlace(int numberOfBytes)
223223
Span<byte> backupSpan = encodedSpan.ToArray();
224224

225225
int bytesWritten = 0;
226-
foreach (var iteration in Benchmark.Iterations)
226+
foreach (BenchmarkIteration iteration in Benchmark.Iterations)
227227
{
228228
using (iteration.StartMeasurement())
229229
{
@@ -248,7 +248,7 @@ private static void Base64DecodeInPlaceOnce(int numberOfBytes)
248248
Span<byte> encodedSpan = new byte[length];
249249

250250
int bytesWritten = 0;
251-
foreach (var iteration in Benchmark.Iterations)
251+
foreach (BenchmarkIteration iteration in Benchmark.Iterations)
252252
{
253253
Base64.EncodeToUtf8(source, encodedSpan, out _, out _);
254254
using (iteration.StartMeasurement())

src/System.Memory/tests/Performance/Perf.MemorySlice.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ private static void Memory_Byte_SliceThenGetSpan(int numberOfBytes)
3030
{
3131
for (int j = 0; j < numberOfSlices; j++)
3232
{
33-
var span = memory.Slice(10, 1).Span;
33+
Span<byte> span = memory.Slice(10, 1).Span;
3434
localInt ^= span[0];
3535
}
3636
}
@@ -56,7 +56,7 @@ private static void Memory_Byte_GetSpanThenSlice(int numberOfBytes)
5656
{
5757
for (int j = 0; j < numberOfSlices; j++)
5858
{
59-
var span = memory.Span.Slice(10, 1);
59+
Span<byte> span = memory.Span.Slice(10, 1);
6060
localInt ^= span[0];
6161
}
6262
}
@@ -83,7 +83,7 @@ private static void ReadOnlyMemory_Byte_GetSpanThenSlice(int numberOfBytes)
8383
{
8484
for (int j = 0; j < numberOfSlices; j++)
8585
{
86-
var span = memory.Span.Slice(10, 1);
86+
ReadOnlySpan<byte> span = memory.Span.Slice(10, 1);
8787
localInt ^= span[0];
8888
}
8989
}
@@ -110,7 +110,7 @@ private static void ReadOnlyMemory_Char_GetSpanThenSlice(int numberOfChars)
110110
{
111111
for (int j = 0; j < numberOfSlices; j++)
112112
{
113-
var span = memory.Span.Slice(10, 1);
113+
ReadOnlySpan<char> span = memory.Span.Slice(10, 1);
114114
localInt ^= span[0];
115115
}
116116
}

src/System.Memory/tests/Performance/Perf.Span.BinaryReadAndWrite.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ private static void ReadStructAndReverseBE()
2020
Span<byte> spanBE = TestHelpers.GetSpanBE();
2121

2222
var readStruct = new TestHelpers.TestStructExplicit();
23-
foreach (var iteration in Benchmark.Iterations)
23+
foreach (BenchmarkIteration iteration in Benchmark.Iterations)
2424
{
2525
using (iteration.StartMeasurement())
2626
{
@@ -55,7 +55,7 @@ private static void ReadStructAndReverseLE()
5555
Span<byte> spanLE = TestHelpers.GetSpanLE();
5656

5757
var readStruct = new TestHelpers.TestStructExplicit();
58-
foreach (var iteration in Benchmark.Iterations)
58+
foreach (BenchmarkIteration iteration in Benchmark.Iterations)
5959
{
6060
using (iteration.StartMeasurement())
6161
{
@@ -90,7 +90,7 @@ private static void ReadStructFieldByFieldBE()
9090
Span<byte> spanBE = TestHelpers.GetSpanBE();
9191

9292
var readStruct = new TestHelpers.TestStructExplicit();
93-
foreach (var iteration in Benchmark.Iterations)
93+
foreach (BenchmarkIteration iteration in Benchmark.Iterations)
9494
{
9595
using (iteration.StartMeasurement())
9696
{
@@ -124,7 +124,7 @@ private static void ReadStructFieldByFieldLE()
124124
Span<byte> spanLE = TestHelpers.GetSpanLE();
125125

126126
var readStruct = new TestHelpers.TestStructExplicit();
127-
foreach (var iteration in Benchmark.Iterations)
127+
foreach (BenchmarkIteration iteration in Benchmark.Iterations)
128128
{
129129
using (iteration.StartMeasurement())
130130
{
@@ -159,7 +159,7 @@ private static void ReadStructFieldByFieldUsingBitConverterLE()
159159
byte[] arrayLE = spanLE.ToArray();
160160

161161
var readStruct = new TestHelpers.TestStructExplicit();
162-
foreach (var iteration in Benchmark.Iterations)
162+
foreach (BenchmarkIteration iteration in Benchmark.Iterations)
163163
{
164164
using (iteration.StartMeasurement())
165165
{
@@ -194,7 +194,7 @@ private static void ReadStructFieldByFieldUsingBitConverterBE()
194194
byte[] arrayBE = spanBE.ToArray();
195195

196196
var readStruct = new TestHelpers.TestStructExplicit();
197-
foreach (var iteration in Benchmark.Iterations)
197+
foreach (BenchmarkIteration iteration in Benchmark.Iterations)
198198
{
199199
using (iteration.StartMeasurement())
200200
{
@@ -242,7 +242,7 @@ private static void MeasureReverseEndianness()
242242
{
243243
var myArray = new int[1000];
244244

245-
foreach (var iteration in Benchmark.Iterations)
245+
foreach (BenchmarkIteration iteration in Benchmark.Iterations)
246246
{
247247
using (iteration.StartMeasurement())
248248
{
@@ -262,7 +262,7 @@ private static void MeasureReverseUsingNtoH()
262262
{
263263
var myArray = new int[1000];
264264

265-
foreach (var iteration in Benchmark.Iterations)
265+
foreach (BenchmarkIteration iteration in Benchmark.Iterations)
266266
{
267267
using (iteration.StartMeasurement())
268268
{

src/System.Memory/tests/Performance/Perf.Span.Clear.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public void Int(int size)
3737
{
3838
var a = new int[size];
3939
var span = new Span<int>(a);
40-
foreach (var iteration in Benchmark.Iterations)
40+
foreach (BenchmarkIteration iteration in Benchmark.Iterations)
4141
{
4242
using (iteration.StartMeasurement())
4343
{

0 commit comments

Comments
 (0)