Skip to content

Commit a093e30

Browse files
xtqqczzebadrishc
andauthored
Remove unnecessary pinning from UnmanagedMemoryManager (#875)
Co-authored-by: Badrish Chandramouli <badrishc@microsoft.com>
1 parent 2ed1d26 commit a093e30

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

cs/src/core/VarLen/UnmanagedMemoryManager.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
using System;
55
using System.Buffers;
6+
using System.Runtime.CompilerServices;
67
using System.Runtime.InteropServices;
78

89
namespace FASTER.core
@@ -29,11 +30,8 @@ public UnmanagedMemoryManager()
2930
/// <remarks>It is assumed that the span provided is already unmanaged or externally pinned</remarks>
3031
public UnmanagedMemoryManager(Span<T> span)
3132
{
32-
fixed (T* ptr = &MemoryMarshal.GetReference(span))
33-
{
34-
_pointer = ptr;
35-
_length = span.Length;
36-
}
33+
_pointer = (T*)Unsafe.AsPointer(ref MemoryMarshal.GetReference(span));
34+
_length = span.Length;
3735
}
3836

3937
/// <summary>

0 commit comments

Comments
 (0)