public class org.eclipse.jetty.io.MappedByteBufferPool extends org.eclipse.jetty.io.AbstractByteBufferPool
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jetty.io.MappedByteBufferPool
  super_class: org.eclipse.jetty.io.AbstractByteBufferPool
{
  private static final org.slf4j.Logger LOG;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.util.concurrent.ConcurrentMap<java.lang.Integer, org.eclipse.jetty.io.ByteBufferPool$Bucket> _directBuffers;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Integer;Lorg/eclipse/jetty/io/ByteBufferPool$Bucket;>;

  private final java.util.concurrent.ConcurrentMap<java.lang.Integer, org.eclipse.jetty.io.ByteBufferPool$Bucket> _heapBuffers;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Integer;Lorg/eclipse/jetty/io/ByteBufferPool$Bucket;>;

  private final java.util.function.Function<java.lang.Integer, org.eclipse.jetty.io.ByteBufferPool$Bucket> _newBucket;
    descriptor: Ljava/util/function/Function;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Function<Ljava/lang/Integer;Lorg/eclipse/jetty/io/ByteBufferPool$Bucket;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 43
            ldc Lorg/eclipse/jetty/io/MappedByteBufferPool;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.eclipse.jetty.io.MappedByteBufferPool.LOG:Lorg/slf4j/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
         0: .line 54
            aload 0 /* this */
            iconst_m1
            invokespecial org.eclipse.jetty.io.MappedByteBufferPool.<init>:(I)V
         1: .line 55
            return
        end local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jetty/io/MappedByteBufferPool;

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
        start local 1 // int factor
         0: .line 64
            aload 0 /* this */
            iload 1 /* factor */
            iconst_m1
            invokespecial org.eclipse.jetty.io.MappedByteBufferPool.<init>:(II)V
         1: .line 65
            return
        end local 1 // int factor
        end local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/eclipse/jetty/io/MappedByteBufferPool;
            0    2     1  factor  I
    MethodParameters:
        Name  Flags
      factor  

  public void <init>(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
        start local 1 // int factor
        start local 2 // int maxQueueLength
         0: .line 75
            aload 0 /* this */
            iload 1 /* factor */
            iload 2 /* maxQueueLength */
            aconst_null
            invokespecial org.eclipse.jetty.io.MappedByteBufferPool.<init>:(IILjava/util/function/Function;)V
         1: .line 76
            return
        end local 2 // int maxQueueLength
        end local 1 // int factor
        end local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/eclipse/jetty/io/MappedByteBufferPool;
            0    2     1          factor  I
            0    2     2  maxQueueLength  I
    MethodParameters:
                Name  Flags
      factor          
      maxQueueLength  

  public void <init>(int, int, java.util.function.Function<java.lang.Integer, org.eclipse.jetty.io.ByteBufferPool$Bucket>);
    descriptor: (IILjava/util/function/Function;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
        start local 1 // int factor
        start local 2 // int maxQueueLength
        start local 3 // java.util.function.Function newBucket
         0: .line 87
            aload 0 /* this */
            iload 1 /* factor */
            iload 2 /* maxQueueLength */
            aload 3 /* newBucket */
            ldc -1
            ldc -1
            invokespecial org.eclipse.jetty.io.MappedByteBufferPool.<init>:(IILjava/util/function/Function;JJ)V
         1: .line 88
            return
        end local 3 // java.util.function.Function newBucket
        end local 2 // int maxQueueLength
        end local 1 // int factor
        end local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/eclipse/jetty/io/MappedByteBufferPool;
            0    2     1          factor  I
            0    2     2  maxQueueLength  I
            0    2     3       newBucket  Ljava/util/function/Function<Ljava/lang/Integer;Lorg/eclipse/jetty/io/ByteBufferPool$Bucket;>;
    Signature: (IILjava/util/function/Function<Ljava/lang/Integer;Lorg/eclipse/jetty/io/ByteBufferPool$Bucket;>;)V
    MethodParameters:
                Name  Flags
      factor          
      maxQueueLength  
      newBucket       

  public void <init>(int, int, java.util.function.Function<java.lang.Integer, org.eclipse.jetty.io.ByteBufferPool$Bucket>, long, );
    descriptor: (IILjava/util/function/Function;JJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=6
        start local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
        start local 1 // int factor
        start local 2 // int maxQueueLength
        start local 3 // java.util.function.Function newBucket
        start local 4 // long maxHeapMemory
        start local 6 // long maxDirectMemory
         0: .line 101
            aload 0 /* this */
            iload 1 /* factor */
            iload 2 /* maxQueueLength */
            lload 4 /* maxHeapMemory */
            lload 6 /* maxDirectMemory */
            invokespecial org.eclipse.jetty.io.AbstractByteBufferPool.<init>:(IIJJ)V
         1: .line 45
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.eclipse.jetty.io.MappedByteBufferPool._directBuffers:Ljava/util/concurrent/ConcurrentMap;
         2: .line 46
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.eclipse.jetty.io.MappedByteBufferPool._heapBuffers:Ljava/util/concurrent/ConcurrentMap;
         3: .line 102
            aload 0 /* this */
            aload 3 /* newBucket */
            ifnull 4
            aload 3 /* newBucket */
            goto 5
      StackMap locals: org.eclipse.jetty.io.MappedByteBufferPool int int java.util.function.Function long long
      StackMap stack: org.eclipse.jetty.io.MappedByteBufferPool
         4: aload 0 /* this */
            invokedynamic apply(Lorg/eclipse/jetty/io/MappedByteBufferPool;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/eclipse/jetty/io/MappedByteBufferPool.newBucket(I)Lorg/eclipse/jetty/io/ByteBufferPool$Bucket; (7)
                  (Ljava/lang/Integer;)Lorg/eclipse/jetty/io/ByteBufferPool$Bucket;
      StackMap locals: org.eclipse.jetty.io.MappedByteBufferPool int int java.util.function.Function long long
      StackMap stack: org.eclipse.jetty.io.MappedByteBufferPool java.util.function.Function
         5: putfield org.eclipse.jetty.io.MappedByteBufferPool._newBucket:Ljava/util/function/Function;
         6: .line 103
            return
        end local 6 // long maxDirectMemory
        end local 4 // long maxHeapMemory
        end local 3 // java.util.function.Function newBucket
        end local 2 // int maxQueueLength
        end local 1 // int factor
        end local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lorg/eclipse/jetty/io/MappedByteBufferPool;
            0    7     1           factor  I
            0    7     2   maxQueueLength  I
            0    7     3        newBucket  Ljava/util/function/Function<Ljava/lang/Integer;Lorg/eclipse/jetty/io/ByteBufferPool$Bucket;>;
            0    7     4    maxHeapMemory  J
            0    7     6  maxDirectMemory  J
    Signature: (IILjava/util/function/Function<Ljava/lang/Integer;Lorg/eclipse/jetty/io/ByteBufferPool$Bucket;>;JJ)V
    MethodParameters:
                 Name  Flags
      factor           
      maxQueueLength   
      newBucket        
      maxHeapMemory    
      maxDirectMemory  

  private org.eclipse.jetty.io.ByteBufferPool$Bucket newBucket(int);
    descriptor: (I)Lorg/eclipse/jetty/io/ByteBufferPool$Bucket;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
        start local 1 // int key
         0: .line 107
            new org.eclipse.jetty.io.ByteBufferPool$Bucket
            dup
            iload 1 /* key */
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.MappedByteBufferPool.getCapacityFactor:()I
            imul
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.MappedByteBufferPool.getMaxQueueLength:()I
            invokespecial org.eclipse.jetty.io.ByteBufferPool$Bucket.<init>:(II)V
            areturn
        end local 1 // int key
        end local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/io/MappedByteBufferPool;
            0    1     1   key  I
    MethodParameters:
      Name  Flags
      key   

  public java.nio.ByteBuffer acquire(int, boolean);
    descriptor: (IZ)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
        start local 1 // int size
        start local 2 // boolean direct
         0: .line 113
            aload 0 /* this */
            iload 1 /* size */
            invokevirtual org.eclipse.jetty.io.MappedByteBufferPool.bucketFor:(I)I
            istore 3 /* b */
        start local 3 // int b
         1: .line 114
            iload 3 /* b */
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.MappedByteBufferPool.getCapacityFactor:()I
            imul
            istore 4 /* capacity */
        start local 4 // int capacity
         2: .line 115
            aload 0 /* this */
            iload 2 /* direct */
            invokevirtual org.eclipse.jetty.io.MappedByteBufferPool.bucketsFor:(Z)Ljava/util/concurrent/ConcurrentMap;
            astore 5 /* buffers */
        start local 5 // java.util.concurrent.ConcurrentMap buffers
         3: .line 116
            aload 5 /* buffers */
            iload 3 /* b */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jetty.io.ByteBufferPool$Bucket
            astore 6 /* bucket */
        start local 6 // org.eclipse.jetty.io.ByteBufferPool$Bucket bucket
         4: .line 117
            aload 6 /* bucket */
            ifnonnull 6
         5: .line 118
            aload 0 /* this */
            iload 4 /* capacity */
            iload 2 /* direct */
            invokevirtual org.eclipse.jetty.io.MappedByteBufferPool.newByteBuffer:(IZ)Ljava/nio/ByteBuffer;
            areturn
         6: .line 119
      StackMap locals: org.eclipse.jetty.io.MappedByteBufferPool int int int int java.util.concurrent.ConcurrentMap org.eclipse.jetty.io.ByteBufferPool$Bucket
      StackMap stack:
            aload 6 /* bucket */
            invokevirtual org.eclipse.jetty.io.ByteBufferPool$Bucket.acquire:()Ljava/nio/ByteBuffer;
            astore 7 /* buffer */
        start local 7 // java.nio.ByteBuffer buffer
         7: .line 120
            aload 7 /* buffer */
            ifnonnull 9
         8: .line 121
            aload 0 /* this */
            iload 4 /* capacity */
            iload 2 /* direct */
            invokevirtual org.eclipse.jetty.io.MappedByteBufferPool.newByteBuffer:(IZ)Ljava/nio/ByteBuffer;
            areturn
         9: .line 122
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* this */
            aload 7 /* buffer */
            invokevirtual org.eclipse.jetty.io.MappedByteBufferPool.decrementMemory:(Ljava/nio/ByteBuffer;)V
        10: .line 123
            aload 7 /* buffer */
            areturn
        end local 7 // java.nio.ByteBuffer buffer
        end local 6 // org.eclipse.jetty.io.ByteBufferPool$Bucket bucket
        end local 5 // java.util.concurrent.ConcurrentMap buffers
        end local 4 // int capacity
        end local 3 // int b
        end local 2 // boolean direct
        end local 1 // int size
        end local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/eclipse/jetty/io/MappedByteBufferPool;
            0   11     1      size  I
            0   11     2    direct  Z
            1   11     3         b  I
            2   11     4  capacity  I
            3   11     5   buffers  Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Integer;Lorg/eclipse/jetty/io/ByteBufferPool$Bucket;>;
            4   11     6    bucket  Lorg/eclipse/jetty/io/ByteBufferPool$Bucket;
            7   11     7    buffer  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      size    
      direct  

  public void release(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
        start local 1 // java.nio.ByteBuffer buffer
         0: .line 129
            aload 1 /* buffer */
            ifnonnull 2
         1: .line 130
            return
         2: .line 132
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            istore 2 /* capacity */
        start local 2 // int capacity
         3: .line 134
            iload 2 /* capacity */
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.MappedByteBufferPool.getCapacityFactor:()I
            irem
            ifeq 7
         4: .line 136
            getstatic org.eclipse.jetty.io.MappedByteBufferPool.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 6
         5: .line 137
            getstatic org.eclipse.jetty.io.MappedByteBufferPool.LOG:Lorg/slf4j/Logger;
            ldc "ByteBuffer {} does not belong to this pool, discarding it"
            aload 1 /* buffer */
            invokestatic org.eclipse.jetty.util.BufferUtil.toDetailString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 138
      StackMap locals: int
      StackMap stack:
            return
         7: .line 141
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* capacity */
            invokevirtual org.eclipse.jetty.io.MappedByteBufferPool.bucketFor:(I)I
            istore 3 /* b */
        start local 3 // int b
         8: .line 142
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.isDirect:()Z
            istore 4 /* direct */
        start local 4 // boolean direct
         9: .line 143
            aload 0 /* this */
            iload 4 /* direct */
            invokevirtual org.eclipse.jetty.io.MappedByteBufferPool.bucketsFor:(Z)Ljava/util/concurrent/ConcurrentMap;
            astore 5 /* buckets */
        start local 5 // java.util.concurrent.ConcurrentMap buckets
        10: .line 144
            aload 5 /* buckets */
            iload 3 /* b */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield org.eclipse.jetty.io.MappedByteBufferPool._newBucket:Ljava/util/function/Function;
            invokeinterface java.util.concurrent.ConcurrentMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast org.eclipse.jetty.io.ByteBufferPool$Bucket
            astore 6 /* bucket */
        start local 6 // org.eclipse.jetty.io.ByteBufferPool$Bucket bucket
        11: .line 145
            aload 6 /* bucket */
            aload 1 /* buffer */
            invokevirtual org.eclipse.jetty.io.ByteBufferPool$Bucket.release:(Ljava/nio/ByteBuffer;)V
        12: .line 146
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual org.eclipse.jetty.io.MappedByteBufferPool.incrementMemory:(Ljava/nio/ByteBuffer;)V
        13: .line 147
            aload 0 /* this */
            iload 4 /* direct */
            aload 0 /* this */
            invokedynamic accept(Lorg/eclipse/jetty/io/MappedByteBufferPool;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/eclipse/jetty/io/MappedByteBufferPool.clearOldestBucket(Z)V (7)
                  (Ljava/lang/Boolean;)V
            invokevirtual org.eclipse.jetty.io.MappedByteBufferPool.releaseExcessMemory:(ZLjava/util/function/Consumer;)V
        14: .line 148
            return
        end local 6 // org.eclipse.jetty.io.ByteBufferPool$Bucket bucket
        end local 5 // java.util.concurrent.ConcurrentMap buckets
        end local 4 // boolean direct
        end local 3 // int b
        end local 2 // int capacity
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lorg/eclipse/jetty/io/MappedByteBufferPool;
            0   15     1    buffer  Ljava/nio/ByteBuffer;
            3   15     2  capacity  I
            8   15     3         b  I
            9   15     4    direct  Z
           10   15     5   buckets  Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Integer;Lorg/eclipse/jetty/io/ByteBufferPool$Bucket;>;
           11   15     6    bucket  Lorg/eclipse/jetty/io/ByteBufferPool$Bucket;
    MethodParameters:
        Name  Flags
      buffer  

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
         0: .line 153
            aload 0 /* this */
            invokespecial org.eclipse.jetty.io.AbstractByteBufferPool.clear:()V
         1: .line 154
            aload 0 /* this */
            getfield org.eclipse.jetty.io.MappedByteBufferPool._directBuffers:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/eclipse/jetty/io/ByteBufferPool$Bucket.clear()V (5)
                  (Lorg/eclipse/jetty/io/ByteBufferPool$Bucket;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
         2: .line 155
            aload 0 /* this */
            getfield org.eclipse.jetty.io.MappedByteBufferPool._directBuffers:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
         3: .line 156
            aload 0 /* this */
            getfield org.eclipse.jetty.io.MappedByteBufferPool._heapBuffers:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/eclipse/jetty/io/ByteBufferPool$Bucket.clear()V (5)
                  (Lorg/eclipse/jetty/io/ByteBufferPool$Bucket;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
         4: .line 157
            aload 0 /* this */
            getfield org.eclipse.jetty.io.MappedByteBufferPool._heapBuffers:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
         5: .line 158
            return
        end local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/eclipse/jetty/io/MappedByteBufferPool;

  private void clearOldestBucket(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
        start local 1 // boolean direct
         0: .line 162
            ldc 9223372036854775807
            lstore 2 /* oldest */
        start local 2 // long oldest
         1: .line 163
            iconst_m1
            istore 4 /* index */
        start local 4 // int index
         2: .line 164
            aload 0 /* this */
            iload 1 /* direct */
            invokevirtual org.eclipse.jetty.io.MappedByteBufferPool.bucketsFor:(Z)Ljava/util/concurrent/ConcurrentMap;
            astore 5 /* buckets */
        start local 5 // java.util.concurrent.ConcurrentMap buckets
         3: .line 165
            aload 5 /* buckets */
            invokeinterface java.util.concurrent.ConcurrentMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 10
      StackMap locals: org.eclipse.jetty.io.MappedByteBufferPool int long int java.util.concurrent.ConcurrentMap top java.util.Iterator
      StackMap stack:
         4: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
         5: .line 167
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.eclipse.jetty.io.ByteBufferPool$Bucket
            astore 8 /* bucket */
        start local 8 // org.eclipse.jetty.io.ByteBufferPool$Bucket bucket
         6: .line 168
            aload 8 /* bucket */
            invokevirtual org.eclipse.jetty.io.ByteBufferPool$Bucket.getLastUpdate:()J
            lstore 9 /* lastUpdate */
        start local 9 // long lastUpdate
         7: .line 169
            lload 9 /* lastUpdate */
            lload 2 /* oldest */
            lcmp
            ifge 10
         8: .line 171
            lload 9 /* lastUpdate */
            lstore 2 /* oldest */
         9: .line 172
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 4 /* index */
        end local 9 // long lastUpdate
        end local 8 // org.eclipse.jetty.io.ByteBufferPool$Bucket bucket
        end local 6 // java.util.Map$Entry entry
        10: .line 165
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        11: .line 175
            iload 4 /* index */
            iflt 15
        12: .line 177
            aload 5 /* buckets */
            iload 4 /* index */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jetty.io.ByteBufferPool$Bucket
            astore 6 /* bucket */
        start local 6 // org.eclipse.jetty.io.ByteBufferPool$Bucket bucket
        13: .line 180
            aload 6 /* bucket */
            ifnull 15
        14: .line 181
            aload 6 /* bucket */
            aload 0 /* this */
            invokedynamic accept(Lorg/eclipse/jetty/io/MappedByteBufferPool;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/eclipse/jetty/io/AbstractByteBufferPool.decrementMemory(Ljava/nio/ByteBuffer;)V (5)
                  (Ljava/nio/ByteBuffer;)V
            invokevirtual org.eclipse.jetty.io.ByteBufferPool$Bucket.clear:(Ljava/util/function/Consumer;)V
        end local 6 // org.eclipse.jetty.io.ByteBufferPool$Bucket bucket
        15: .line 183
      StackMap locals: org.eclipse.jetty.io.MappedByteBufferPool int long int java.util.concurrent.ConcurrentMap
      StackMap stack:
            return
        end local 5 // java.util.concurrent.ConcurrentMap buckets
        end local 4 // int index
        end local 2 // long oldest
        end local 1 // boolean direct
        end local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lorg/eclipse/jetty/io/MappedByteBufferPool;
            0   16     1      direct  Z
            1   16     2      oldest  J
            2   16     4       index  I
            3   16     5     buckets  Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Integer;Lorg/eclipse/jetty/io/ByteBufferPool$Bucket;>;
            5   10     6       entry  Ljava/util/Map$Entry<Ljava/lang/Integer;Lorg/eclipse/jetty/io/ByteBufferPool$Bucket;>;
            6   10     8      bucket  Lorg/eclipse/jetty/io/ByteBufferPool$Bucket;
            7   10     9  lastUpdate  J
           13   15     6      bucket  Lorg/eclipse/jetty/io/ByteBufferPool$Bucket;
    MethodParameters:
        Name  Flags
      direct  

  private int bucketFor(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
        start local 1 // int size
         0: .line 187
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.MappedByteBufferPool.getCapacityFactor:()I
            istore 2 /* factor */
        start local 2 // int factor
         1: .line 188
            iload 1 /* size */
            iload 2 /* factor */
            idiv
            istore 3 /* bucket */
        start local 3 // int bucket
         2: .line 189
            iload 3 /* bucket */
            iload 2 /* factor */
            imul
            iload 1 /* size */
            if_icmpeq 4
         3: .line 190
            iinc 3 /* bucket */ 1
         4: .line 191
      StackMap locals: int int
      StackMap stack:
            iload 3 /* bucket */
            ireturn
        end local 3 // int bucket
        end local 2 // int factor
        end local 1 // int size
        end local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/eclipse/jetty/io/MappedByteBufferPool;
            0    5     1    size  I
            1    5     2  factor  I
            2    5     3  bucket  I
    MethodParameters:
      Name  Flags
      size  

  public long getDirectByteBufferCount();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
         0: .line 197
            aload 0 /* this */
            iconst_1
            invokevirtual org.eclipse.jetty.io.MappedByteBufferPool.getByteBufferCount:(Z)J
            lreturn
        end local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/io/MappedByteBufferPool;
    RuntimeVisibleAnnotations: 
      org.eclipse.jetty.util.annotation.ManagedAttribute(value = "The number of pooled direct ByteBuffers")

  public long getHeapByteBufferCount();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
         0: .line 203
            aload 0 /* this */
            iconst_0
            invokevirtual org.eclipse.jetty.io.MappedByteBufferPool.getByteBufferCount:(Z)J
            lreturn
        end local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/io/MappedByteBufferPool;
    RuntimeVisibleAnnotations: 
      org.eclipse.jetty.util.annotation.ManagedAttribute(value = "The number of pooled heap ByteBuffers")

  private long getByteBufferCount(boolean);
    descriptor: (Z)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
        start local 1 // boolean direct
         0: .line 208
            aload 0 /* this */
            iload 1 /* direct */
            invokevirtual org.eclipse.jetty.io.MappedByteBufferPool.bucketsFor:(Z)Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
         1: .line 209
            invokedynamic applyAsLong()Ljava/util/function/ToLongFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)J
                  org/eclipse/jetty/io/ByteBufferPool$Bucket.size()I (5)
                  (Lorg/eclipse/jetty/io/ByteBufferPool$Bucket;)J
            invokeinterface java.util.stream.Stream.mapToLong:(Ljava/util/function/ToLongFunction;)Ljava/util/stream/LongStream;
         2: .line 210
            invokeinterface java.util.stream.LongStream.sum:()J
         3: .line 208
            lreturn
        end local 1 // boolean direct
        end local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/eclipse/jetty/io/MappedByteBufferPool;
            0    4     1  direct  Z
    MethodParameters:
        Name  Flags
      direct  

  java.util.concurrent.ConcurrentMap<java.lang.Integer, org.eclipse.jetty.io.ByteBufferPool$Bucket> bucketsFor(boolean);
    descriptor: (Z)Ljava/util/concurrent/ConcurrentMap;
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
        start local 1 // boolean direct
         0: .line 216
            iload 1 /* direct */
            ifeq 1
            aload 0 /* this */
            getfield org.eclipse.jetty.io.MappedByteBufferPool._directBuffers:Ljava/util/concurrent/ConcurrentMap;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.eclipse.jetty.io.MappedByteBufferPool._heapBuffers:Ljava/util/concurrent/ConcurrentMap;
      StackMap locals:
      StackMap stack: java.util.concurrent.ConcurrentMap
         2: areturn
        end local 1 // boolean direct
        end local 0 // org.eclipse.jetty.io.MappedByteBufferPool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/eclipse/jetty/io/MappedByteBufferPool;
            0    3     1  direct  Z
    Signature: (Z)Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Integer;Lorg/eclipse/jetty/io/ByteBufferPool$Bucket;>;
    MethodParameters:
        Name  Flags
      direct  

  public long getMemory(boolean);
    descriptor: (Z)J
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            iload 1
            invokespecial org.eclipse.jetty.io.AbstractByteBufferPool.getMemory:(Z)J
            lreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public long getDirectMemory();
    descriptor: ()J
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial org.eclipse.jetty.io.AbstractByteBufferPool.getDirectMemory:()J
            lreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public long getHeapMemory();
    descriptor: ()J
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial org.eclipse.jetty.io.AbstractByteBufferPool.getHeapMemory:()J
            lreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "MappedByteBufferPool.java"
NestMembers:
  org.eclipse.jetty.io.MappedByteBufferPool$Tagged
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public Bucket = org.eclipse.jetty.io.ByteBufferPool$Bucket of org.eclipse.jetty.io.ByteBufferPool
  public Tagged = org.eclipse.jetty.io.MappedByteBufferPool$Tagged of org.eclipse.jetty.io.MappedByteBufferPool
    RuntimeVisibleAnnotations: 
      org.eclipse.jetty.util.annotation.ManagedObject()