From ff6d2e4949caaa573ac693562de42aaefa42fee3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=97=B6=E6=97=A0=E4=B8=A4=E4=B8=B6?= <442367943@qq.com> Date: Wed, 15 Apr 2020 15:29:23 +0800 Subject: [PATCH] Remove duplicate code in PoolArena. (#10174) Motivation: Remove duplicate code in PoolArena. Modification: Replace duplicate code with `tinyIdx` and `smallIdx`. Result: Clean code. --- buffer/src/main/java/io/netty/buffer/PoolArena.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/buffer/src/main/java/io/netty/buffer/PoolArena.java b/buffer/src/main/java/io/netty/buffer/PoolArena.java index f58697ee15..2fc1fcad9c 100644 --- a/buffer/src/main/java/io/netty/buffer/PoolArena.java +++ b/buffer/src/main/java/io/netty/buffer/PoolArena.java @@ -321,15 +321,10 @@ abstract class PoolArena implements PoolArenaMetric { int tableIdx; PoolSubpage[] table; if (isTiny(elemSize)) { // < 512 - tableIdx = elemSize >>> 4; + tableIdx = tinyIdx(elemSize); table = tinySubpagePools; } else { - tableIdx = 0; - elemSize >>>= 10; - while (elemSize != 0) { - elemSize >>>= 1; - tableIdx ++; - } + tableIdx = smallIdx(elemSize); table = smallSubpagePools; }