public class org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap<K, V> extends org.terracotta.offheapstore.AbstractLockedOffHeapHashMap<K, V>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap
  super_class: org.terracotta.offheapstore.AbstractLockedOffHeapHashMap
{
  private final java.util.concurrent.locks.ReentrantReadWriteLock lock;
    descriptor: Ljava/util/concurrent/locks/ReentrantReadWriteLock;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.terracotta.offheapstore.paging.PageSource, org.terracotta.offheapstore.storage.StorageEngine<? super K, ? super V>);
    descriptor: (Lorg/terracotta/offheapstore/paging/PageSource;Lorg/terracotta/offheapstore/storage/StorageEngine;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap this
        start local 1 // org.terracotta.offheapstore.paging.PageSource tableSource
        start local 2 // org.terracotta.offheapstore.storage.StorageEngine storageEngine
         0: .line 40
            aload 0 /* this */
            aload 1 /* tableSource */
            aload 2 /* storageEngine */
            invokespecial org.terracotta.offheapstore.AbstractLockedOffHeapHashMap.<init>:(Lorg/terracotta/offheapstore/paging/PageSource;Lorg/terracotta/offheapstore/storage/StorageEngine;)V
         1: .line 37
            aload 0 /* this */
            new java.util.concurrent.locks.ReentrantReadWriteLock
            dup
            invokespecial java.util.concurrent.locks.ReentrantReadWriteLock.<init>:()V
            putfield org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap.lock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
         2: .line 41
            return
        end local 2 // org.terracotta.offheapstore.storage.StorageEngine storageEngine
        end local 1 // org.terracotta.offheapstore.paging.PageSource tableSource
        end local 0 // org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/terracotta/offheapstore/ReadWriteLockedOffHeapHashMap<TK;TV;>;
            0    3     1    tableSource  Lorg/terracotta/offheapstore/paging/PageSource;
            0    3     2  storageEngine  Lorg/terracotta/offheapstore/storage/StorageEngine<-TK;-TV;>;
    Signature: (Lorg/terracotta/offheapstore/paging/PageSource;Lorg/terracotta/offheapstore/storage/StorageEngine<-TK;-TV;>;)V
    MethodParameters:
               Name  Flags
      tableSource    
      storageEngine  

  public void <init>(org.terracotta.offheapstore.paging.PageSource, boolean, org.terracotta.offheapstore.storage.StorageEngine<? super K, ? super V>);
    descriptor: (Lorg/terracotta/offheapstore/paging/PageSource;ZLorg/terracotta/offheapstore/storage/StorageEngine;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap this
        start local 1 // org.terracotta.offheapstore.paging.PageSource tableSource
        start local 2 // boolean tableAllocationsSteal
        start local 3 // org.terracotta.offheapstore.storage.StorageEngine storageEngine
         0: .line 44
            aload 0 /* this */
            aload 1 /* tableSource */
            iload 2 /* tableAllocationsSteal */
            aload 3 /* storageEngine */
            invokespecial org.terracotta.offheapstore.AbstractLockedOffHeapHashMap.<init>:(Lorg/terracotta/offheapstore/paging/PageSource;ZLorg/terracotta/offheapstore/storage/StorageEngine;)V
         1: .line 37
            aload 0 /* this */
            new java.util.concurrent.locks.ReentrantReadWriteLock
            dup
            invokespecial java.util.concurrent.locks.ReentrantReadWriteLock.<init>:()V
            putfield org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap.lock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
         2: .line 45
            return
        end local 3 // org.terracotta.offheapstore.storage.StorageEngine storageEngine
        end local 2 // boolean tableAllocationsSteal
        end local 1 // org.terracotta.offheapstore.paging.PageSource tableSource
        end local 0 // org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    3     0                   this  Lorg/terracotta/offheapstore/ReadWriteLockedOffHeapHashMap<TK;TV;>;
            0    3     1            tableSource  Lorg/terracotta/offheapstore/paging/PageSource;
            0    3     2  tableAllocationsSteal  Z
            0    3     3          storageEngine  Lorg/terracotta/offheapstore/storage/StorageEngine<-TK;-TV;>;
    Signature: (Lorg/terracotta/offheapstore/paging/PageSource;ZLorg/terracotta/offheapstore/storage/StorageEngine<-TK;-TV;>;)V
    MethodParameters:
                       Name  Flags
      tableSource            
      tableAllocationsSteal  
      storageEngine          

  public void <init>(org.terracotta.offheapstore.paging.PageSource, org.terracotta.offheapstore.storage.StorageEngine<? super K, ? super V>, );
    descriptor: (Lorg/terracotta/offheapstore/paging/PageSource;Lorg/terracotta/offheapstore/storage/StorageEngine;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap this
        start local 1 // org.terracotta.offheapstore.paging.PageSource tableSource
        start local 2 // org.terracotta.offheapstore.storage.StorageEngine storageEngine
        start local 3 // int tableSize
         0: .line 48
            aload 0 /* this */
            aload 1 /* tableSource */
            aload 2 /* storageEngine */
            iload 3 /* tableSize */
            invokespecial org.terracotta.offheapstore.AbstractLockedOffHeapHashMap.<init>:(Lorg/terracotta/offheapstore/paging/PageSource;Lorg/terracotta/offheapstore/storage/StorageEngine;I)V
         1: .line 37
            aload 0 /* this */
            new java.util.concurrent.locks.ReentrantReadWriteLock
            dup
            invokespecial java.util.concurrent.locks.ReentrantReadWriteLock.<init>:()V
            putfield org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap.lock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
         2: .line 49
            return
        end local 3 // int tableSize
        end local 2 // org.terracotta.offheapstore.storage.StorageEngine storageEngine
        end local 1 // org.terracotta.offheapstore.paging.PageSource tableSource
        end local 0 // org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/terracotta/offheapstore/ReadWriteLockedOffHeapHashMap<TK;TV;>;
            0    3     1    tableSource  Lorg/terracotta/offheapstore/paging/PageSource;
            0    3     2  storageEngine  Lorg/terracotta/offheapstore/storage/StorageEngine<-TK;-TV;>;
            0    3     3      tableSize  I
    Signature: (Lorg/terracotta/offheapstore/paging/PageSource;Lorg/terracotta/offheapstore/storage/StorageEngine<-TK;-TV;>;I)V
    MethodParameters:
               Name  Flags
      tableSource    
      storageEngine  
      tableSize      

  public void <init>(org.terracotta.offheapstore.paging.PageSource, boolean, org.terracotta.offheapstore.storage.StorageEngine<? super K, ? super V>, );
    descriptor: (Lorg/terracotta/offheapstore/paging/PageSource;ZLorg/terracotta/offheapstore/storage/StorageEngine;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap this
        start local 1 // org.terracotta.offheapstore.paging.PageSource tableSource
        start local 2 // boolean tableAllocationsSteal
        start local 3 // org.terracotta.offheapstore.storage.StorageEngine storageEngine
        start local 4 // int tableSize
         0: .line 52
            aload 0 /* this */
            aload 1 /* tableSource */
            iload 2 /* tableAllocationsSteal */
            aload 3 /* storageEngine */
            iload 4 /* tableSize */
            invokespecial org.terracotta.offheapstore.AbstractLockedOffHeapHashMap.<init>:(Lorg/terracotta/offheapstore/paging/PageSource;ZLorg/terracotta/offheapstore/storage/StorageEngine;I)V
         1: .line 37
            aload 0 /* this */
            new java.util.concurrent.locks.ReentrantReadWriteLock
            dup
            invokespecial java.util.concurrent.locks.ReentrantReadWriteLock.<init>:()V
            putfield org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap.lock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
         2: .line 53
            return
        end local 4 // int tableSize
        end local 3 // org.terracotta.offheapstore.storage.StorageEngine storageEngine
        end local 2 // boolean tableAllocationsSteal
        end local 1 // org.terracotta.offheapstore.paging.PageSource tableSource
        end local 0 // org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    3     0                   this  Lorg/terracotta/offheapstore/ReadWriteLockedOffHeapHashMap<TK;TV;>;
            0    3     1            tableSource  Lorg/terracotta/offheapstore/paging/PageSource;
            0    3     2  tableAllocationsSteal  Z
            0    3     3          storageEngine  Lorg/terracotta/offheapstore/storage/StorageEngine<-TK;-TV;>;
            0    3     4              tableSize  I
    Signature: (Lorg/terracotta/offheapstore/paging/PageSource;ZLorg/terracotta/offheapstore/storage/StorageEngine<-TK;-TV;>;I)V
    MethodParameters:
                       Name  Flags
      tableSource            
      tableAllocationsSteal  
      storageEngine          
      tableSize              

  public java.util.concurrent.locks.Lock readLock();
    descriptor: ()Ljava/util/concurrent/locks/Lock;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap this
         0: .line 57
            aload 0 /* this */
            getfield org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap.lock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
            areturn
        end local 0 // org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/terracotta/offheapstore/ReadWriteLockedOffHeapHashMap<TK;TV;>;

  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.ReadWriteLockedOffHeapHashMap this
         0: .line 62
            aload 0 /* this */
            getfield org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap.lock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            areturn
        end local 0 // org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/terracotta/offheapstore/ReadWriteLockedOffHeapHashMap<TK;TV;>;

  public java.util.concurrent.locks.ReentrantReadWriteLock getLock();
    descriptor: ()Ljava/util/concurrent/locks/ReentrantReadWriteLock;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap this
         0: .line 67
            aload 0 /* this */
            getfield org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap.lock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
            areturn
        end local 0 // org.terracotta.offheapstore.ReadWriteLockedOffHeapHashMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/terracotta/offheapstore/ReadWriteLockedOffHeapHashMap<TK;TV;>;
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Lorg/terracotta/offheapstore/AbstractLockedOffHeapHashMap<TK;TV;>;
SourceFile: "ReadWriteLockedOffHeapHashMap.java"
InnerClasses:
  public ReadLock = java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock of java.util.concurrent.locks.ReentrantReadWriteLock
  public WriteLock = java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock of java.util.concurrent.locks.ReentrantReadWriteLock