From: Ahson Khan Date: Fri, 8 Dec 2017 11:07:16 +0000 (-0800) Subject: Add optional integer offset to OwnedMemory Pin (#15410) X-Git-Tag: accepted/tizen/base/20180629.140029~376 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8931cfa4ebe94f57698b4c1b3ab5689cd467cb8e;p=platform%2Fupstream%2Fcoreclr.git Add optional integer offset to OwnedMemory Pin (#15410) --- diff --git a/src/mscorlib/shared/System/Buffers/MemoryHandle.cs b/src/mscorlib/shared/System/Buffers/MemoryHandle.cs index 6059214..8a6b846 100644 --- a/src/mscorlib/shared/System/Buffers/MemoryHandle.cs +++ b/src/mscorlib/shared/System/Buffers/MemoryHandle.cs @@ -21,18 +21,6 @@ namespace System.Buffers _handle = handle; } - internal void AddOffset(int offset) - { - if (_pointer == null) - { - ThrowHelper.ThrowArgumentNullException(ExceptionArgument.pointer); - } - else - { - _pointer = (void*)((byte*)_pointer + offset); - } - } - [CLSCompliant(false)] public void* Pointer => _pointer; diff --git a/src/mscorlib/shared/System/Buffers/OwnedMemory.cs b/src/mscorlib/shared/System/Buffers/OwnedMemory.cs index 1167670..5ed7d95 100644 --- a/src/mscorlib/shared/System/Buffers/OwnedMemory.cs +++ b/src/mscorlib/shared/System/Buffers/OwnedMemory.cs @@ -25,7 +25,7 @@ namespace System.Buffers } } - public abstract MemoryHandle Pin(); + public abstract MemoryHandle Pin(int offset = 0); protected internal abstract bool TryGetArray(out ArraySegment arraySegment); diff --git a/src/mscorlib/shared/System/Memory.cs b/src/mscorlib/shared/System/Memory.cs index e66a61e..2e85da7 100644 --- a/src/mscorlib/shared/System/Memory.cs +++ b/src/mscorlib/shared/System/Memory.cs @@ -233,8 +233,7 @@ namespace System { if (_index < 0) { - memoryHandle = ((OwnedMemory)_object).Pin(); - memoryHandle.AddOffset((_index & RemoveOwnedFlagBitMask) * Unsafe.SizeOf()); + memoryHandle = ((OwnedMemory)_object).Pin((_index & RemoveOwnedFlagBitMask) * Unsafe.SizeOf()); } else if (typeof(T) == typeof(char) && _object is string s) { diff --git a/src/mscorlib/shared/System/ReadOnlyMemory.cs b/src/mscorlib/shared/System/ReadOnlyMemory.cs index bdf92ff..97b1ab7 100644 --- a/src/mscorlib/shared/System/ReadOnlyMemory.cs +++ b/src/mscorlib/shared/System/ReadOnlyMemory.cs @@ -215,8 +215,7 @@ namespace System { if (_index < 0) { - memoryHandle = ((OwnedMemory)_object).Pin(); - memoryHandle.AddOffset((_index & RemoveOwnedFlagBitMask) * Unsafe.SizeOf()); + memoryHandle = ((OwnedMemory)_object).Pin((_index & RemoveOwnedFlagBitMask) * Unsafe.SizeOf()); } else if (typeof(T) == typeof(char) && _object is string s) {