public class org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily this
         0: .line 1275
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/ColumnFamilyStore$FlushLargestColumnFamily;

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=13, args_size=1
        start local 0 // org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily this
         0: .line 1279
            fconst_0
            fstore 1 /* largestRatio */
        start local 1 // float largestRatio
         1: .line 1280
            aconst_null
            astore 2 /* largest */
        start local 2 // org.apache.cassandra.db.Memtable largest
         2: .line 1281
            fconst_0
            fstore 3 /* liveOnHeap */
        start local 3 // float liveOnHeap
         3: fconst_0
            fstore 4 /* liveOffHeap */
        start local 4 // float liveOffHeap
         4: .line 1282
            invokestatic org.apache.cassandra.db.ColumnFamilyStore.all:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 23
      StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily float org.apache.cassandra.db.Memtable float float top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.ColumnFamilyStore
            astore 5 /* cfs */
        start local 5 // org.apache.cassandra.db.ColumnFamilyStore cfs
         6: .line 1287
            aload 5 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTracker:()Lorg/apache/cassandra/db/lifecycle/Tracker;
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.getView:()Lorg/apache/cassandra/db/lifecycle/View;
            invokevirtual org.apache.cassandra.db.lifecycle.View.getCurrentMemtable:()Lorg/apache/cassandra/db/Memtable;
            astore 7 /* current */
        start local 7 // org.apache.cassandra.db.Memtable current
         7: .line 1291
            fconst_0
            fstore 8 /* onHeap */
        start local 8 // float onHeap
         8: fconst_0
            fstore 9 /* offHeap */
        start local 9 // float offHeap
         9: .line 1292
            fload 8 /* onHeap */
            aload 7 /* current */
            invokevirtual org.apache.cassandra.db.Memtable.getAllocator:()Lorg/apache/cassandra/utils/memory/MemtableAllocator;
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.onHeap:()Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.ownershipRatio:()F
            fadd
            fstore 8 /* onHeap */
        10: .line 1293
            fload 9 /* offHeap */
            aload 7 /* current */
            invokevirtual org.apache.cassandra.db.Memtable.getAllocator:()Lorg/apache/cassandra/utils/memory/MemtableAllocator;
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.offHeap:()Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.ownershipRatio:()F
            fadd
            fstore 9 /* offHeap */
        11: .line 1295
            aload 5 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.indexManager:Lorg/apache/cassandra/index/SecondaryIndexManager;
            invokevirtual org.apache.cassandra.index.SecondaryIndexManager.getAllIndexColumnFamilyStores:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 11
            goto 16
      StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily float org.apache.cassandra.db.Memtable float float org.apache.cassandra.db.ColumnFamilyStore java.util.Iterator org.apache.cassandra.db.Memtable float float top java.util.Iterator
      StackMap stack:
        12: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.ColumnFamilyStore
            astore 10 /* indexCfs */
        start local 10 // org.apache.cassandra.db.ColumnFamilyStore indexCfs
        13: .line 1297
            aload 10 /* indexCfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTracker:()Lorg/apache/cassandra/db/lifecycle/Tracker;
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.getView:()Lorg/apache/cassandra/db/lifecycle/View;
            invokevirtual org.apache.cassandra.db.lifecycle.View.getCurrentMemtable:()Lorg/apache/cassandra/db/Memtable;
            invokevirtual org.apache.cassandra.db.Memtable.getAllocator:()Lorg/apache/cassandra/utils/memory/MemtableAllocator;
            astore 12 /* allocator */
        start local 12 // org.apache.cassandra.utils.memory.MemtableAllocator allocator
        14: .line 1298
            fload 8 /* onHeap */
            aload 12 /* allocator */
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.onHeap:()Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.ownershipRatio:()F
            fadd
            fstore 8 /* onHeap */
        15: .line 1299
            fload 9 /* offHeap */
            aload 12 /* allocator */
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.offHeap:()Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.ownershipRatio:()F
            fadd
            fstore 9 /* offHeap */
        end local 12 // org.apache.cassandra.utils.memory.MemtableAllocator allocator
        end local 10 // org.apache.cassandra.db.ColumnFamilyStore indexCfs
        16: .line 1295
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        17: .line 1302
            fload 8 /* onHeap */
            fload 9 /* offHeap */
            invokestatic java.lang.Math.max:(FF)F
            fstore 10 /* ratio */
        start local 10 // float ratio
        18: .line 1303
            fload 10 /* ratio */
            fload 1 /* largestRatio */
            fcmpl
            ifle 21
        19: .line 1305
            aload 7 /* current */
            astore 2 /* largest */
        20: .line 1306
            fload 10 /* ratio */
            fstore 1 /* largestRatio */
        21: .line 1309
      StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily float org.apache.cassandra.db.Memtable float float org.apache.cassandra.db.ColumnFamilyStore java.util.Iterator org.apache.cassandra.db.Memtable float float float
      StackMap stack:
            fload 3 /* liveOnHeap */
            fload 8 /* onHeap */
            fadd
            fstore 3 /* liveOnHeap */
        22: .line 1310
            fload 4 /* liveOffHeap */
            fload 9 /* offHeap */
            fadd
            fstore 4 /* liveOffHeap */
        end local 10 // float ratio
        end local 9 // float offHeap
        end local 8 // float onHeap
        end local 7 // org.apache.cassandra.db.Memtable current
        end local 5 // org.apache.cassandra.db.ColumnFamilyStore cfs
        23: .line 1282
      StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily float org.apache.cassandra.db.Memtable float float top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        24: .line 1313
            aload 2 /* largest */
            ifnull 36
        25: .line 1315
            getstatic org.apache.cassandra.db.Memtable.MEMORY_POOL:Lorg/apache/cassandra/utils/memory/MemtablePool;
            getfield org.apache.cassandra.utils.memory.MemtablePool.onHeap:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
            invokevirtual org.apache.cassandra.utils.memory.MemtablePool$SubPool.usedRatio:()F
            fstore 5 /* usedOnHeap */
        start local 5 // float usedOnHeap
        26: .line 1316
            getstatic org.apache.cassandra.db.Memtable.MEMORY_POOL:Lorg/apache/cassandra/utils/memory/MemtablePool;
            getfield org.apache.cassandra.utils.memory.MemtablePool.offHeap:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
            invokevirtual org.apache.cassandra.utils.memory.MemtablePool$SubPool.usedRatio:()F
            fstore 6 /* usedOffHeap */
        start local 6 // float usedOffHeap
        27: .line 1317
            getstatic org.apache.cassandra.db.Memtable.MEMORY_POOL:Lorg/apache/cassandra/utils/memory/MemtablePool;
            getfield org.apache.cassandra.utils.memory.MemtablePool.onHeap:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
            invokevirtual org.apache.cassandra.utils.memory.MemtablePool$SubPool.reclaimingRatio:()F
            fstore 7 /* flushingOnHeap */
        start local 7 // float flushingOnHeap
        28: .line 1318
            getstatic org.apache.cassandra.db.Memtable.MEMORY_POOL:Lorg/apache/cassandra/utils/memory/MemtablePool;
            getfield org.apache.cassandra.utils.memory.MemtablePool.offHeap:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
            invokevirtual org.apache.cassandra.utils.memory.MemtablePool$SubPool.reclaimingRatio:()F
            fstore 8 /* flushingOffHeap */
        start local 8 // float flushingOffHeap
        29: .line 1319
            aload 2 /* largest */
            invokevirtual org.apache.cassandra.db.Memtable.getAllocator:()Lorg/apache/cassandra/utils/memory/MemtableAllocator;
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.onHeap:()Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.ownershipRatio:()F
            fstore 9 /* thisOnHeap */
        start local 9 // float thisOnHeap
        30: .line 1320
            aload 2 /* largest */
            invokevirtual org.apache.cassandra.db.Memtable.getAllocator:()Lorg/apache/cassandra/utils/memory/MemtableAllocator;
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.offHeap:()Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
            invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.ownershipRatio:()F
            fstore 10 /* thisOffHeap */
        start local 10 // float thisOffHeap
        31: .line 1321
            getstatic org.apache.cassandra.db.ColumnFamilyStore.logger:Lorg/slf4j/Logger;
            ldc "Flushing largest {} to free up room. Used total: {}, live: {}, flushing: {}, this: {}"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
        32: .line 1322
            aload 2 /* largest */
            getfield org.apache.cassandra.db.Memtable.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            aastore
            dup
            iconst_1
            fload 5 /* usedOnHeap */
            fload 6 /* usedOffHeap */
            invokestatic org.apache.cassandra.db.ColumnFamilyStore.ratio:(FF)Ljava/lang/String;
            aastore
            dup
            iconst_2
            fload 3 /* liveOnHeap */
            fload 4 /* liveOffHeap */
            invokestatic org.apache.cassandra.db.ColumnFamilyStore.ratio:(FF)Ljava/lang/String;
            aastore
            dup
            iconst_3
        33: .line 1323
            fload 7 /* flushingOnHeap */
            fload 8 /* flushingOffHeap */
            invokestatic org.apache.cassandra.db.ColumnFamilyStore.ratio:(FF)Ljava/lang/String;
            aastore
            dup
            iconst_4
            fload 9 /* thisOnHeap */
            fload 10 /* thisOffHeap */
            invokestatic org.apache.cassandra.db.ColumnFamilyStore.ratio:(FF)Ljava/lang/String;
            aastore
        34: .line 1321
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        35: .line 1324
            aload 2 /* largest */
            getfield org.apache.cassandra.db.Memtable.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            aload 2 /* largest */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.switchMemtableIfCurrent:(Lorg/apache/cassandra/db/Memtable;)Lcom/google/common/util/concurrent/ListenableFuture;
            pop
        end local 10 // float thisOffHeap
        end local 9 // float thisOnHeap
        end local 8 // float flushingOffHeap
        end local 7 // float flushingOnHeap
        end local 6 // float usedOffHeap
        end local 5 // float usedOnHeap
        36: .line 1326
      StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily float org.apache.cassandra.db.Memtable float float
      StackMap stack:
            return
        end local 4 // float liveOffHeap
        end local 3 // float liveOnHeap
        end local 2 // org.apache.cassandra.db.Memtable largest
        end local 1 // float largestRatio
        end local 0 // org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   37     0             this  Lorg/apache/cassandra/db/ColumnFamilyStore$FlushLargestColumnFamily;
            1   37     1     largestRatio  F
            2   37     2          largest  Lorg/apache/cassandra/db/Memtable;
            3   37     3       liveOnHeap  F
            4   37     4      liveOffHeap  F
            6   23     5              cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            7   23     7          current  Lorg/apache/cassandra/db/Memtable;
            8   23     8           onHeap  F
            9   23     9          offHeap  F
           13   16    10         indexCfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
           14   16    12        allocator  Lorg/apache/cassandra/utils/memory/MemtableAllocator;
           18   23    10            ratio  F
           26   36     5       usedOnHeap  F
           27   36     6      usedOffHeap  F
           28   36     7   flushingOnHeap  F
           29   36     8  flushingOffHeap  F
           30   36     9       thisOnHeap  F
           31   36    10      thisOffHeap  F
}
SourceFile: "ColumnFamilyStore.java"
NestHost: org.apache.cassandra.db.ColumnFamilyStore
InnerClasses:
  public FlushLargestColumnFamily = org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily of org.apache.cassandra.db.ColumnFamilyStore
  public final SubAllocator = org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator of org.apache.cassandra.utils.memory.MemtableAllocator
  public SubPool = org.apache.cassandra.utils.memory.MemtablePool$SubPool of org.apache.cassandra.utils.memory.MemtablePool