From 22060c4390f5782b33009228f683ff0e854729e7 Mon Sep 17 00:00:00 2001 From: mlemanczyk Date: Wed, 12 Apr 2023 23:57:17 +0200 Subject: [PATCH] Tiny cleanup --- Recyclable.Collections/RecyclableList.cs | 34 ++++++++++++------------ 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/Recyclable.Collections/RecyclableList.cs b/Recyclable.Collections/RecyclableList.cs index 31eb0f2..8ed94a0 100644 --- a/Recyclable.Collections/RecyclableList.cs +++ b/Recyclable.Collections/RecyclableList.cs @@ -330,6 +330,23 @@ namespace Recyclable.Collections return (long)newMemoryBlocks.Length << minBlockSizePow2Shift; } + [MethodImpl(MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization)] + protected static void SetupBlockArrayPooling(RecyclableList list, int blockSize, ArrayPool? blockArrayPool = null) + { + list._blockSize = blockSize; + list._blockSizePow2Shift = (byte)(31 - BitOperations.LeadingZeroCount((uint)blockSize)); + if (blockSize >= RecyclableDefaults.MinPooledArrayLength) + { + list._blockPoolingRequired = true; + list._blockArrayPool = blockArrayPool ?? RecyclableArrayPool.Shared(blockSize); + } + else + { + list._blockPoolingRequired = false; + list._blockArrayPool = RecyclableArrayPool.Null; + } + } + [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.AggressiveOptimization)] public static long EnsureCapacity(RecyclableList list, long requestedCapacity) { @@ -349,23 +366,6 @@ namespace Recyclable.Collections return newCapacity; } - [MethodImpl(MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization)] - protected static void SetupBlockArrayPooling(RecyclableList list, int blockSize, ArrayPool? blockArrayPool = null) - { - list._blockSize = blockSize; - list._blockSizePow2Shift = (byte)(31 - BitOperations.LeadingZeroCount((uint)blockSize)); - if (blockSize >= RecyclableDefaults.MinPooledArrayLength) - { - list._blockPoolingRequired = true; - list._blockArrayPool = blockArrayPool ?? RecyclableArrayPool.Shared(blockSize); - } - else - { - list._blockPoolingRequired = false; - list._blockArrayPool = RecyclableArrayPool.Null; - } - } - [MethodImpl(MethodImplOptions.AggressiveOptimization)] #pragma warning disable CS8618 // It's set by SetupBlockArrayPooling public RecyclableList(int minBlockSize = RecyclableDefaults.BlockSize, long? expectedItemsCount = default, ArrayPool? memoryBlocksPool = default, ArrayPool? blockArrayPool = default)