public class org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine<K, V> extends org.terracotta.offheapstore.storage.PortabilityBasedStorageEngine<K, V> implements org.terracotta.offheapstore.paging.OffHeapStorageArea$Owner
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine
  super_class: org.terracotta.offheapstore.storage.PortabilityBasedStorageEngine
{
  private static final int KEY_HASH_OFFSET;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int KEY_LENGTH_OFFSET;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int VALUE_LENGTH_OFFSET;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int DATA_OFFSET;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  private static final int HEADER_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  protected final org.terracotta.offheapstore.paging.OffHeapStorageArea storageArea;
    descriptor: Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected volatile org.terracotta.offheapstore.storage.StorageEngine$Owner owner;
    descriptor: Lorg/terracotta/offheapstore/storage/StorageEngine$Owner;
    flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE

  public static <K, V> org.terracotta.offheapstore.util.Factory<org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine<K, V>> createFactory(org.terracotta.offheapstore.storage.PointerSize, org.terracotta.offheapstore.paging.PageSource, int, org.terracotta.offheapstore.storage.portability.Portability<? super K>, org.terracotta.offheapstore.storage.portability.Portability<? super V>, boolean, boolean);
    descriptor: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;ILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZ)Lorg/terracotta/offheapstore/util/Factory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // org.terracotta.offheapstore.storage.PointerSize width
        start local 1 // org.terracotta.offheapstore.paging.PageSource source
        start local 2 // int pageSize
        start local 3 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        start local 4 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        start local 5 // boolean thief
        start local 6 // boolean victim
         0: .line 62
            aload 0 /* width */
            aload 1 /* source */
            iload 2 /* pageSize */
            aload 3 /* keyPortability */
            aload 4 /* valuePortability */
            iload 5 /* thief */
            iload 6 /* victim */
            invokedynamic newInstance(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;ILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZ)Lorg/terracotta/offheapstore/util/Factory;
              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;
                  org/terracotta/offheapstore/storage/OffHeapBufferStorageEngine.lambda$0(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;ILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZ)Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine; (6)
                  ()Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine;
            areturn
        end local 6 // boolean victim
        end local 5 // boolean thief
        end local 4 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        end local 3 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        end local 2 // int pageSize
        end local 1 // org.terracotta.offheapstore.paging.PageSource source
        end local 0 // org.terracotta.offheapstore.storage.PointerSize width
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0             width  Lorg/terracotta/offheapstore/storage/PointerSize;
            0    1     1            source  Lorg/terracotta/offheapstore/paging/PageSource;
            0    1     2          pageSize  I
            0    1     3    keyPortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;
            0    1     4  valuePortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;
            0    1     5             thief  Z
            0    1     6            victim  Z
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;ILorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;ZZ)Lorg/terracotta/offheapstore/util/Factory<Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;>;
    MethodParameters:
                  Name  Flags
      width             final
      source            final
      pageSize          final
      keyPortability    final
      valuePortability  final
      thief             final
      victim            final

  public static <K, V> org.terracotta.offheapstore.util.Factory<org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine<K, V>> createFactory(org.terracotta.offheapstore.storage.PointerSize, org.terracotta.offheapstore.paging.PageSource, int, org.terracotta.offheapstore.storage.portability.Portability<? super K>, org.terracotta.offheapstore.storage.portability.Portability<? super V>, boolean, boolean, float);
    descriptor: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;ILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZF)Lorg/terracotta/offheapstore/util/Factory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=8, args_size=8
        start local 0 // org.terracotta.offheapstore.storage.PointerSize width
        start local 1 // org.terracotta.offheapstore.paging.PageSource source
        start local 2 // int pageSize
        start local 3 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        start local 4 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        start local 5 // boolean thief
        start local 6 // boolean victim
        start local 7 // float compressThreshold
         0: .line 66
            aload 0 /* width */
            aload 1 /* source */
            iload 2 /* pageSize */
            aload 3 /* keyPortability */
            aload 4 /* valuePortability */
            iload 5 /* thief */
            iload 6 /* victim */
            fload 7 /* compressThreshold */
            invokedynamic newInstance(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;ILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZF)Lorg/terracotta/offheapstore/util/Factory;
              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;
                  org/terracotta/offheapstore/storage/OffHeapBufferStorageEngine.lambda$1(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;ILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZF)Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine; (6)
                  ()Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine;
            areturn
        end local 7 // float compressThreshold
        end local 6 // boolean victim
        end local 5 // boolean thief
        end local 4 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        end local 3 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        end local 2 // int pageSize
        end local 1 // org.terracotta.offheapstore.paging.PageSource source
        end local 0 // org.terracotta.offheapstore.storage.PointerSize width
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0              width  Lorg/terracotta/offheapstore/storage/PointerSize;
            0    1     1             source  Lorg/terracotta/offheapstore/paging/PageSource;
            0    1     2           pageSize  I
            0    1     3     keyPortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;
            0    1     4   valuePortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;
            0    1     5              thief  Z
            0    1     6             victim  Z
            0    1     7  compressThreshold  F
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;ILorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;ZZF)Lorg/terracotta/offheapstore/util/Factory<Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;>;
    MethodParameters:
                   Name  Flags
      width              final
      source             final
      pageSize           final
      keyPortability     final
      valuePortability   final
      thief              final
      victim             final
      compressThreshold  final

  public static <K, V> org.terracotta.offheapstore.util.Factory<org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine<K, V>> createFactory(org.terracotta.offheapstore.storage.PointerSize, org.terracotta.offheapstore.paging.PageSource, int, int, org.terracotta.offheapstore.storage.portability.Portability<? super K>, org.terracotta.offheapstore.storage.portability.Portability<? super V>, boolean, boolean);
    descriptor: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZ)Lorg/terracotta/offheapstore/util/Factory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=8, args_size=8
        start local 0 // org.terracotta.offheapstore.storage.PointerSize width
        start local 1 // org.terracotta.offheapstore.paging.PageSource source
        start local 2 // int initialPageSize
        start local 3 // int maximalPageSize
        start local 4 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        start local 5 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        start local 6 // boolean thief
        start local 7 // boolean victim
         0: .line 70
            aload 0 /* width */
            aload 1 /* source */
            iload 2 /* initialPageSize */
            iload 3 /* maximalPageSize */
            aload 4 /* keyPortability */
            aload 5 /* valuePortability */
            iload 6 /* thief */
            iload 7 /* victim */
            invokedynamic newInstance(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZ)Lorg/terracotta/offheapstore/util/Factory;
              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;
                  org/terracotta/offheapstore/storage/OffHeapBufferStorageEngine.lambda$2(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZ)Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine; (6)
                  ()Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine;
            areturn
        end local 7 // boolean victim
        end local 6 // boolean thief
        end local 5 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        end local 4 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        end local 3 // int maximalPageSize
        end local 2 // int initialPageSize
        end local 1 // org.terracotta.offheapstore.paging.PageSource source
        end local 0 // org.terracotta.offheapstore.storage.PointerSize width
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0             width  Lorg/terracotta/offheapstore/storage/PointerSize;
            0    1     1            source  Lorg/terracotta/offheapstore/paging/PageSource;
            0    1     2   initialPageSize  I
            0    1     3   maximalPageSize  I
            0    1     4    keyPortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;
            0    1     5  valuePortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;
            0    1     6             thief  Z
            0    1     7            victim  Z
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;ZZ)Lorg/terracotta/offheapstore/util/Factory<Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;>;
    MethodParameters:
                  Name  Flags
      width             final
      source            final
      initialPageSize   final
      maximalPageSize   final
      keyPortability    final
      valuePortability  final
      thief             final
      victim            final

  public static <K, V> org.terracotta.offheapstore.util.Factory<org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine<K, V>> createFactory(org.terracotta.offheapstore.storage.PointerSize, org.terracotta.offheapstore.paging.PageSource, int, int, org.terracotta.offheapstore.storage.portability.Portability<? super K>, org.terracotta.offheapstore.storage.portability.Portability<? super V>, boolean, boolean, float);
    descriptor: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZF)Lorg/terracotta/offheapstore/util/Factory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=9, args_size=9
        start local 0 // org.terracotta.offheapstore.storage.PointerSize width
        start local 1 // org.terracotta.offheapstore.paging.PageSource source
        start local 2 // int initialPageSize
        start local 3 // int maximalPageSize
        start local 4 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        start local 5 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        start local 6 // boolean thief
        start local 7 // boolean victim
        start local 8 // float compressThreshold
         0: .line 74
            aload 0 /* width */
            aload 1 /* source */
            iload 2 /* initialPageSize */
            iload 3 /* maximalPageSize */
            aload 4 /* keyPortability */
            aload 5 /* valuePortability */
            iload 6 /* thief */
            iload 7 /* victim */
            fload 8 /* compressThreshold */
            invokedynamic newInstance(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZF)Lorg/terracotta/offheapstore/util/Factory;
              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;
                  org/terracotta/offheapstore/storage/OffHeapBufferStorageEngine.lambda$3(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZF)Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine; (6)
                  ()Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine;
            areturn
        end local 8 // float compressThreshold
        end local 7 // boolean victim
        end local 6 // boolean thief
        end local 5 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        end local 4 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        end local 3 // int maximalPageSize
        end local 2 // int initialPageSize
        end local 1 // org.terracotta.offheapstore.paging.PageSource source
        end local 0 // org.terracotta.offheapstore.storage.PointerSize width
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0              width  Lorg/terracotta/offheapstore/storage/PointerSize;
            0    1     1             source  Lorg/terracotta/offheapstore/paging/PageSource;
            0    1     2    initialPageSize  I
            0    1     3    maximalPageSize  I
            0    1     4     keyPortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;
            0    1     5   valuePortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;
            0    1     6              thief  Z
            0    1     7             victim  Z
            0    1     8  compressThreshold  F
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;ZZF)Lorg/terracotta/offheapstore/util/Factory<Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;>;
    MethodParameters:
                   Name  Flags
      width              final
      source             final
      initialPageSize    final
      maximalPageSize    final
      keyPortability     final
      valuePortability   final
      thief              final
      victim             final
      compressThreshold  final

  public void <init>(org.terracotta.offheapstore.storage.PointerSize, org.terracotta.offheapstore.paging.PageSource, int, org.terracotta.offheapstore.storage.portability.Portability<? super K>, org.terracotta.offheapstore.storage.portability.Portability<? super V>);
    descriptor: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;ILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
        start local 1 // org.terracotta.offheapstore.storage.PointerSize width
        start local 2 // org.terracotta.offheapstore.paging.PageSource source
        start local 3 // int pageSize
        start local 4 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        start local 5 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
         0: .line 91
            aload 0 /* this */
            aload 1 /* width */
            aload 2 /* source */
            iload 3 /* pageSize */
            iload 3 /* pageSize */
            aload 4 /* keyPortability */
            aload 5 /* valuePortability */
            invokespecial org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.<init>:(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;)V
         1: .line 92
            return
        end local 5 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        end local 4 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        end local 3 // int pageSize
        end local 2 // org.terracotta.offheapstore.paging.PageSource source
        end local 1 // org.terracotta.offheapstore.storage.PointerSize width
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;
            0    2     1             width  Lorg/terracotta/offheapstore/storage/PointerSize;
            0    2     2            source  Lorg/terracotta/offheapstore/paging/PageSource;
            0    2     3          pageSize  I
            0    2     4    keyPortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;
            0    2     5  valuePortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;
    Signature: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;ILorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;)V
    MethodParameters:
                  Name  Flags
      width             
      source            
      pageSize          
      keyPortability    
      valuePortability  

  public void <init>(org.terracotta.offheapstore.storage.PointerSize, org.terracotta.offheapstore.paging.PageSource, int, org.terracotta.offheapstore.storage.portability.Portability<? super K>, org.terracotta.offheapstore.storage.portability.Portability<? super V>, );
    descriptor: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;ILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=7
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
        start local 1 // org.terracotta.offheapstore.storage.PointerSize width
        start local 2 // org.terracotta.offheapstore.paging.PageSource source
        start local 3 // int pageSize
        start local 4 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        start local 5 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        start local 6 // float compressThreshold
         0: .line 95
            aload 0 /* this */
            aload 1 /* width */
            aload 2 /* source */
            iload 3 /* pageSize */
            iload 3 /* pageSize */
            aload 4 /* keyPortability */
            aload 5 /* valuePortability */
            fload 6 /* compressThreshold */
            invokespecial org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.<init>:(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;F)V
         1: .line 96
            return
        end local 6 // float compressThreshold
        end local 5 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        end local 4 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        end local 3 // int pageSize
        end local 2 // org.terracotta.offheapstore.paging.PageSource source
        end local 1 // org.terracotta.offheapstore.storage.PointerSize width
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;
            0    2     1              width  Lorg/terracotta/offheapstore/storage/PointerSize;
            0    2     2             source  Lorg/terracotta/offheapstore/paging/PageSource;
            0    2     3           pageSize  I
            0    2     4     keyPortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;
            0    2     5   valuePortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;
            0    2     6  compressThreshold  F
    Signature: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;ILorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;F)V
    MethodParameters:
                   Name  Flags
      width              
      source             
      pageSize           
      keyPortability     
      valuePortability   
      compressThreshold  

  public void <init>(org.terracotta.offheapstore.storage.PointerSize, org.terracotta.offheapstore.paging.PageSource, int, int, org.terracotta.offheapstore.storage.portability.Portability<? super K>, org.terracotta.offheapstore.storage.portability.Portability<? super V>);
    descriptor: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=7
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
        start local 1 // org.terracotta.offheapstore.storage.PointerSize width
        start local 2 // org.terracotta.offheapstore.paging.PageSource source
        start local 3 // int initialPageSize
        start local 4 // int maximalPageSize
        start local 5 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        start local 6 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
         0: .line 99
            aload 0 /* this */
            aload 1 /* width */
            aload 2 /* source */
            iload 3 /* initialPageSize */
            iload 4 /* maximalPageSize */
            aload 5 /* keyPortability */
            aload 6 /* valuePortability */
            iconst_0
            iconst_0
            invokespecial org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.<init>:(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZ)V
         1: .line 100
            return
        end local 6 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        end local 5 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        end local 4 // int maximalPageSize
        end local 3 // int initialPageSize
        end local 2 // org.terracotta.offheapstore.paging.PageSource source
        end local 1 // org.terracotta.offheapstore.storage.PointerSize width
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;
            0    2     1             width  Lorg/terracotta/offheapstore/storage/PointerSize;
            0    2     2            source  Lorg/terracotta/offheapstore/paging/PageSource;
            0    2     3   initialPageSize  I
            0    2     4   maximalPageSize  I
            0    2     5    keyPortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;
            0    2     6  valuePortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;
    Signature: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;)V
    MethodParameters:
                  Name  Flags
      width             
      source            
      initialPageSize   
      maximalPageSize   
      keyPortability    
      valuePortability  

  public void <init>(org.terracotta.offheapstore.storage.PointerSize, org.terracotta.offheapstore.paging.PageSource, int, int, org.terracotta.offheapstore.storage.portability.Portability<? super K>, org.terracotta.offheapstore.storage.portability.Portability<? super V>, );
    descriptor: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=8, args_size=8
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
        start local 1 // org.terracotta.offheapstore.storage.PointerSize width
        start local 2 // org.terracotta.offheapstore.paging.PageSource source
        start local 3 // int initialPageSize
        start local 4 // int maximalPageSize
        start local 5 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        start local 6 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        start local 7 // float compressThreshold
         0: .line 103
            aload 0 /* this */
            aload 1 /* width */
            aload 2 /* source */
            iload 3 /* initialPageSize */
            iload 4 /* maximalPageSize */
            aload 5 /* keyPortability */
            aload 6 /* valuePortability */
            iconst_0
            iconst_0
            fload 7 /* compressThreshold */
            invokespecial org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.<init>:(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZF)V
         1: .line 104
            return
        end local 7 // float compressThreshold
        end local 6 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        end local 5 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        end local 4 // int maximalPageSize
        end local 3 // int initialPageSize
        end local 2 // org.terracotta.offheapstore.paging.PageSource source
        end local 1 // org.terracotta.offheapstore.storage.PointerSize width
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;
            0    2     1              width  Lorg/terracotta/offheapstore/storage/PointerSize;
            0    2     2             source  Lorg/terracotta/offheapstore/paging/PageSource;
            0    2     3    initialPageSize  I
            0    2     4    maximalPageSize  I
            0    2     5     keyPortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;
            0    2     6   valuePortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;
            0    2     7  compressThreshold  F
    Signature: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;F)V
    MethodParameters:
                   Name  Flags
      width              
      source             
      initialPageSize    
      maximalPageSize    
      keyPortability     
      valuePortability   
      compressThreshold  

  public void <init>(org.terracotta.offheapstore.storage.PointerSize, org.terracotta.offheapstore.paging.PageSource, int, org.terracotta.offheapstore.storage.portability.Portability<? super K>, org.terracotta.offheapstore.storage.portability.Portability<? super V>, boolean, );
    descriptor: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;ILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=8, args_size=8
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
        start local 1 // org.terracotta.offheapstore.storage.PointerSize width
        start local 2 // org.terracotta.offheapstore.paging.PageSource source
        start local 3 // int pageSize
        start local 4 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        start local 5 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        start local 6 // boolean thief
        start local 7 // boolean victim
         0: .line 107
            aload 0 /* this */
            aload 1 /* width */
            aload 2 /* source */
            iload 3 /* pageSize */
            iload 3 /* pageSize */
            aload 4 /* keyPortability */
            aload 5 /* valuePortability */
            iload 6 /* thief */
            iload 7 /* victim */
            invokespecial org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.<init>:(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZ)V
         1: .line 108
            return
        end local 7 // boolean victim
        end local 6 // boolean thief
        end local 5 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        end local 4 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        end local 3 // int pageSize
        end local 2 // org.terracotta.offheapstore.paging.PageSource source
        end local 1 // org.terracotta.offheapstore.storage.PointerSize width
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;
            0    2     1             width  Lorg/terracotta/offheapstore/storage/PointerSize;
            0    2     2            source  Lorg/terracotta/offheapstore/paging/PageSource;
            0    2     3          pageSize  I
            0    2     4    keyPortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;
            0    2     5  valuePortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;
            0    2     6             thief  Z
            0    2     7            victim  Z
    Signature: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;ILorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;ZZ)V
    MethodParameters:
                  Name  Flags
      width             
      source            
      pageSize          
      keyPortability    
      valuePortability  
      thief             
      victim            

  public void <init>(org.terracotta.offheapstore.storage.PointerSize, org.terracotta.offheapstore.paging.PageSource, int, org.terracotta.offheapstore.storage.portability.Portability<? super K>, org.terracotta.offheapstore.storage.portability.Portability<? super V>, boolean, boolean, );
    descriptor: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;ILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=9, args_size=9
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
        start local 1 // org.terracotta.offheapstore.storage.PointerSize width
        start local 2 // org.terracotta.offheapstore.paging.PageSource source
        start local 3 // int pageSize
        start local 4 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        start local 5 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        start local 6 // boolean thief
        start local 7 // boolean victim
        start local 8 // float compressThreshold
         0: .line 111
            aload 0 /* this */
            aload 1 /* width */
            aload 2 /* source */
            iload 3 /* pageSize */
            iload 3 /* pageSize */
            aload 4 /* keyPortability */
            aload 5 /* valuePortability */
            iload 6 /* thief */
            iload 7 /* victim */
            fload 8 /* compressThreshold */
            invokespecial org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.<init>:(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZF)V
         1: .line 112
            return
        end local 8 // float compressThreshold
        end local 7 // boolean victim
        end local 6 // boolean thief
        end local 5 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        end local 4 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        end local 3 // int pageSize
        end local 2 // org.terracotta.offheapstore.paging.PageSource source
        end local 1 // org.terracotta.offheapstore.storage.PointerSize width
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;
            0    2     1              width  Lorg/terracotta/offheapstore/storage/PointerSize;
            0    2     2             source  Lorg/terracotta/offheapstore/paging/PageSource;
            0    2     3           pageSize  I
            0    2     4     keyPortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;
            0    2     5   valuePortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;
            0    2     6              thief  Z
            0    2     7             victim  Z
            0    2     8  compressThreshold  F
    Signature: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;ILorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;ZZF)V
    MethodParameters:
                   Name  Flags
      width              
      source             
      pageSize           
      keyPortability     
      valuePortability   
      thief              
      victim             
      compressThreshold  

  public void <init>(org.terracotta.offheapstore.storage.PointerSize, org.terracotta.offheapstore.paging.PageSource, int, int, org.terracotta.offheapstore.storage.portability.Portability<? super K>, org.terracotta.offheapstore.storage.portability.Portability<? super V>, boolean, );
    descriptor: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=9, args_size=9
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
        start local 1 // org.terracotta.offheapstore.storage.PointerSize width
        start local 2 // org.terracotta.offheapstore.paging.PageSource source
        start local 3 // int initialPageSize
        start local 4 // int maximalPageSize
        start local 5 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        start local 6 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        start local 7 // boolean thief
        start local 8 // boolean victim
         0: .line 115
            aload 0 /* this */
            aload 5 /* keyPortability */
            aload 6 /* valuePortability */
            invokespecial org.terracotta.offheapstore.storage.PortabilityBasedStorageEngine.<init>:(Lorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;)V
         1: .line 116
            aload 0 /* this */
            new org.terracotta.offheapstore.paging.OffHeapStorageArea
            dup
            aload 1 /* width */
            aload 0 /* this */
            aload 2 /* source */
            iload 3 /* initialPageSize */
            iload 4 /* maximalPageSize */
            iload 7 /* thief */
            iload 8 /* victim */
            invokespecial org.terracotta.offheapstore.paging.OffHeapStorageArea.<init>:(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/OffHeapStorageArea$Owner;Lorg/terracotta/offheapstore/paging/PageSource;IIZZ)V
            putfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
         2: .line 117
            return
        end local 8 // boolean victim
        end local 7 // boolean thief
        end local 6 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        end local 5 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        end local 4 // int maximalPageSize
        end local 3 // int initialPageSize
        end local 2 // org.terracotta.offheapstore.paging.PageSource source
        end local 1 // org.terracotta.offheapstore.storage.PointerSize width
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;
            0    3     1             width  Lorg/terracotta/offheapstore/storage/PointerSize;
            0    3     2            source  Lorg/terracotta/offheapstore/paging/PageSource;
            0    3     3   initialPageSize  I
            0    3     4   maximalPageSize  I
            0    3     5    keyPortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;
            0    3     6  valuePortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;
            0    3     7             thief  Z
            0    3     8            victim  Z
    Signature: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;ZZ)V
    MethodParameters:
                  Name  Flags
      width             
      source            
      initialPageSize   
      maximalPageSize   
      keyPortability    
      valuePortability  
      thief             
      victim            

  public void <init>(org.terracotta.offheapstore.storage.PointerSize, org.terracotta.offheapstore.paging.PageSource, int, int, org.terracotta.offheapstore.storage.portability.Portability<? super K>, org.terracotta.offheapstore.storage.portability.Portability<? super V>, boolean, boolean, );
    descriptor: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=10, args_size=10
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
        start local 1 // org.terracotta.offheapstore.storage.PointerSize width
        start local 2 // org.terracotta.offheapstore.paging.PageSource source
        start local 3 // int initialPageSize
        start local 4 // int maximalPageSize
        start local 5 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        start local 6 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        start local 7 // boolean thief
        start local 8 // boolean victim
        start local 9 // float compressThreshold
         0: .line 120
            aload 0 /* this */
            aload 5 /* keyPortability */
            aload 6 /* valuePortability */
            invokespecial org.terracotta.offheapstore.storage.PortabilityBasedStorageEngine.<init>:(Lorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;)V
         1: .line 121
            aload 0 /* this */
            new org.terracotta.offheapstore.paging.OffHeapStorageArea
            dup
            aload 1 /* width */
            aload 0 /* this */
            aload 2 /* source */
            iload 3 /* initialPageSize */
            iload 4 /* maximalPageSize */
            iload 7 /* thief */
            iload 8 /* victim */
            fload 9 /* compressThreshold */
            invokespecial org.terracotta.offheapstore.paging.OffHeapStorageArea.<init>:(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/OffHeapStorageArea$Owner;Lorg/terracotta/offheapstore/paging/PageSource;IIZZF)V
            putfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
         2: .line 122
            return
        end local 9 // float compressThreshold
        end local 8 // boolean victim
        end local 7 // boolean thief
        end local 6 // org.terracotta.offheapstore.storage.portability.Portability valuePortability
        end local 5 // org.terracotta.offheapstore.storage.portability.Portability keyPortability
        end local 4 // int maximalPageSize
        end local 3 // int initialPageSize
        end local 2 // org.terracotta.offheapstore.paging.PageSource source
        end local 1 // org.terracotta.offheapstore.storage.PointerSize width
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;
            0    3     1              width  Lorg/terracotta/offheapstore/storage/PointerSize;
            0    3     2             source  Lorg/terracotta/offheapstore/paging/PageSource;
            0    3     3    initialPageSize  I
            0    3     4    maximalPageSize  I
            0    3     5     keyPortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;
            0    3     6   valuePortability  Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;
            0    3     7              thief  Z
            0    3     8             victim  Z
            0    3     9  compressThreshold  F
    Signature: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability<-TK;>;Lorg/terracotta/offheapstore/storage/portability/Portability<-TV;>;ZZF)V
    MethodParameters:
                   Name  Flags
      width              
      source             
      initialPageSize    
      maximalPageSize    
      keyPortability     
      valuePortability   
      thief              
      victim             
      compressThreshold  

  protected void clearInternal();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
         0: .line 126
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.clear:()V
         1: .line 127
            return
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;

  protected void free(long);
    descriptor: (J)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
        start local 1 // long address
         0: .line 131
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 1 /* address */
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.free:(J)V
         1: .line 132
            return
        end local 1 // long address
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;
            0    2     1  address  J
    MethodParameters:
         Name  Flags
      address  

  public java.nio.ByteBuffer readKeyBuffer(long);
    descriptor: (J)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
        start local 1 // long address
         0: .line 136
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 1 /* address */
            ldc 4
            ladd
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.readInt:(J)I
            istore 3 /* length */
        start local 3 // int length
         1: .line 137
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 1 /* address */
            ldc 12
            ladd
            iload 3 /* length */
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.readBuffer:(JI)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.asReadOnlyBuffer:()Ljava/nio/ByteBuffer;
            areturn
        end local 3 // int length
        end local 1 // long address
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;
            0    2     1  address  J
            1    2     3   length  I
    MethodParameters:
         Name  Flags
      address  

  protected org.terracotta.offheapstore.storage.portability.WriteContext getKeyWriteContext(long);
    descriptor: (J)Lorg/terracotta/offheapstore/storage/portability/WriteContext;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
        start local 1 // long address
         0: .line 142
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 1 /* address */
            ldc 4
            ladd
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.readInt:(J)I
            istore 3 /* keyLength */
        start local 3 // int keyLength
         1: .line 143
            aload 0 /* this */
            lload 1 /* address */
            ldc 12
            ladd
            iload 3 /* keyLength */
            invokevirtual org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.getWriteContext:(JI)Lorg/terracotta/offheapstore/storage/portability/WriteContext;
            areturn
        end local 3 // int keyLength
        end local 1 // long address
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;
            0    2     1    address  J
            1    2     3  keyLength  I
    MethodParameters:
         Name  Flags
      address  

  public java.nio.ByteBuffer readValueBuffer(long);
    descriptor: (J)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
        start local 1 // long address
         0: .line 148
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 1 /* address */
            ldc 4
            ladd
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.readInt:(J)I
            istore 3 /* keyLength */
        start local 3 // int keyLength
         1: .line 149
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 1 /* address */
            ldc 8
            ladd
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.readInt:(J)I
            istore 4 /* valueLength */
        start local 4 // int valueLength
         2: .line 150
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 1 /* address */
            ldc 12
            ladd
            iload 3 /* keyLength */
            i2l
            ladd
            iload 4 /* valueLength */
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.readBuffer:(JI)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.asReadOnlyBuffer:()Ljava/nio/ByteBuffer;
            areturn
        end local 4 // int valueLength
        end local 3 // int keyLength
        end local 1 // long address
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;
            0    3     1      address  J
            1    3     3    keyLength  I
            2    3     4  valueLength  I
    MethodParameters:
         Name  Flags
      address  

  protected org.terracotta.offheapstore.storage.portability.WriteContext getValueWriteContext(long);
    descriptor: (J)Lorg/terracotta/offheapstore/storage/portability/WriteContext;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
        start local 1 // long address
         0: .line 155
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 1 /* address */
            ldc 4
            ladd
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.readInt:(J)I
            istore 3 /* keyLength */
        start local 3 // int keyLength
         1: .line 156
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 1 /* address */
            ldc 8
            ladd
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.readInt:(J)I
            istore 4 /* valueLength */
        start local 4 // int valueLength
         2: .line 157
            aload 0 /* this */
            lload 1 /* address */
            ldc 12
            ladd
            iload 3 /* keyLength */
            i2l
            ladd
            iload 4 /* valueLength */
            invokevirtual org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.getWriteContext:(JI)Lorg/terracotta/offheapstore/storage/portability/WriteContext;
            areturn
        end local 4 // int valueLength
        end local 3 // int keyLength
        end local 1 // long address
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;
            0    3     1      address  J
            1    3     3    keyLength  I
            2    3     4  valueLength  I
    MethodParameters:
         Name  Flags
      address  

  private org.terracotta.offheapstore.storage.portability.WriteContext getWriteContext(long, int);
    descriptor: (JI)Lorg/terracotta/offheapstore/storage/portability/WriteContext;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
        start local 1 // long address
        start local 3 // int max
         0: .line 161
            new org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine$1
            dup
            aload 0 /* this */
            iload 3 /* max */
            lload 1 /* address */
            invokespecial org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine$1.<init>:(Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine;IJ)V
            areturn
        end local 3 // int max
        end local 1 // long address
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;
            0    1     1  address  J
            0    1     3      max  I
    MethodParameters:
         Name  Flags
      address  final
      max      final

  protected java.lang.Long writeMappingBuffers(java.nio.ByteBuffer, java.nio.ByteBuffer, int);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;I)Ljava/lang/Long;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
        start local 1 // java.nio.ByteBuffer keyBuffer
        start local 2 // java.nio.ByteBuffer valueBuffer
        start local 3 // int hash
         0: .line 180
            aload 1 /* keyBuffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 4 /* keyLength */
        start local 4 // int keyLength
         1: .line 181
            aload 2 /* valueBuffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 5 /* valueLength */
        start local 5 // int valueLength
         2: .line 182
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            iload 4 /* keyLength */
            iload 5 /* valueLength */
            iadd
            bipush 12
            iadd
            i2l
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.allocate:(J)J
            lstore 6 /* address */
        start local 6 // long address
         3: .line 184
            lload 6 /* address */
            lconst_0
            lcmp
            iflt 10
         4: .line 185
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 6 /* address */
            lconst_0
            ladd
            iload 3 /* hash */
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.writeInt:(JI)V
         5: .line 186
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 6 /* address */
            ldc 4
            ladd
            iload 4 /* keyLength */
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.writeInt:(JI)V
         6: .line 187
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 6 /* address */
            ldc 8
            ladd
            iload 5 /* valueLength */
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.writeInt:(JI)V
         7: .line 188
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 6 /* address */
            ldc 12
            ladd
            aload 1 /* keyBuffer */
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.writeBuffer:(JLjava/nio/ByteBuffer;)V
         8: .line 189
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 6 /* address */
            ldc 12
            ladd
            iload 4 /* keyLength */
            i2l
            ladd
            aload 2 /* valueBuffer */
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.writeBuffer:(JLjava/nio/ByteBuffer;)V
         9: .line 190
            lload 6 /* address */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
        10: .line 192
      StackMap locals: int int long
      StackMap stack:
            aconst_null
            areturn
        end local 6 // long address
        end local 5 // int valueLength
        end local 4 // int keyLength
        end local 3 // int hash
        end local 2 // java.nio.ByteBuffer valueBuffer
        end local 1 // java.nio.ByteBuffer keyBuffer
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;
            0   11     1    keyBuffer  Ljava/nio/ByteBuffer;
            0   11     2  valueBuffer  Ljava/nio/ByteBuffer;
            0   11     3         hash  I
            1   11     4    keyLength  I
            2   11     5  valueLength  I
            3   11     6      address  J
    MethodParameters:
             Name  Flags
      keyBuffer    
      valueBuffer  
      hash         

  protected java.lang.Long writeMappingBuffersGathering(java.nio.ByteBuffer[], java.nio.ByteBuffer[], int);
    descriptor: ([Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;I)Ljava/lang/Long;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
        start local 1 // java.nio.ByteBuffer[] keyBuffers
        start local 2 // java.nio.ByteBuffer[] valueBuffers
        start local 3 // int hash
         0: .line 198
            aload 1 /* keyBuffers */
            invokestatic org.terracotta.offheapstore.util.ByteBufferUtils.totalLength:([Ljava/nio/ByteBuffer;)I
            istore 4 /* keyLength */
        start local 4 // int keyLength
         1: .line 199
            aload 2 /* valueBuffers */
            invokestatic org.terracotta.offheapstore.util.ByteBufferUtils.totalLength:([Ljava/nio/ByteBuffer;)I
            istore 5 /* valueLength */
        start local 5 // int valueLength
         2: .line 200
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            iload 4 /* keyLength */
            iload 5 /* valueLength */
            iadd
            bipush 12
            iadd
            i2l
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.allocate:(J)J
            lstore 6 /* address */
        start local 6 // long address
         3: .line 202
            lload 6 /* address */
            lconst_0
            lcmp
            iflt 10
         4: .line 203
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 6 /* address */
            lconst_0
            ladd
            iload 3 /* hash */
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.writeInt:(JI)V
         5: .line 204
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 6 /* address */
            ldc 4
            ladd
            iload 4 /* keyLength */
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.writeInt:(JI)V
         6: .line 205
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 6 /* address */
            ldc 8
            ladd
            iload 5 /* valueLength */
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.writeInt:(JI)V
         7: .line 206
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 6 /* address */
            ldc 12
            ladd
            aload 1 /* keyBuffers */
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.writeBuffers:(J[Ljava/nio/ByteBuffer;)V
         8: .line 207
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 6 /* address */
            ldc 12
            ladd
            iload 4 /* keyLength */
            i2l
            ladd
            aload 2 /* valueBuffers */
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.writeBuffers:(J[Ljava/nio/ByteBuffer;)V
         9: .line 208
            lload 6 /* address */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
        10: .line 210
      StackMap locals: int int long
      StackMap stack:
            aconst_null
            areturn
        end local 6 // long address
        end local 5 // int valueLength
        end local 4 // int keyLength
        end local 3 // int hash
        end local 2 // java.nio.ByteBuffer[] valueBuffers
        end local 1 // java.nio.ByteBuffer[] keyBuffers
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;
            0   11     1    keyBuffers  [Ljava/nio/ByteBuffer;
            0   11     2  valueBuffers  [Ljava/nio/ByteBuffer;
            0   11     3          hash  I
            1   11     4     keyLength  I
            2   11     5   valueLength  I
            3   11     6       address  J
    MethodParameters:
              Name  Flags
      keyBuffers    
      valueBuffers  
      hash          

  public long getAllocatedMemory();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
         0: .line 216
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.getAllocatedMemory:()J
            lreturn
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;

  public long getOccupiedMemory();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
         0: .line 221
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.getOccupiedMemory:()J
            lreturn
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;

  public long getVitalMemory();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
         0: .line 226
            aload 0 /* this */
            invokevirtual org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.getAllocatedMemory:()J
            lreturn
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;

  public long getDataSize();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
         0: .line 232
            aload 0 /* this */
            invokevirtual org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.getOccupiedMemory:()J
            lreturn
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
         0: .line 237
            new java.lang.StringBuilder
            dup
            ldc "OffHeapBufferStorageEngine allocated="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.getAllocatedMemory:()J
            invokestatic org.terracotta.offheapstore.util.DebuggingUtils.toBase2SuffixedString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "B "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 238
            ldc "occupied="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.getOccupiedMemory:()J
            invokestatic org.terracotta.offheapstore.util.DebuggingUtils.toBase2SuffixedString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "B\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 239
            ldc "Storage Area: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         3: .line 237
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;

  public void destroy();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
         0: .line 244
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.destroy:()V
         1: .line 245
            return
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;

  public boolean shrink();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
         0: .line 249
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.shrink:()Z
            ireturn
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;

  public java.util.Collection<java.lang.Long> evictAtAddress(long, boolean);
    descriptor: (JZ)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
        start local 1 // long address
        start local 3 // boolean shrink
         0: .line 254
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 1 /* address */
            lconst_0
            ladd
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.readInt:(J)I
            istore 4 /* hash */
        start local 4 // int hash
         1: .line 255
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.owner:Lorg/terracotta/offheapstore/storage/StorageEngine$Owner;
            iload 4 /* hash */
            lload 1 /* address */
            ldc -1
            invokeinterface org.terracotta.offheapstore.storage.StorageEngine$Owner.getSlotForHashAndEncoding:(IJJ)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 5 /* slot */
        start local 5 // int slot
         2: .line 256
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.owner:Lorg/terracotta/offheapstore/storage/StorageEngine$Owner;
            iload 5 /* slot */
            iload 3 /* shrink */
            invokeinterface org.terracotta.offheapstore.storage.StorageEngine$Owner.evict:(IZ)Z
            ifeq 4
         3: .line 257
            lload 1 /* address */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
            areturn
         4: .line 259
      StackMap locals: int int
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
        end local 5 // int slot
        end local 4 // int hash
        end local 3 // boolean shrink
        end local 1 // long address
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;
            0    5     1  address  J
            0    5     3   shrink  Z
            1    5     4     hash  I
            2    5     5     slot  I
    Signature: (JZ)Ljava/util/Collection<Ljava/lang/Long;>;
    MethodParameters:
         Name  Flags
      address  
      shrink   

  public boolean isThief();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
         0: .line 265
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.owner:Lorg/terracotta/offheapstore/storage/StorageEngine$Owner;
            invokeinterface org.terracotta.offheapstore.storage.StorageEngine$Owner.isThiefForTableAllocations:()Z
            ireturn
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;

  public int readKeyHash(long);
    descriptor: (J)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
        start local 1 // long encoding
         0: .line 270
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 1 /* encoding */
            lconst_0
            ladd
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.readInt:(J)I
            ireturn
        end local 1 // long encoding
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;
            0    1     1  encoding  J
    MethodParameters:
          Name  Flags
      encoding  

  public boolean moved(long, long);
    descriptor: (JJ)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=3
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
        start local 1 // long from
        start local 3 // long to
         0: .line 275
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.owner:Lorg/terracotta/offheapstore/storage/StorageEngine$Owner;
            aload 0 /* this */
            lload 3 /* to */
            invokevirtual org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.readKeyHash:(J)I
            lload 1 /* from */
            lload 3 /* to */
            ldc -1
            invokeinterface org.terracotta.offheapstore.storage.StorageEngine$Owner.updateEncoding:(IJJJ)Z
            ireturn
        end local 3 // long to
        end local 1 // long from
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;
            0    1     1  from  J
            0    1     3    to  J
    MethodParameters:
      Name  Flags
      from  
      to    

  public int sizeOf(long);
    descriptor: (J)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
        start local 1 // long address
         0: .line 280
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 1 /* address */
            ldc 4
            ladd
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.readInt:(J)I
            istore 3 /* keyLength */
        start local 3 // int keyLength
         1: .line 281
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.storageArea:Lorg/terracotta/offheapstore/paging/OffHeapStorageArea;
            lload 1 /* address */
            ldc 8
            ladd
            invokevirtual org.terracotta.offheapstore.paging.OffHeapStorageArea.readInt:(J)I
            istore 4 /* valueLength */
        start local 4 // int valueLength
         2: .line 282
            bipush 12
            iload 3 /* keyLength */
            iadd
            iload 4 /* valueLength */
            iadd
            ireturn
        end local 4 // int valueLength
        end local 3 // int keyLength
        end local 1 // long address
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;
            0    3     1      address  J
            1    3     3    keyLength  I
            2    3     4  valueLength  I
    MethodParameters:
         Name  Flags
      address  

  public void bind(org.terracotta.offheapstore.storage.StorageEngine$Owner);
    descriptor: (Lorg/terracotta/offheapstore/storage/StorageEngine$Owner;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
        start local 1 // org.terracotta.offheapstore.storage.StorageEngine$Owner m
         0: .line 287
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.owner:Lorg/terracotta/offheapstore/storage/StorageEngine$Owner;
            ifnull 2
         1: .line 288
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* m */
            putfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.owner:Lorg/terracotta/offheapstore/storage/StorageEngine$Owner;
         3: .line 291
            return
        end local 1 // org.terracotta.offheapstore.storage.StorageEngine$Owner m
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;
            0    4     1     m  Lorg/terracotta/offheapstore/storage/StorageEngine$Owner;
    MethodParameters:
      Name  Flags
      m     

  public java.util.concurrent.locks.Lock writeLock();
    descriptor: ()Ljava/util/concurrent/locks/Lock;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
         0: .line 295
            aload 0 /* this */
            getfield org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.owner:Lorg/terracotta/offheapstore/storage/StorageEngine$Owner;
            invokeinterface org.terracotta.offheapstore.storage.StorageEngine$Owner.writeLock:()Ljava/util/concurrent/locks/Lock;
            areturn
        end local 0 // org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine<TK;TV;>;

  private static org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine lambda$0(org.terracotta.offheapstore.storage.PointerSize, org.terracotta.offheapstore.paging.PageSource, int, org.terracotta.offheapstore.storage.portability.Portability, org.terracotta.offheapstore.storage.portability.Portability, boolean, boolean);
    descriptor: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;ILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZ)Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=9, locals=7, args_size=7
         0: .line 62
            new org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine
            dup
            aload 0
            aload 1
            iload 2
            aload 3
            aload 4
            iload 5
            iload 6
            invokespecial org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.<init>:(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;ILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZ)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine lambda$1(org.terracotta.offheapstore.storage.PointerSize, org.terracotta.offheapstore.paging.PageSource, int, org.terracotta.offheapstore.storage.portability.Portability, org.terracotta.offheapstore.storage.portability.Portability, boolean, boolean, float);
    descriptor: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;ILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZF)Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=10, locals=8, args_size=8
         0: .line 66
            new org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine
            dup
            aload 0
            aload 1
            iload 2
            aload 3
            aload 4
            iload 5
            iload 6
            fload 7
            invokespecial org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.<init>:(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;ILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZF)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine lambda$2(org.terracotta.offheapstore.storage.PointerSize, org.terracotta.offheapstore.paging.PageSource, int, int, org.terracotta.offheapstore.storage.portability.Portability, org.terracotta.offheapstore.storage.portability.Portability, boolean, boolean);
    descriptor: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZ)Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=10, locals=8, args_size=8
         0: .line 70
            new org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine
            dup
            aload 0
            aload 1
            iload 2
            iload 3
            aload 4
            aload 5
            iload 6
            iload 7
            invokespecial org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.<init>:(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZ)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine lambda$3(org.terracotta.offheapstore.storage.PointerSize, org.terracotta.offheapstore.paging.PageSource, int, int, org.terracotta.offheapstore.storage.portability.Portability, org.terracotta.offheapstore.storage.portability.Portability, boolean, boolean, float);
    descriptor: (Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZF)Lorg/terracotta/offheapstore/storage/OffHeapBufferStorageEngine;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=11, locals=9, args_size=9
         0: .line 74
            new org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine
            dup
            aload 0
            aload 1
            iload 2
            iload 3
            aload 4
            aload 5
            iload 6
            iload 7
            fload 8
            invokespecial org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine.<init>:(Lorg/terracotta/offheapstore/storage/PointerSize;Lorg/terracotta/offheapstore/paging/PageSource;IILorg/terracotta/offheapstore/storage/portability/Portability;Lorg/terracotta/offheapstore/storage/portability/Portability;ZZF)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Lorg/terracotta/offheapstore/storage/PortabilityBasedStorageEngine<TK;TV;>;Lorg/terracotta/offheapstore/paging/OffHeapStorageArea$Owner;
SourceFile: "OffHeapBufferStorageEngine.java"
NestMembers:
  org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine$1
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Owner = org.terracotta.offheapstore.paging.OffHeapStorageArea$Owner of org.terracotta.offheapstore.paging.OffHeapStorageArea
  org.terracotta.offheapstore.storage.OffHeapBufferStorageEngine$1
  public abstract Owner = org.terracotta.offheapstore.storage.StorageEngine$Owner of org.terracotta.offheapstore.storage.StorageEngine