class org.jruby.util.collections.ConcurrentAutoTable$CAT implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.jruby.util.collections.ConcurrentAutoTable$CAT
  super_class: java.lang.Object
{
  private static final sun.misc.Unsafe _unsafe;
    descriptor: Lsun/misc/Unsafe;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

  volatile long _resizers;
    descriptor: J
    flags: (0x0040) ACC_VOLATILE

  private static final java.util.concurrent.atomic.AtomicLongFieldUpdater<org.jruby.util.collections.ConcurrentAutoTable$CAT> _resizerUpdater;
    descriptor: Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicLongFieldUpdater<Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;>;

  private final org.jruby.util.collections.ConcurrentAutoTable$CAT _next;
    descriptor: Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile long _sum_cache;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile long _fuzzy_sum_cache;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile long _fuzzy_time;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

  private long[] _t;
    descriptor: [J
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 1375
            ldc Lorg/jruby/util/collections/ConcurrentAutoTable;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.jruby.util.collections.ConcurrentAutoTable$CAT.$assertionsDisabled:Z
         3: .line 1378
            getstatic org.jruby.util.unsafe.UnsafeHolder.U:Lsun/misc/Unsafe;
            putstatic org.jruby.util.collections.ConcurrentAutoTable$CAT._unsafe:Lsun/misc/Unsafe;
         4: .line 1383
            getstatic org.jruby.util.collections.ConcurrentAutoTable$CAT._unsafe:Lsun/misc/Unsafe;
            ifnull 8
         5: .line 1384
            getstatic org.jruby.util.collections.ConcurrentAutoTable$CAT._unsafe:Lsun/misc/Unsafe;
            ldc [J
            invokevirtual sun.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
            putstatic org.jruby.util.collections.ConcurrentAutoTable$CAT._Lbase:I
         6: .line 1385
            getstatic org.jruby.util.collections.ConcurrentAutoTable$CAT._unsafe:Lsun/misc/Unsafe;
            ldc [J
            invokevirtual sun.misc.Unsafe.arrayIndexScale:(Ljava/lang/Class;)I
            putstatic org.jruby.util.collections.ConcurrentAutoTable$CAT._Lscale:I
         7: .line 1386
            goto 9
         8: .line 1388
      StackMap locals:
      StackMap stack:
            iconst_0
            dup
            putstatic org.jruby.util.collections.ConcurrentAutoTable$CAT._Lscale:I
            putstatic org.jruby.util.collections.ConcurrentAutoTable$CAT._Lbase:I
         9: .line 1411
      StackMap locals:
      StackMap stack:
            ldc Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
            ldc "_resizers"
            invokestatic java.util.concurrent.atomic.AtomicLongFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
        10: .line 1410
            putstatic org.jruby.util.collections.ConcurrentAutoTable$CAT._resizerUpdater:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
        11: .line 1417
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static final boolean CAS(long[], int, long, long);
    descriptor: ([JIJJ)Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=8, locals=7, args_size=4
        start local 0 // long[] A
        start local 1 // int idx
        start local 2 // long old
        start local 4 // long nnn
         0: .line 1393
            getstatic org.jruby.util.collections.ConcurrentAutoTable$CAT.$assertionsDisabled:Z
            ifne 2
            iload 1 /* idx */
            iflt 1
            iload 1 /* idx */
            aload 0 /* A */
            arraylength
            if_icmplt 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1394
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.collections.ConcurrentAutoTable$CAT._unsafe:Lsun/misc/Unsafe;
            ifnull 5
         3: .line 1395
            getstatic org.jruby.util.collections.ConcurrentAutoTable$CAT._Lbase:I
            iload 1 /* idx */
            getstatic org.jruby.util.collections.ConcurrentAutoTable$CAT._Lscale:I
            imul
            iadd
            istore 6 /* rawIndex */
        start local 6 // int rawIndex
         4: .line 1396
            getstatic org.jruby.util.collections.ConcurrentAutoTable$CAT._unsafe:Lsun/misc/Unsafe;
            aload 0 /* A */
            iload 6 /* rawIndex */
            i2l
            lload 2 /* old */
            lload 4 /* nnn */
            invokevirtual sun.misc.Unsafe.compareAndSwapLong:(Ljava/lang/Object;JJJ)Z
            ireturn
        end local 6 // int rawIndex
         5: .line 1398
      StackMap locals:
      StackMap stack:
            aload 0 /* A */
            iload 1 /* idx */
            lload 2 /* old */
            lload 4 /* nnn */
            invokestatic org.jruby.util.collections.ConcurrentAutoTable$CAT.CASnoUnsafe:([JIJJ)Z
            ireturn
        end local 4 // long nnn
        end local 2 // long old
        end local 1 // int idx
        end local 0 // long[] A
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0         A  [J
            0    6     1       idx  I
            0    6     2       old  J
            0    6     4       nnn  J
            4    5     6  rawIndex  I
    MethodParameters:
      Name  Flags
      A     
      idx   
      old   
      nnn   

  private static final boolean CASnoUnsafe(long[], int, long, long);
    descriptor: ([JIJJ)Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // long[] A
        start local 1 // int idx
        start local 2 // long old
        start local 4 // long nnn
         0: .line 1402
            aload 0 /* A */
            dup
            astore 6
            monitorenter
         1: .line 1403
            aload 0 /* A */
            iload 1 /* idx */
            laload
            lload 2 /* old */
            lcmp
            ifeq 3
            aload 6
            monitorexit
         2: iconst_0
            ireturn
         3: .line 1404
      StackMap locals: long[]
      StackMap stack:
            aload 0 /* A */
            iload 1 /* idx */
            lload 4 /* nnn */
            lastore
         4: .line 1402
            aload 6
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 6
            monitorexit
         7: athrow
         8: .line 1406
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // long nnn
        end local 2 // long old
        end local 1 // int idx
        end local 0 // long[] A
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0     A  [J
            0    9     1   idx  I
            0    9     2   old  J
            0    9     4   nnn  J
      Exception table:
        from    to  target  type
           1     2       6  any
           3     5       6  any
           6     7       6  any
    MethodParameters:
      Name  Flags
      A     
      idx   
      old   
      nnn   

  void <init>(org.jruby.util.collections.ConcurrentAutoTable$CAT, int, long);
    descriptor: (Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;IJ)V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.util.collections.ConcurrentAutoTable$CAT this
        start local 1 // org.jruby.util.collections.ConcurrentAutoTable$CAT next
        start local 2 // int sz
        start local 3 // long init
         0: .line 1420
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1421
            aload 0 /* this */
            aload 1 /* next */
            putfield org.jruby.util.collections.ConcurrentAutoTable$CAT._next:Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
         2: .line 1422
            aload 0 /* this */
            ldc -9223372036854775808
            putfield org.jruby.util.collections.ConcurrentAutoTable$CAT._sum_cache:J
         3: .line 1423
            aload 0 /* this */
            iload 2 /* sz */
            newarray 11
            putfield org.jruby.util.collections.ConcurrentAutoTable$CAT._t:[J
         4: .line 1424
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._t:[J
            iconst_0
            lload 3 /* init */
            lastore
         5: .line 1425
            return
        end local 3 // long init
        end local 2 // int sz
        end local 1 // org.jruby.util.collections.ConcurrentAutoTable$CAT next
        end local 0 // org.jruby.util.collections.ConcurrentAutoTable$CAT this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
            0    6     1  next  Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
            0    6     2    sz  I
            0    6     3  init  J
    MethodParameters:
      Name  Flags
      next  
      sz    
      init  

  public long add_if_mask(long, long, int, org.jruby.util.collections.ConcurrentAutoTable);
    descriptor: (JJILorg/jruby/util/collections/ConcurrentAutoTable;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=17, args_size=5
        start local 0 // org.jruby.util.collections.ConcurrentAutoTable$CAT this
        start local 1 // long x
        start local 3 // long mask
        start local 5 // int hash
        start local 6 // org.jruby.util.collections.ConcurrentAutoTable master
         0: .line 1432
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._t:[J
            astore 7 /* t */
        start local 7 // long[] t
         1: .line 1433
            iload 5 /* hash */
            aload 7 /* t */
            arraylength
            iconst_1
            isub
            iand
            istore 8 /* idx */
        start local 8 // int idx
         2: .line 1435
            aload 7 /* t */
            iload 8 /* idx */
            laload
            lstore 9 /* old */
        start local 9 // long old
         3: .line 1436
            aload 7 /* t */
            iload 8 /* idx */
            lload 9 /* old */
            lload 3 /* mask */
            ldc -1
            lxor
            land
            lload 9 /* old */
            lload 1 /* x */
            ladd
            invokestatic org.jruby.util.collections.ConcurrentAutoTable$CAT.CAS:([JIJJ)Z
            istore 11 /* ok */
        start local 11 // boolean ok
         4: .line 1437
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._sum_cache:J
            ldc -9223372036854775808
            lcmp
            ifeq 6
         5: .line 1438
            aload 0 /* this */
            ldc -9223372036854775808
            putfield org.jruby.util.collections.ConcurrentAutoTable$CAT._sum_cache:J
         6: .line 1439
      StackMap locals: org.jruby.util.collections.ConcurrentAutoTable$CAT long long int org.jruby.util.collections.ConcurrentAutoTable long[] int long int
      StackMap stack:
            iload 11 /* ok */
            ifeq 7
            lload 9 /* old */
            lreturn
         7: .line 1440
      StackMap locals:
      StackMap stack:
            lload 9 /* old */
            lload 3 /* mask */
            land
            lconst_0
            lcmp
            ifeq 8
            lload 9 /* old */
            lreturn
         8: .line 1442
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* cnt */
        start local 12 // int cnt
         9: .line 1444
      StackMap locals: int
      StackMap stack:
            aload 7 /* t */
            iload 8 /* idx */
            laload
            lstore 9 /* old */
        10: .line 1445
            lload 9 /* old */
            lload 3 /* mask */
            land
            lconst_0
            lcmp
            ifeq 11
            lload 9 /* old */
            lreturn
        11: .line 1446
      StackMap locals:
      StackMap stack:
            aload 7 /* t */
            iload 8 /* idx */
            lload 9 /* old */
            lload 9 /* old */
            lload 1 /* x */
            ladd
            invokestatic org.jruby.util.collections.ConcurrentAutoTable$CAT.CAS:([JIJJ)Z
            ifeq 12
            goto 14
        12: .line 1447
      StackMap locals:
      StackMap stack:
            iinc 12 /* cnt */ 1
        13: .line 1443
            goto 9
        14: .line 1449
      StackMap locals:
      StackMap stack:
            iload 12 /* cnt */
            iconst_2
            if_icmpge 15
            lload 9 /* old */
            lreturn
        15: .line 1450
      StackMap locals:
      StackMap stack:
            aload 7 /* t */
            arraylength
            ldc 1048576
            if_icmplt 16
            lload 9 /* old */
            lreturn
        16: .line 1453
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._resizers:J
            lstore 13 /* r */
        start local 13 // long r
        17: .line 1454
            aload 7 /* t */
            arraylength
            iconst_1
            ishl
            iconst_3
            ishl
            istore 15 /* newbytes */
        start local 15 // int newbytes
        18: .line 1455
            goto 20
        19: .line 1456
      StackMap locals: long int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._resizers:J
            lstore 13 /* r */
        20: .line 1455
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.collections.ConcurrentAutoTable$CAT._resizerUpdater:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
            aload 0 /* this */
            lload 13 /* r */
            lload 13 /* r */
            iload 15 /* newbytes */
            i2l
            ladd
            invokevirtual java.util.concurrent.atomic.AtomicLongFieldUpdater.compareAndSet:(Ljava/lang/Object;JJ)Z
            ifeq 19
        21: .line 1457
            lload 13 /* r */
            iload 15 /* newbytes */
            i2l
            ladd
            lstore 13 /* r */
        22: .line 1458
            aload 6 /* master */
            getfield org.jruby.util.collections.ConcurrentAutoTable._cat:Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
            aload 0 /* this */
            if_acmpeq 23
            lload 9 /* old */
            lreturn
        23: .line 1459
      StackMap locals:
      StackMap stack:
            lload 13 /* r */
            bipush 17
            lshr
            lconst_0
            lcmp
            ifeq 28
        24: .line 1464
            lload 13 /* r */
            bipush 17
            lshr
            invokestatic java.lang.Thread.sleep:(J)V
        25: goto 27
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        26: pop
        27: .line 1465
      StackMap locals:
      StackMap stack:
            aload 6 /* master */
            getfield org.jruby.util.collections.ConcurrentAutoTable._cat:Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
            aload 0 /* this */
            if_acmpeq 28
            lload 9 /* old */
            lreturn
        28: .line 1468
      StackMap locals:
      StackMap stack:
            new org.jruby.util.collections.ConcurrentAutoTable$CAT
            dup
            aload 0 /* this */
            aload 7 /* t */
            arraylength
            iconst_2
            imul
            lconst_0
            invokespecial org.jruby.util.collections.ConcurrentAutoTable$CAT.<init>:(Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;IJ)V
            astore 16 /* newcat */
        start local 16 // org.jruby.util.collections.ConcurrentAutoTable$CAT newcat
        29: .line 1472
            aload 6 /* master */
            aload 0 /* this */
            aload 16 /* newcat */
            invokevirtual org.jruby.util.collections.ConcurrentAutoTable.CAS_cat:(Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;)Z
            pop
        30: .line 1473
            lload 9 /* old */
            lreturn
        end local 16 // org.jruby.util.collections.ConcurrentAutoTable$CAT newcat
        end local 15 // int newbytes
        end local 13 // long r
        end local 12 // int cnt
        end local 11 // boolean ok
        end local 9 // long old
        end local 8 // int idx
        end local 7 // long[] t
        end local 6 // org.jruby.util.collections.ConcurrentAutoTable master
        end local 5 // int hash
        end local 3 // long mask
        end local 1 // long x
        end local 0 // org.jruby.util.collections.ConcurrentAutoTable$CAT this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   31     0      this  Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
            0   31     1         x  J
            0   31     3      mask  J
            0   31     5      hash  I
            0   31     6    master  Lorg/jruby/util/collections/ConcurrentAutoTable;
            1   31     7         t  [J
            2   31     8       idx  I
            3   31     9       old  J
            4   31    11        ok  Z
            9   31    12       cnt  I
           17   31    13         r  J
           18   31    15  newbytes  I
           29   31    16    newcat  Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
      Exception table:
        from    to  target  type
          24    25      26  Class java.lang.InterruptedException
    MethodParameters:
        Name  Flags
      x       
      mask    
      hash    
      master  

  public long sum(long);
    descriptor: (J)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=2
        start local 0 // org.jruby.util.collections.ConcurrentAutoTable$CAT this
        start local 1 // long mask
         0: .line 1481
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._sum_cache:J
            lstore 3 /* sum */
        start local 3 // long sum
         1: .line 1482
            lload 3 /* sum */
            ldc -9223372036854775808
            lcmp
            ifeq 2
            lload 3 /* sum */
            lreturn
         2: .line 1483
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._next:Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
            ifnonnull 3
            lconst_0
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._next:Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
            lload 1 /* mask */
            invokevirtual org.jruby.util.collections.ConcurrentAutoTable$CAT.sum:(J)J
      StackMap locals:
      StackMap stack: long
         4: lstore 3 /* sum */
         5: .line 1484
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._t:[J
            astore 5 /* t */
        start local 5 // long[] t
         6: .line 1485
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 10
         8: .line 1486
      StackMap locals: long[] int
      StackMap stack:
            lload 3 /* sum */
            aload 5 /* t */
            iload 6 /* i */
            laload
            lload 1 /* mask */
            ldc -1
            lxor
            land
            ladd
            lstore 3 /* sum */
         9: .line 1485
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* i */
            aload 5 /* t */
            arraylength
            if_icmplt 8
        end local 6 // int i
        11: .line 1487
            aload 0 /* this */
            lload 3 /* sum */
            putfield org.jruby.util.collections.ConcurrentAutoTable$CAT._sum_cache:J
        12: .line 1488
            lload 3 /* sum */
            lreturn
        end local 5 // long[] t
        end local 3 // long sum
        end local 1 // long mask
        end local 0 // org.jruby.util.collections.ConcurrentAutoTable$CAT this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
            0   13     1  mask  J
            1   13     3   sum  J
            6   13     5     t  [J
            7   11     6     i  I
    MethodParameters:
      Name  Flags
      mask  

  public long estimate_sum(long);
    descriptor: (J)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.jruby.util.collections.ConcurrentAutoTable$CAT this
        start local 1 // long mask
         0: .line 1495
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._t:[J
            arraylength
            bipush 64
            if_icmpgt 1
            aload 0 /* this */
            lload 1 /* mask */
            invokevirtual org.jruby.util.collections.ConcurrentAutoTable$CAT.sum:(J)J
            lreturn
         1: .line 1497
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 3 /* millis */
        start local 3 // long millis
         2: .line 1498
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._fuzzy_time:J
            lload 3 /* millis */
            lcmp
            ifeq 5
         3: .line 1499
            aload 0 /* this */
            aload 0 /* this */
            lload 1 /* mask */
            invokevirtual org.jruby.util.collections.ConcurrentAutoTable$CAT.sum:(J)J
            putfield org.jruby.util.collections.ConcurrentAutoTable$CAT._fuzzy_sum_cache:J
         4: .line 1500
            aload 0 /* this */
            lload 3 /* millis */
            putfield org.jruby.util.collections.ConcurrentAutoTable$CAT._fuzzy_time:J
         5: .line 1502
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._fuzzy_sum_cache:J
            lreturn
        end local 3 // long millis
        end local 1 // long mask
        end local 0 // org.jruby.util.collections.ConcurrentAutoTable$CAT this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
            0    6     1    mask  J
            2    6     3  millis  J
    MethodParameters:
      Name  Flags
      mask  

  public void all_or(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=2
        start local 0 // org.jruby.util.collections.ConcurrentAutoTable$CAT this
        start local 1 // long mask
         0: .line 1507
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._t:[J
            astore 3 /* t */
        start local 3 // long[] t
         1: .line 1508
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 9
         3: .line 1509
      StackMap locals: long[] int
      StackMap stack:
            iconst_0
            istore 5 /* done */
        start local 5 // boolean done
         4: .line 1510
            goto 7
         5: .line 1511
      StackMap locals: int
      StackMap stack:
            aload 3 /* t */
            iload 4 /* i */
            laload
            lstore 6 /* old */
        start local 6 // long old
         6: .line 1512
            aload 3 /* t */
            iload 4 /* i */
            lload 6 /* old */
            lload 6 /* old */
            lload 1 /* mask */
            lor
            invokestatic org.jruby.util.collections.ConcurrentAutoTable$CAT.CAS:([JIJJ)Z
            istore 5 /* done */
        end local 6 // long old
         7: .line 1510
      StackMap locals:
      StackMap stack:
            iload 5 /* done */
            ifeq 5
        end local 5 // boolean done
         8: .line 1508
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 3 /* t */
            arraylength
            if_icmplt 3
        end local 4 // int i
        10: .line 1515
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._next:Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
            ifnull 11
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._next:Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
            lload 1 /* mask */
            invokevirtual org.jruby.util.collections.ConcurrentAutoTable$CAT.all_or:(J)V
        11: .line 1516
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._sum_cache:J
            ldc -9223372036854775808
            lcmp
            ifeq 13
        12: .line 1517
            aload 0 /* this */
            ldc -9223372036854775808
            putfield org.jruby.util.collections.ConcurrentAutoTable$CAT._sum_cache:J
        13: .line 1518
      StackMap locals:
      StackMap stack:
            return
        end local 3 // long[] t
        end local 1 // long mask
        end local 0 // org.jruby.util.collections.ConcurrentAutoTable$CAT this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
            0   14     1  mask  J
            1   14     3     t  [J
            2   10     4     i  I
            4    8     5  done  Z
            6    7     6   old  J
    MethodParameters:
      Name  Flags
      mask  

  public void all_and(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=2
        start local 0 // org.jruby.util.collections.ConcurrentAutoTable$CAT this
        start local 1 // long mask
         0: .line 1521
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._t:[J
            astore 3 /* t */
        start local 3 // long[] t
         1: .line 1522
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 9
         3: .line 1523
      StackMap locals: long[] int
      StackMap stack:
            iconst_0
            istore 5 /* done */
        start local 5 // boolean done
         4: .line 1524
            goto 7
         5: .line 1525
      StackMap locals: int
      StackMap stack:
            aload 3 /* t */
            iload 4 /* i */
            laload
            lstore 6 /* old */
        start local 6 // long old
         6: .line 1526
            aload 3 /* t */
            iload 4 /* i */
            lload 6 /* old */
            lload 6 /* old */
            lload 1 /* mask */
            land
            invokestatic org.jruby.util.collections.ConcurrentAutoTable$CAT.CAS:([JIJJ)Z
            istore 5 /* done */
        end local 6 // long old
         7: .line 1524
      StackMap locals:
      StackMap stack:
            iload 5 /* done */
            ifeq 5
        end local 5 // boolean done
         8: .line 1522
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 3 /* t */
            arraylength
            if_icmplt 3
        end local 4 // int i
        10: .line 1529
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._next:Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
            ifnull 11
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._next:Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
            lload 1 /* mask */
            invokevirtual org.jruby.util.collections.ConcurrentAutoTable$CAT.all_and:(J)V
        11: .line 1530
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._sum_cache:J
            ldc -9223372036854775808
            lcmp
            ifeq 13
        12: .line 1531
            aload 0 /* this */
            ldc -9223372036854775808
            putfield org.jruby.util.collections.ConcurrentAutoTable$CAT._sum_cache:J
        13: .line 1532
      StackMap locals:
      StackMap stack:
            return
        end local 3 // long[] t
        end local 1 // long mask
        end local 0 // org.jruby.util.collections.ConcurrentAutoTable$CAT this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
            0   14     1  mask  J
            1   14     3     t  [J
            2   10     4     i  I
            4    8     5  done  Z
            6    7     6   old  J
    MethodParameters:
      Name  Flags
      mask  

  public void all_set(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.jruby.util.collections.ConcurrentAutoTable$CAT this
        start local 1 // long val
         0: .line 1536
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._t:[J
            astore 3 /* t */
        start local 3 // long[] t
         1: .line 1537
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 1538
      StackMap locals: long[] int
      StackMap stack:
            aload 3 /* t */
            iload 4 /* i */
            lload 1 /* val */
            lastore
         4: .line 1537
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            aload 3 /* t */
            arraylength
            if_icmplt 3
        end local 4 // int i
         6: .line 1539
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._next:Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
            ifnull 7
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._next:Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
            lload 1 /* val */
            invokevirtual org.jruby.util.collections.ConcurrentAutoTable$CAT.all_set:(J)V
         7: .line 1540
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.util.collections.ConcurrentAutoTable$CAT._sum_cache:J
            ldc -9223372036854775808
            lcmp
            ifeq 9
         8: .line 1541
            aload 0 /* this */
            ldc -9223372036854775808
            putfield org.jruby.util.collections.ConcurrentAutoTable$CAT._sum_cache:J
         9: .line 1542
      StackMap locals:
      StackMap stack:
            return
        end local 3 // long[] t
        end local 1 // long val
        end local 0 // org.jruby.util.collections.ConcurrentAutoTable$CAT this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
            0   10     1   val  J
            1   10     3     t  [J
            2    6     4     i  I
    MethodParameters:
      Name  Flags
      val   

  java.lang.String toString(long);
    descriptor: (J)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.util.collections.ConcurrentAutoTable$CAT this
        start local 1 // long mask
         0: .line 1544
            aload 0 /* this */
            lload 1 /* mask */
            invokevirtual org.jruby.util.collections.ConcurrentAutoTable$CAT.sum:(J)J
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            areturn
        end local 1 // long mask
        end local 0 // org.jruby.util.collections.ConcurrentAutoTable$CAT this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/collections/ConcurrentAutoTable$CAT;
            0    1     1  mask  J
    MethodParameters:
      Name  Flags
      mask  
}
SourceFile: "NonBlockingHashMapLong.java"
NestHost: org.jruby.util.collections.ConcurrentAutoTable
InnerClasses:
  private CAT = org.jruby.util.collections.ConcurrentAutoTable$CAT of org.jruby.util.collections.ConcurrentAutoTable