diff --git a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Owned.cs b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Owned.cs index b42b90d286..276dee7ed0 100644 --- a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Owned.cs +++ b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Owned.cs @@ -5,6 +5,7 @@ using System; using System.Buffers; using System.Collections.Generic; using System.Linq; +using System.Runtime.CompilerServices; namespace SixLabors.ImageSharp.Memory { @@ -69,14 +70,21 @@ namespace SixLabors.ImageSharp.Memory this.IsValid = false; } + [MethodImpl(MethodImplOptions.AggressiveInlining)] private void EnsureNotDisposed() { - if (this.memoryOwners == null) + if (this.memoryOwners is null) { - throw new ObjectDisposedException(nameof(MemoryGroup)); + ThrowObjectDisposedException(); } } + [MethodImpl(MethodImplOptions.NoInlining)] + private static void ThrowObjectDisposedException() + { + throw new ObjectDisposedException(nameof(MemoryGroup)); + } + internal static void SwapContents(Owned a, Owned b) { a.EnsureNotDisposed();