final class java.util.concurrent.ForkJoinPool$WorkQueue
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: java.util.concurrent.ForkJoinPool$WorkQueue
  super_class: java.lang.Object
{
  static final int INITIAL_QUEUE_CAPACITY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8192

  static final int MAXIMUM_QUEUE_CAPACITY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 67108864

  volatile int scanState;
    descriptor: I
    flags: (0x0040) ACC_VOLATILE

  int stackPred;
    descriptor: I
    flags: (0x0000) 

  int nsteals;
    descriptor: I
    flags: (0x0000) 

  int hint;
    descriptor: I
    flags: (0x0000) 

  int config;
    descriptor: I
    flags: (0x0000) 

  volatile int qlock;
    descriptor: I
    flags: (0x0040) ACC_VOLATILE

  volatile int base;
    descriptor: I
    flags: (0x0040) ACC_VOLATILE

  int top;
    descriptor: I
    flags: (0x0000) 

  java.util.concurrent.ForkJoinTask<?>[] array;
    descriptor: [Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0000) 
    Signature: [Ljava/util/concurrent/ForkJoinTask<*>;

  final java.util.concurrent.ForkJoinPool pool;
    descriptor: Ljava/util/concurrent/ForkJoinPool;
    flags: (0x0010) ACC_FINAL

  final java.util.concurrent.ForkJoinWorkerThread owner;
    descriptor: Ljava/util/concurrent/ForkJoinWorkerThread;
    flags: (0x0010) ACC_FINAL

  volatile java.lang.Thread parker;
    descriptor: Ljava/lang/Thread;
    flags: (0x0040) ACC_VOLATILE

  volatile java.util.concurrent.ForkJoinTask<?> currentJoin;
    descriptor: Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0040) ACC_VOLATILE
    Signature: Ljava/util/concurrent/ForkJoinTask<*>;

  volatile java.util.concurrent.ForkJoinTask<?> currentSteal;
    descriptor: Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0040) ACC_VOLATILE
    Signature: Ljava/util/concurrent/ForkJoinTask<*>;

  private static final sun.misc.Unsafe U;
    descriptor: Lsun/misc/Unsafe;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

  private static final long QTOP;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long QLOCK;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long QCURRENTSTEAL;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=0
         0: .line 1228
            invokestatic sun.misc.Unsafe.getUnsafe:()Lsun/misc/Unsafe;
            putstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
         1: .line 1229
            ldc Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            astore 0 /* wk */
        start local 0 // java.lang.Class wk
         2: .line 1230
            ldc [Ljava/util/concurrent/ForkJoinTask;
            astore 1 /* ak */
        start local 1 // java.lang.Class ak
         3: .line 1231
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
         4: .line 1232
            aload 0 /* wk */
            ldc "top"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
         5: .line 1231
            invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
            putstatic java.util.concurrent.ForkJoinPool$WorkQueue.QTOP:J
         6: .line 1233
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
         7: .line 1234
            aload 0 /* wk */
            ldc "qlock"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
         8: .line 1233
            invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
            putstatic java.util.concurrent.ForkJoinPool$WorkQueue.QLOCK:J
         9: .line 1235
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
        10: .line 1236
            aload 0 /* wk */
            ldc "currentSteal"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
        11: .line 1235
            invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
            putstatic java.util.concurrent.ForkJoinPool$WorkQueue.QCURRENTSTEAL:J
        12: .line 1237
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 1 /* ak */
            invokevirtual sun.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
            putstatic java.util.concurrent.ForkJoinPool$WorkQueue.ABASE:I
        13: .line 1238
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 1 /* ak */
            invokevirtual sun.misc.Unsafe.arrayIndexScale:(Ljava/lang/Class;)I
            istore 2 /* scale */
        start local 2 // int scale
        14: .line 1239
            iload 2 /* scale */
            iload 2 /* scale */
            iconst_1
            isub
            iand
            ifeq 16
        15: .line 1240
            new java.lang.Error
            dup
            ldc "data type scale not a power of two"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 1241
      StackMap locals: java.lang.Class java.lang.Class int
      StackMap stack:
            bipush 31
            iload 2 /* scale */
            invokestatic java.lang.Integer.numberOfLeadingZeros:(I)I
            isub
            putstatic java.util.concurrent.ForkJoinPool$WorkQueue.ASHIFT:I
        end local 2 // int scale
        end local 1 // java.lang.Class ak
        end local 0 // java.lang.Class wk
        17: .line 1242
            goto 20
      StackMap locals:
      StackMap stack: java.lang.Exception
        18: astore 0 /* e */
        start local 0 // java.lang.Exception e
        19: .line 1243
            new java.lang.Error
            dup
            aload 0 /* e */
            invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.Exception e
        20: .line 1245
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            2   17     0     wk  Ljava/lang/Class<*>;
            3   17     1     ak  Ljava/lang/Class<*>;
           14   17     2  scale  I
           19   20     0      e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0    17      18  Class java.lang.Exception

  void <init>(java.util.concurrent.ForkJoinPool, java.util.concurrent.ForkJoinWorkerThread);
    descriptor: (Ljava/util/concurrent/ForkJoinPool;Ljava/util/concurrent/ForkJoinWorkerThread;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
        start local 1 // java.util.concurrent.ForkJoinPool pool
        start local 2 // java.util.concurrent.ForkJoinWorkerThread owner
         0: .line 816
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 817
            aload 0 /* this */
            aload 1 /* pool */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.pool:Ljava/util/concurrent/ForkJoinPool;
         2: .line 818
            aload 0 /* this */
            aload 2 /* owner */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.owner:Ljava/util/concurrent/ForkJoinWorkerThread;
         3: .line 820
            aload 0 /* this */
            aload 0 /* this */
            sipush 4096
            dup_x1
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
         4: .line 821
            return
        end local 2 // java.util.concurrent.ForkJoinWorkerThread owner
        end local 1 // java.util.concurrent.ForkJoinPool pool
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0    5     1   pool  Ljava/util/concurrent/ForkJoinPool;
            0    5     2  owner  Ljava/util/concurrent/ForkJoinWorkerThread;
    MethodParameters:
       Name  Flags
      pool   
      owner  

  final int getPoolIndex();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
         0: .line 827
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.config:I
            ldc 65535
            iand
            iconst_1
            iushr
            ireturn
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;

  final int queueSize();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
         0: .line 834
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            isub
            istore 1 /* n */
        start local 1 // int n
         1: .line 835
            iload 1 /* n */
            iflt 2
            iconst_0
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iload 1 /* n */
            ineg
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 1 // int n
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            1    4     1     n  I

  final boolean isEmpty();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
         0: .line 845
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            dup
            istore 4 /* s */
        start local 4 // int s
         1: isub
            dup
            istore 2 /* n */
        start local 2 // int n
         2: ifge 11
         3: .line 846
            iload 2 /* n */
            iconst_m1
            if_icmpne 10
         4: .line 847
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 1 /* a */
        start local 1 // java.util.concurrent.ForkJoinTask[] a
         5: ifnull 11
            aload 1 /* a */
            arraylength
            iconst_1
            isub
            dup
            istore 3 /* m */
        start local 3 // int m
         6: iflt 11
         7: .line 848
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
         8: .line 849
            aload 1 /* a */
            iload 3 /* m */
            iload 4 /* s */
            iconst_1
            isub
            iand
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ASHIFT:I
            ishl
            i2l
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ABASE:I
            i2l
            ladd
         9: .line 848
            invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
            ifnull 11
        end local 3 // int m
        end local 1 // java.util.concurrent.ForkJoinTask[] a
        10: .line 845
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue top int top int
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        11: iconst_1
            ireturn
        end local 4 // int s
        end local 2 // int n
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            5   10     1     a  [Ljava/util/concurrent/ForkJoinTask;
            2   12     2     n  I
            6   10     3     m  I
            1   12     4     s  I

  final void push(java.util.concurrent.ForkJoinTask<?>);
    descriptor: (Ljava/util/concurrent/ForkJoinTask;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
        start local 1 // java.util.concurrent.ForkJoinTask task
         0: .line 861
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            istore 4 /* b */
        start local 4 // int b
         1: aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            istore 5 /* s */
        start local 5 // int s
         2: .line 862
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 2 /* a */
        start local 2 // java.util.concurrent.ForkJoinTask[] a
         3: ifnull 15
         4: .line 863
            aload 2 /* a */
            arraylength
            iconst_1
            isub
            istore 7 /* m */
        start local 7 // int m
         5: .line 864
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 2 /* a */
            iload 7 /* m */
            iload 5 /* s */
            iand
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ASHIFT:I
            ishl
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ABASE:I
            iadd
            i2l
            aload 1 /* task */
            invokevirtual sun.misc.Unsafe.putOrderedObject:(Ljava/lang/Object;JLjava/lang/Object;)V
         6: .line 865
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.QTOP:J
            iload 5 /* s */
            iconst_1
            iadd
            invokevirtual sun.misc.Unsafe.putOrderedInt:(Ljava/lang/Object;JI)V
         7: .line 866
            iload 5 /* s */
            iload 4 /* b */
            isub
            dup
            istore 6 /* n */
        start local 6 // int n
         8: iconst_1
            if_icmpgt 13
         9: .line 867
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.pool:Ljava/util/concurrent/ForkJoinPool;
            dup
            astore 3 /* p */
        start local 3 // java.util.concurrent.ForkJoinPool p
        10: ifnull 15
        11: .line 868
            aload 3 /* p */
            aload 3 /* p */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.signalWork:([Ljava/util/concurrent/ForkJoinPool$WorkQueue;Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V
        12: .line 869
            goto 15
        end local 3 // java.util.concurrent.ForkJoinPool p
        13: .line 870
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinTask[] top int int int int
      StackMap stack:
            iload 6 /* n */
            iload 7 /* m */
            if_icmplt 15
        14: .line 871
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.growArray:()[Ljava/util/concurrent/ForkJoinTask;
            pop
        end local 7 // int m
        end local 6 // int n
        15: .line 873
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int s
        end local 4 // int b
        end local 2 // java.util.concurrent.ForkJoinTask[] a
        end local 1 // java.util.concurrent.ForkJoinTask task
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   16     1  task  Ljava/util/concurrent/ForkJoinTask<*>;
            3   16     2     a  [Ljava/util/concurrent/ForkJoinTask;
           10   13     3     p  Ljava/util/concurrent/ForkJoinPool;
            1   16     4     b  I
            2   16     5     s  I
            8   15     6     n  I
            5   15     7     m  I
    Signature: (Ljava/util/concurrent/ForkJoinTask<*>;)V
    MethodParameters:
      Name  Flags
      task  

  final java.util.concurrent.ForkJoinTask<?>[] growArray();
    descriptor: ()[Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=11, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
         0: .line 881
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            astore 1 /* oldA */
        start local 1 // java.util.concurrent.ForkJoinTask[] oldA
         1: .line 882
            aload 1 /* oldA */
            ifnull 2
            aload 1 /* oldA */
            arraylength
            iconst_1
            ishl
            goto 3
      StackMap locals: java.util.concurrent.ForkJoinTask[]
      StackMap stack:
         2: sipush 8192
      StackMap locals:
      StackMap stack: int
         3: istore 2 /* size */
        start local 2 // int size
         4: .line 883
            iload 2 /* size */
            ldc 67108864
            if_icmple 6
         5: .line 884
            new java.util.concurrent.RejectedExecutionException
            dup
            ldc "Queue capacity exceeded"
            invokespecial java.util.concurrent.RejectedExecutionException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 886
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* size */
            anewarray java.util.concurrent.ForkJoinTask
            dup_x1
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            astore 6 /* a */
        start local 6 // java.util.concurrent.ForkJoinTask[] a
         7: .line 887
            aload 1 /* oldA */
            ifnull 20
            aload 1 /* oldA */
            arraylength
            iconst_1
            isub
            dup
            istore 3 /* oldMask */
        start local 3 // int oldMask
         8: iflt 20
         9: .line 888
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            dup
            istore 4 /* t */
        start local 4 // int t
        10: aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            dup
            istore 5 /* b */
        start local 5 // int b
        11: isub
            ifle 20
        12: .line 889
            iload 2 /* size */
            iconst_1
            isub
            istore 7 /* mask */
        start local 7 // int mask
        13: .line 892
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask[] int int int int java.util.concurrent.ForkJoinTask[] int
      StackMap stack:
            iload 5 /* b */
            iload 3 /* oldMask */
            iand
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ASHIFT:I
            ishl
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ABASE:I
            iadd
            istore 9 /* oldj */
        start local 9 // int oldj
        14: .line 893
            iload 5 /* b */
            iload 7 /* mask */
            iand
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ASHIFT:I
            ishl
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ABASE:I
            iadd
            istore 10 /* j */
        start local 10 // int j
        15: .line 894
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 1 /* oldA */
            iload 9 /* oldj */
            i2l
            invokevirtual sun.misc.Unsafe.getObjectVolatile:(Ljava/lang/Object;J)Ljava/lang/Object;
            checkcast java.util.concurrent.ForkJoinTask
            astore 8 /* x */
        start local 8 // java.util.concurrent.ForkJoinTask x
        16: .line 895
            aload 8 /* x */
            ifnull 19
        17: .line 896
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 1 /* oldA */
            iload 9 /* oldj */
            i2l
            aload 8 /* x */
            aconst_null
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            ifeq 19
        18: .line 897
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 6 /* a */
            iload 10 /* j */
            i2l
            aload 8 /* x */
            invokevirtual sun.misc.Unsafe.putObjectVolatile:(Ljava/lang/Object;JLjava/lang/Object;)V
        end local 10 // int j
        end local 9 // int oldj
        end local 8 // java.util.concurrent.ForkJoinTask x
        19: .line 898
      StackMap locals:
      StackMap stack:
            iinc 5 /* b */ 1
            iload 5 /* b */
            iload 4 /* t */
            if_icmpne 13
        end local 7 // int mask
        end local 5 // int b
        end local 4 // int t
        end local 3 // int oldMask
        20: .line 900
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask[] int top top top java.util.concurrent.ForkJoinTask[]
      StackMap stack:
            aload 6 /* a */
            areturn
        end local 6 // java.util.concurrent.ForkJoinTask[] a
        end local 2 // int size
        end local 1 // java.util.concurrent.ForkJoinTask[] oldA
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   21     0     this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            1   21     1     oldA  [Ljava/util/concurrent/ForkJoinTask;
            4   21     2     size  I
            8   20     3  oldMask  I
           10   20     4        t  I
           11   20     5        b  I
            7   21     6        a  [Ljava/util/concurrent/ForkJoinTask;
           13   20     7     mask  I
           16   19     8        x  Ljava/util/concurrent/ForkJoinTask<*>;
           14   19     9     oldj  I
           15   19    10        j  I
    Signature: ()[Ljava/util/concurrent/ForkJoinTask<*>;

  final java.util.concurrent.ForkJoinTask<?> pop();
    descriptor: ()Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
         0: .line 909
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 1 /* a */
        start local 1 // java.util.concurrent.ForkJoinTask[] a
         1: ifnull 13
            aload 1 /* a */
            arraylength
            iconst_1
            isub
            dup
            istore 3 /* m */
        start local 3 // int m
         2: iflt 13
         3: .line 910
            goto 11
        start local 4 // int s
         4: .line 911
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask[] top int int
      StackMap stack:
            iload 3 /* m */
            iload 4 /* s */
            iand
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ASHIFT:I
            ishl
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ABASE:I
            iadd
            i2l
            lstore 5 /* j */
        start local 5 // long j
         5: .line 912
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 1 /* a */
            lload 5 /* j */
            invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
            checkcast java.util.concurrent.ForkJoinTask
            dup
            astore 2 /* t */
        start local 2 // java.util.concurrent.ForkJoinTask t
         6: ifnonnull 8
         7: .line 913
            goto 13
         8: .line 914
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask[] java.util.concurrent.ForkJoinTask int int long
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 1 /* a */
            lload 5 /* j */
            aload 2 /* t */
            aconst_null
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            ifeq 11
         9: .line 915
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.QTOP:J
            iload 4 /* s */
            invokevirtual sun.misc.Unsafe.putOrderedInt:(Ljava/lang/Object;JI)V
        10: .line 916
            aload 2 /* t */
            areturn
        end local 5 // long j
        end local 4 // int s
        end local 2 // java.util.concurrent.ForkJoinTask t
        11: .line 910
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask[] top int
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            iconst_1
            isub
            dup
            istore 4 /* s */
        start local 4 // int s
        12: aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            isub
            ifge 4
        end local 4 // int s
        end local 3 // int m
        13: .line 920
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask[]
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.util.concurrent.ForkJoinTask[] a
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            1   14     1     a  [Ljava/util/concurrent/ForkJoinTask;
            6   11     2     t  Ljava/util/concurrent/ForkJoinTask<*>;
            2   13     3     m  I
            4   11     4     s  I
           12   13     4     s  I
            5   11     5     j  J
    Signature: ()Ljava/util/concurrent/ForkJoinTask<*>;

  final java.util.concurrent.ForkJoinTask<?> pollAt(int);
    descriptor: (I)Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
        start local 1 // int b
         0: .line 930
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 3 /* a */
        start local 3 // java.util.concurrent.ForkJoinTask[] a
         1: ifnull 8
         2: .line 931
            aload 3 /* a */
            arraylength
            iconst_1
            isub
            iload 1 /* b */
            iand
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ASHIFT:I
            ishl
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ABASE:I
            iadd
            istore 4 /* j */
        start local 4 // int j
         3: .line 932
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 3 /* a */
            iload 4 /* j */
            i2l
            invokevirtual sun.misc.Unsafe.getObjectVolatile:(Ljava/lang/Object;J)Ljava/lang/Object;
            checkcast java.util.concurrent.ForkJoinTask
            dup
            astore 2 /* t */
        start local 2 // java.util.concurrent.ForkJoinTask t
         4: ifnull 8
         5: .line 933
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            iload 1 /* b */
            if_icmpne 8
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 3 /* a */
            iload 4 /* j */
            i2l
            aload 2 /* t */
            aconst_null
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            ifeq 8
         6: .line 934
            aload 0 /* this */
            iload 1 /* b */
            iconst_1
            iadd
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
         7: .line 935
            aload 2 /* t */
            areturn
        end local 4 // int j
        end local 2 // java.util.concurrent.ForkJoinTask t
         8: .line 938
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue int top java.util.concurrent.ForkJoinTask[]
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.util.concurrent.ForkJoinTask[] a
        end local 1 // int b
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0    9     1     b  I
            4    8     2     t  Ljava/util/concurrent/ForkJoinTask<*>;
            1    9     3     a  [Ljava/util/concurrent/ForkJoinTask;
            3    8     4     j  I
    Signature: (I)Ljava/util/concurrent/ForkJoinTask<*>;
    MethodParameters:
      Name  Flags
      b     

  final java.util.concurrent.ForkJoinTask<?> poll();
    descriptor: ()Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
         0: .line 946
            goto 10
        start local 1 // java.util.concurrent.ForkJoinTask[] a
        start local 2 // int b
         1: .line 947
      StackMap locals: java.util.concurrent.ForkJoinTask[] int
      StackMap stack:
            aload 1 /* a */
            arraylength
            iconst_1
            isub
            iload 2 /* b */
            iand
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ASHIFT:I
            ishl
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ABASE:I
            iadd
            istore 4 /* j */
        start local 4 // int j
         2: .line 948
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 1 /* a */
            iload 4 /* j */
            i2l
            invokevirtual sun.misc.Unsafe.getObjectVolatile:(Ljava/lang/Object;J)Ljava/lang/Object;
            checkcast java.util.concurrent.ForkJoinTask
            astore 3 /* t */
        start local 3 // java.util.concurrent.ForkJoinTask t
         3: .line 949
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            iload 2 /* b */
            if_icmpne 10
         4: .line 950
            aload 3 /* t */
            ifnull 8
         5: .line 951
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 1 /* a */
            iload 4 /* j */
            i2l
            aload 3 /* t */
            aconst_null
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            ifeq 10
         6: .line 952
            aload 0 /* this */
            iload 2 /* b */
            iconst_1
            iadd
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
         7: .line 953
            aload 3 /* t */
            areturn
         8: .line 956
      StackMap locals: java.util.concurrent.ForkJoinTask int
      StackMap stack:
            iload 2 /* b */
            iconst_1
            iadd
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            if_icmpne 10
         9: .line 957
            goto 13
        end local 4 // int j
        end local 3 // java.util.concurrent.ForkJoinTask t
        end local 2 // int b
        end local 1 // java.util.concurrent.ForkJoinTask[] a
        10: .line 946
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            dup
            istore 2 /* b */
        start local 2 // int b
        11: aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            isub
            ifge 13
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 1 /* a */
        start local 1 // java.util.concurrent.ForkJoinTask[] a
        12: ifnonnull 1
        end local 1 // java.util.concurrent.ForkJoinTask[] a
        13: .line 960
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue top int
      StackMap stack:
            aconst_null
            areturn
        end local 2 // int b
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            1   10     1     a  [Ljava/util/concurrent/ForkJoinTask;
           12   13     1     a  [Ljava/util/concurrent/ForkJoinTask;
            1   10     2     b  I
           11   14     2     b  I
            3   10     3     t  Ljava/util/concurrent/ForkJoinTask<*>;
            2   10     4     j  I
    Signature: ()Ljava/util/concurrent/ForkJoinTask<*>;

  final java.util.concurrent.ForkJoinTask<?> nextLocalTask();
    descriptor: ()Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
         0: .line 967
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.config:I
            ldc 65536
            iand
            ifne 1
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.pop:()Ljava/util/concurrent/ForkJoinTask;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.poll:()Ljava/util/concurrent/ForkJoinTask;
      StackMap locals:
      StackMap stack: java.util.concurrent.ForkJoinTask
         2: areturn
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
    Signature: ()Ljava/util/concurrent/ForkJoinTask<*>;

  final java.util.concurrent.ForkJoinTask<?> peek();
    descriptor: ()Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
         0: .line 974
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            astore 1 /* a */
        start local 1 // java.util.concurrent.ForkJoinTask[] a
         1: .line 975
            aload 1 /* a */
            ifnull 3
            aload 1 /* a */
            arraylength
            iconst_1
            isub
            dup
            istore 2 /* m */
        start local 2 // int m
         2: ifge 4
        end local 2 // int m
         3: .line 976
      StackMap locals: java.util.concurrent.ForkJoinTask[]
      StackMap stack:
            aconst_null
            areturn
        start local 2 // int m
         4: .line 977
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.config:I
            ldc 65536
            iand
            ifne 5
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            iconst_1
            isub
            goto 6
      StackMap locals:
      StackMap stack:
         5: aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
      StackMap locals:
      StackMap stack: int
         6: istore 3 /* i */
        start local 3 // int i
         7: .line 978
            iload 3 /* i */
            iload 2 /* m */
            iand
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ASHIFT:I
            ishl
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ABASE:I
            iadd
            istore 4 /* j */
        start local 4 // int j
         8: .line 979
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 1 /* a */
            iload 4 /* j */
            i2l
            invokevirtual sun.misc.Unsafe.getObjectVolatile:(Ljava/lang/Object;J)Ljava/lang/Object;
            checkcast java.util.concurrent.ForkJoinTask
            areturn
        end local 4 // int j
        end local 3 // int i
        end local 2 // int m
        end local 1 // java.util.concurrent.ForkJoinTask[] a
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            1    9     1     a  [Ljava/util/concurrent/ForkJoinTask;
            2    3     2     m  I
            4    9     2     m  I
            7    9     3     i  I
            8    9     4     j  I
    Signature: ()Ljava/util/concurrent/ForkJoinTask<*>;

  final boolean tryUnpush(java.util.concurrent.ForkJoinTask<?>);
    descriptor: (Ljava/util/concurrent/ForkJoinTask;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
        start local 1 // java.util.concurrent.ForkJoinTask t
         0: .line 988
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 2 /* a */
        start local 2 // java.util.concurrent.ForkJoinTask[] a
         1: ifnull 9
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            dup
            istore 3 /* s */
        start local 3 // int s
         2: aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            if_icmpeq 9
         3: .line 989
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
         4: .line 990
            aload 2 /* a */
            aload 2 /* a */
            arraylength
            iconst_1
            isub
            iinc 3 /* s */ -1
            iload 3 /* s */
            iand
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ASHIFT:I
            ishl
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ABASE:I
            iadd
            i2l
            aload 1 /* t */
            aconst_null
         5: .line 989
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
         6: .line 990
            ifeq 9
         7: .line 991
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.QTOP:J
            iload 3 /* s */
            invokevirtual sun.misc.Unsafe.putOrderedInt:(Ljava/lang/Object;JI)V
         8: .line 992
            iconst_1
            ireturn
        end local 3 // int s
         9: .line 994
      StackMap locals: java.util.concurrent.ForkJoinTask[]
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.util.concurrent.ForkJoinTask[] a
        end local 1 // java.util.concurrent.ForkJoinTask t
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   10     1     t  Ljava/util/concurrent/ForkJoinTask<*>;
            1   10     2     a  [Ljava/util/concurrent/ForkJoinTask;
            2    9     3     s  I
    Signature: (Ljava/util/concurrent/ForkJoinTask<*>;)Z
    MethodParameters:
      Name  Flags
      t     

  final void cancelAll();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
         0: .line 1002
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.currentJoin:Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 1 /* t */
        start local 1 // java.util.concurrent.ForkJoinTask t
         1: ifnull 4
         2: .line 1003
            aload 0 /* this */
            aconst_null
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.currentJoin:Ljava/util/concurrent/ForkJoinTask;
         3: .line 1004
            aload 1 /* t */
            invokestatic java.util.concurrent.ForkJoinTask.cancelIgnoringExceptions:(Ljava/util/concurrent/ForkJoinTask;)V
         4: .line 1006
      StackMap locals: java.util.concurrent.ForkJoinTask
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.currentSteal:Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 1 /* t */
            ifnull 9
         5: .line 1007
            aload 0 /* this */
            aconst_null
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.currentSteal:Ljava/util/concurrent/ForkJoinTask;
         6: .line 1008
            aload 1 /* t */
            invokestatic java.util.concurrent.ForkJoinTask.cancelIgnoringExceptions:(Ljava/util/concurrent/ForkJoinTask;)V
         7: .line 1010
            goto 9
         8: .line 1011
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            invokestatic java.util.concurrent.ForkJoinTask.cancelIgnoringExceptions:(Ljava/util/concurrent/ForkJoinTask;)V
         9: .line 1010
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.poll:()Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 1 /* t */
            ifnonnull 8
        10: .line 1012
            return
        end local 1 // java.util.concurrent.ForkJoinTask t
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            1   11     1     t  Ljava/util/concurrent/ForkJoinTask<*>;

  final void pollAndExecAll();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
         0: .line 1020
            goto 2
        start local 1 // java.util.concurrent.ForkJoinTask t
         1: .line 1021
      StackMap locals: java.util.concurrent.ForkJoinTask
      StackMap stack:
            aload 1 /* t */
            invokevirtual java.util.concurrent.ForkJoinTask.doExec:()I
            pop
        end local 1 // java.util.concurrent.ForkJoinTask t
         2: .line 1020
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.poll:()Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 1 /* t */
        start local 1 // java.util.concurrent.ForkJoinTask t
         3: ifnonnull 1
        end local 1 // java.util.concurrent.ForkJoinTask t
         4: .line 1022
            return
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            1    2     1     t  Ljava/util/concurrent/ForkJoinTask<*>;
            3    4     1     t  Ljava/util/concurrent/ForkJoinTask<*>;

  final void execLocalTasks();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
         0: .line 1030
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            istore 1 /* b */
        start local 1 // int b
         1: .line 1031
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            astore 4 /* a */
        start local 4 // java.util.concurrent.ForkJoinTask[] a
         2: .line 1032
            iload 1 /* b */
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            iconst_1
            isub
            dup
            istore 3 /* s */
        start local 3 // int s
         3: isub
            ifgt 17
            aload 4 /* a */
            ifnull 17
         4: .line 1033
            aload 4 /* a */
            arraylength
            iconst_1
            isub
            dup
            istore 2 /* m */
        start local 2 // int m
         5: iflt 17
         6: .line 1034
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.config:I
            ldc 65536
            iand
            ifne 16
         7: .line 1036
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue int int int java.util.concurrent.ForkJoinTask[]
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
         8: .line 1037
            aload 4 /* a */
            iload 2 /* m */
            iload 3 /* s */
            iand
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ASHIFT:I
            ishl
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ABASE:I
            iadd
            i2l
            aconst_null
         9: .line 1036
            invokevirtual sun.misc.Unsafe.getAndSetObject:(Ljava/lang/Object;JLjava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.concurrent.ForkJoinTask
            dup
            astore 5 /* t */
        start local 5 // java.util.concurrent.ForkJoinTask t
        10: ifnonnull 12
        11: .line 1038
            goto 17
        12: .line 1039
      StackMap locals: java.util.concurrent.ForkJoinTask
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.QTOP:J
            iload 3 /* s */
            invokevirtual sun.misc.Unsafe.putOrderedInt:(Ljava/lang/Object;JI)V
        13: .line 1040
            aload 5 /* t */
            invokevirtual java.util.concurrent.ForkJoinTask.doExec:()I
            pop
        14: .line 1041
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            iconst_1
            isub
            dup
            istore 3 /* s */
            isub
            ifle 7
        end local 5 // java.util.concurrent.ForkJoinTask t
        15: .line 1044
            goto 17
        16: .line 1046
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.pollAndExecAll:()V
        end local 2 // int m
        17: .line 1048
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue int top int java.util.concurrent.ForkJoinTask[]
      StackMap stack:
            return
        end local 4 // java.util.concurrent.ForkJoinTask[] a
        end local 3 // int s
        end local 1 // int b
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            1   18     1     b  I
            5   17     2     m  I
            3   18     3     s  I
            2   18     4     a  [Ljava/util/concurrent/ForkJoinTask;
           10   15     5     t  Ljava/util/concurrent/ForkJoinTask<*>;

  final void runTask(java.util.concurrent.ForkJoinTask<?>);
    descriptor: (Ljava/util/concurrent/ForkJoinTask;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
        start local 1 // java.util.concurrent.ForkJoinTask task
         0: .line 1054
            aload 1 /* task */
            ifnull 11
         1: .line 1055
            aload 0 /* this */
            dup
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
            bipush -2
            iand
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
         2: .line 1056
            aload 0 /* this */
            aload 1 /* task */
            dup_x1
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.currentSteal:Ljava/util/concurrent/ForkJoinTask;
            invokevirtual java.util.concurrent.ForkJoinTask.doExec:()I
            pop
         3: .line 1057
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.QCURRENTSTEAL:J
            aconst_null
            invokevirtual sun.misc.Unsafe.putOrderedObject:(Ljava/lang/Object;JLjava/lang/Object;)V
         4: .line 1058
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.execLocalTasks:()V
         5: .line 1059
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.owner:Ljava/util/concurrent/ForkJoinWorkerThread;
            astore 2 /* thread */
        start local 2 // java.util.concurrent.ForkJoinWorkerThread thread
         6: .line 1060
            aload 0 /* this */
            dup
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.nsteals:I
            iconst_1
            iadd
            dup_x1
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.nsteals:I
            ifge 8
         7: .line 1061
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.pool:Ljava/util/concurrent/ForkJoinPool;
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.transferStealCount:(Ljava/util/concurrent/ForkJoinPool;)V
         8: .line 1062
      StackMap locals: java.util.concurrent.ForkJoinWorkerThread
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
            iconst_1
            ior
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
         9: .line 1063
            aload 2 /* thread */
            ifnull 11
        10: .line 1064
            aload 2 /* thread */
            invokevirtual java.util.concurrent.ForkJoinWorkerThread.afterTopLevelExec:()V
        end local 2 // java.util.concurrent.ForkJoinWorkerThread thread
        11: .line 1066
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.concurrent.ForkJoinTask task
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   12     1    task  Ljava/util/concurrent/ForkJoinTask<*>;
            6   11     2  thread  Ljava/util/concurrent/ForkJoinWorkerThread;
    Signature: (Ljava/util/concurrent/ForkJoinTask<*>;)V
    MethodParameters:
      Name  Flags
      task  

  final void transferStealCount(java.util.concurrent.ForkJoinPool);
    descriptor: (Ljava/util/concurrent/ForkJoinPool;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
        start local 1 // java.util.concurrent.ForkJoinPool p
         0: .line 1073
            aload 1 /* p */
            ifnull 7
            aload 1 /* p */
            getfield java.util.concurrent.ForkJoinPool.stealCounter:Ljava/util/concurrent/atomic/AtomicLong;
            dup
            astore 2 /* sc */
        start local 2 // java.util.concurrent.atomic.AtomicLong sc
         1: ifnull 7
         2: .line 1074
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.nsteals:I
            istore 3 /* s */
        start local 3 // int s
         3: .line 1075
            aload 0 /* this */
            iconst_0
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.nsteals:I
         4: .line 1076
            aload 2 /* sc */
            iload 3 /* s */
            ifge 5
            ldc 2147483647
            goto 6
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinPool java.util.concurrent.atomic.AtomicLong int
      StackMap stack: java.util.concurrent.atomic.AtomicLong
         5: iload 3 /* s */
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinPool java.util.concurrent.atomic.AtomicLong int
      StackMap stack: java.util.concurrent.atomic.AtomicLong int
         6: i2l
            invokevirtual java.util.concurrent.atomic.AtomicLong.getAndAdd:(J)J
            pop2
        end local 3 // int s
        end local 2 // java.util.concurrent.atomic.AtomicLong sc
         7: .line 1078
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.concurrent.ForkJoinPool p
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0    8     1     p  Ljava/util/concurrent/ForkJoinPool;
            1    7     2    sc  Ljava/util/concurrent/atomic/AtomicLong;
            3    7     3     s  I
    MethodParameters:
      Name  Flags
      p     

  final boolean tryRemoveAndExec(java.util.concurrent.ForkJoinTask<?>);
    descriptor: (Ljava/util/concurrent/ForkJoinTask;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=7, locals=11, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
        start local 1 // java.util.concurrent.ForkJoinTask task
         0: .line 1088
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 2 /* a */
        start local 2 // java.util.concurrent.ForkJoinTask[] a
         1: ifnull 36
            aload 2 /* a */
            arraylength
            iconst_1
            isub
            dup
            istore 3 /* m */
        start local 3 // int m
         2: iflt 36
         3: .line 1089
            aload 1 /* task */
            ifnull 36
         4: .line 1090
            goto 32
        start local 4 // int s
        start local 5 // int b
        start local 6 // int n
         5: .line 1092
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinTask[] int int int int
      StackMap stack:
            iinc 4 /* s */ -1
            iload 4 /* s */
            iload 3 /* m */
            iand
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ASHIFT:I
            ishl
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ABASE:I
            iadd
            i2l
            lstore 8 /* j */
        start local 8 // long j
         6: .line 1093
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 2 /* a */
            lload 8 /* j */
            invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
            checkcast java.util.concurrent.ForkJoinTask
            dup
            astore 7 /* t */
        start local 7 // java.util.concurrent.ForkJoinTask t
         7: ifnonnull 10
         8: .line 1094
            iload 4 /* s */
            iconst_1
            iadd
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            if_icmpne 9
            iconst_1
            ireturn
      StackMap locals: java.util.concurrent.ForkJoinTask long
      StackMap stack:
         9: iconst_0
            ireturn
        10: .line 1095
      StackMap locals:
      StackMap stack:
            aload 7 /* t */
            aload 1 /* task */
            if_acmpne 24
        11: .line 1096
            iconst_0
            istore 10 /* removed */
        start local 10 // boolean removed
        12: .line 1097
            iload 4 /* s */
            iconst_1
            iadd
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            if_icmpne 17
        13: .line 1098
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 2 /* a */
            lload 8 /* j */
            aload 1 /* task */
            aconst_null
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            ifeq 21
        14: .line 1099
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.QTOP:J
            iload 4 /* s */
            invokevirtual sun.misc.Unsafe.putOrderedInt:(Ljava/lang/Object;JI)V
        15: .line 1100
            iconst_1
            istore 10 /* removed */
        16: .line 1102
            goto 21
        17: .line 1103
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            iload 5 /* b */
            if_icmpne 21
        18: .line 1104
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
        19: .line 1105
            aload 2 /* a */
            lload 8 /* j */
            aload 1 /* task */
            new java.util.concurrent.ForkJoinPool$EmptyTask
            dup
            invokespecial java.util.concurrent.ForkJoinPool$EmptyTask.<init>:()V
        20: .line 1104
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            istore 10 /* removed */
        21: .line 1106
      StackMap locals:
      StackMap stack:
            iload 10 /* removed */
            ifeq 30
        22: .line 1107
            aload 1 /* task */
            invokevirtual java.util.concurrent.ForkJoinTask.doExec:()I
            pop
        23: .line 1108
            goto 30
        end local 10 // boolean removed
        24: .line 1110
      StackMap locals:
      StackMap stack:
            aload 7 /* t */
            getfield java.util.concurrent.ForkJoinTask.status:I
            ifge 28
            iload 4 /* s */
            iconst_1
            iadd
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            if_icmpne 28
        25: .line 1111
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 2 /* a */
            lload 8 /* j */
            aload 7 /* t */
            aconst_null
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            ifeq 30
        26: .line 1112
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.QTOP:J
            iload 4 /* s */
            invokevirtual sun.misc.Unsafe.putOrderedInt:(Ljava/lang/Object;JI)V
        27: .line 1113
            goto 30
        28: .line 1115
      StackMap locals:
      StackMap stack:
            iinc 6 /* n */ -1
            iload 6 /* n */
            ifne 5
        29: .line 1116
            iconst_0
            ireturn
        end local 8 // long j
        end local 7 // java.util.concurrent.ForkJoinTask t
        30: .line 1118
      StackMap locals:
      StackMap stack:
            aload 1 /* task */
            getfield java.util.concurrent.ForkJoinTask.status:I
            ifge 32
        31: .line 1119
            iconst_0
            ireturn
        end local 6 // int n
        end local 5 // int b
        end local 4 // int s
        32: .line 1090
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            dup
            istore 4 /* s */
        start local 4 // int s
        33: aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            dup
            istore 5 /* b */
        start local 5 // int b
        34: isub
            dup
            istore 6 /* n */
        start local 6 // int n
        35: ifgt 5
        end local 6 // int n
        end local 5 // int b
        end local 4 // int s
        end local 3 // int m
        36: .line 1122
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // java.util.concurrent.ForkJoinTask[] a
        end local 1 // java.util.concurrent.ForkJoinTask task
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   37     0     this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   37     1     task  Ljava/util/concurrent/ForkJoinTask<*>;
            1   37     2        a  [Ljava/util/concurrent/ForkJoinTask;
            2   36     3        m  I
            5   32     4        s  I
           33   36     4        s  I
            5   32     5        b  I
           34   36     5        b  I
            5   32     6        n  I
           35   36     6        n  I
            7   30     7        t  Ljava/util/concurrent/ForkJoinTask<*>;
            6   30     8        j  J
           12   24    10  removed  Z
    Signature: (Ljava/util/concurrent/ForkJoinTask<*>;)Z
    MethodParameters:
      Name  Flags
      task  

  final java.util.concurrent.CountedCompleter<?> popCC(java.util.concurrent.CountedCompleter<?>, int);
    descriptor: (Ljava/util/concurrent/CountedCompleter;I)Ljava/util/concurrent/CountedCompleter;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
        start local 1 // java.util.concurrent.CountedCompleter task
        start local 2 // int mode
         0: .line 1131
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            dup
            istore 3 /* s */
        start local 3 // int s
         1: isub
            ifge 23
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 4 /* a */
        start local 4 // java.util.concurrent.ForkJoinTask[] a
         2: ifnull 23
         3: .line 1132
            aload 4 /* a */
            arraylength
            iconst_1
            isub
            iload 3 /* s */
            iconst_1
            isub
            iand
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ASHIFT:I
            ishl
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ABASE:I
            iadd
            i2l
            lstore 6 /* j */
        start local 6 // long j
         4: .line 1133
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 4 /* a */
            lload 6 /* j */
            invokevirtual sun.misc.Unsafe.getObjectVolatile:(Ljava/lang/Object;J)Ljava/lang/Object;
            dup
            astore 5 /* o */
        start local 5 // java.lang.Object o
         5: ifnull 23
         6: .line 1134
            aload 5 /* o */
            instanceof java.util.concurrent.CountedCompleter
            ifeq 23
         7: .line 1135
            aload 5 /* o */
            checkcast java.util.concurrent.CountedCompleter
            astore 8 /* t */
        start local 8 // java.util.concurrent.CountedCompleter t
         8: .line 1136
            aload 8 /* t */
            astore 9 /* r */
        start local 9 // java.util.concurrent.CountedCompleter r
         9: .line 1137
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.CountedCompleter int int java.util.concurrent.ForkJoinTask[] java.lang.Object long java.util.concurrent.CountedCompleter java.util.concurrent.CountedCompleter
      StackMap stack:
            aload 9 /* r */
            aload 1 /* task */
            if_acmpne 22
        10: .line 1138
            iload 2 /* mode */
            ifge 19
        11: .line 1139
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.QLOCK:J
            iconst_0
            iconst_1
            invokevirtual sun.misc.Unsafe.compareAndSwapInt:(Ljava/lang/Object;JII)Z
            ifeq 23
        12: .line 1140
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            iload 3 /* s */
            if_icmpne 17
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            aload 4 /* a */
            if_acmpne 17
        13: .line 1141
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 4 /* a */
            lload 6 /* j */
            aload 8 /* t */
            aconst_null
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            ifeq 17
        14: .line 1142
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.QTOP:J
            iload 3 /* s */
            iconst_1
            isub
            invokevirtual sun.misc.Unsafe.putOrderedInt:(Ljava/lang/Object;JI)V
        15: .line 1143
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.QLOCK:J
            iconst_0
            invokevirtual sun.misc.Unsafe.putOrderedInt:(Ljava/lang/Object;JI)V
        16: .line 1144
            aload 8 /* t */
            areturn
        17: .line 1146
      StackMap locals:
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.QLOCK:J
            iconst_1
            iconst_0
            invokevirtual sun.misc.Unsafe.compareAndSwapInt:(Ljava/lang/Object;JII)Z
            pop
        18: .line 1148
            goto 23
        19: .line 1149
      StackMap locals:
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 4 /* a */
            lload 6 /* j */
            aload 8 /* t */
            aconst_null
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            ifeq 23
        20: .line 1150
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.QTOP:J
            iload 3 /* s */
            iconst_1
            isub
            invokevirtual sun.misc.Unsafe.putOrderedInt:(Ljava/lang/Object;JI)V
        21: .line 1151
            aload 8 /* t */
            areturn
        22: .line 1155
      StackMap locals:
      StackMap stack:
            aload 9 /* r */
            getfield java.util.concurrent.CountedCompleter.completer:Ljava/util/concurrent/CountedCompleter;
            dup
            astore 9 /* r */
            ifnonnull 9
        end local 9 // java.util.concurrent.CountedCompleter r
        end local 8 // java.util.concurrent.CountedCompleter t
        end local 6 // long j
        end local 5 // java.lang.Object o
        end local 4 // java.util.concurrent.ForkJoinTask[] a
        23: .line 1160
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.CountedCompleter int int
      StackMap stack:
            aconst_null
            areturn
        end local 3 // int s
        end local 2 // int mode
        end local 1 // java.util.concurrent.CountedCompleter task
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   24     1  task  Ljava/util/concurrent/CountedCompleter<*>;
            0   24     2  mode  I
            1   24     3     s  I
            2   23     4     a  [Ljava/util/concurrent/ForkJoinTask;
            5   23     5     o  Ljava/lang/Object;
            4   23     6     j  J
            8   23     8     t  Ljava/util/concurrent/CountedCompleter<*>;
            9   23     9     r  Ljava/util/concurrent/CountedCompleter<*>;
    Signature: (Ljava/util/concurrent/CountedCompleter<*>;I)Ljava/util/concurrent/CountedCompleter<*>;
    MethodParameters:
      Name  Flags
      task  
      mode  

  final int pollAndExecCC(java.util.concurrent.CountedCompleter<?>);
    descriptor: (Ljava/util/concurrent/CountedCompleter;)I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=10, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
        start local 1 // java.util.concurrent.CountedCompleter task
         0: .line 1175
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            dup
            istore 2 /* b */
        start local 2 // int b
         1: aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            isub
            ifge 3
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 4 /* a */
        start local 4 // java.util.concurrent.ForkJoinTask[] a
         2: ifnonnull 5
        end local 4 // java.util.concurrent.ForkJoinTask[] a
         3: .line 1176
      StackMap locals: int
      StackMap stack:
            iload 2 /* b */
            ldc -2147483648
            ior
            istore 3 /* h */
        start local 3 // int h
         4: goto 26
        end local 3 // int h
        start local 4 // java.util.concurrent.ForkJoinTask[] a
         5: .line 1178
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.CountedCompleter int top java.util.concurrent.ForkJoinTask[]
      StackMap stack:
            aload 4 /* a */
            arraylength
            iconst_1
            isub
            iload 2 /* b */
            iand
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ASHIFT:I
            ishl
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.ABASE:I
            iadd
            i2l
            lstore 6 /* j */
        start local 6 // long j
         6: .line 1179
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 4 /* a */
            lload 6 /* j */
            invokevirtual sun.misc.Unsafe.getObjectVolatile:(Ljava/lang/Object;J)Ljava/lang/Object;
            dup
            astore 5 /* o */
        start local 5 // java.lang.Object o
         7: ifnonnull 10
         8: .line 1180
            iconst_2
            istore 3 /* h */
        start local 3 // int h
         9: goto 26
        end local 3 // int h
        10: .line 1181
      StackMap locals: java.lang.Object long
      StackMap stack:
            aload 5 /* o */
            instanceof java.util.concurrent.CountedCompleter
            ifne 13
        11: .line 1182
            iconst_m1
            istore 3 /* h */
        start local 3 // int h
        12: goto 26
        end local 3 // int h
        13: .line 1184
      StackMap locals:
      StackMap stack:
            aload 5 /* o */
            checkcast java.util.concurrent.CountedCompleter
            astore 8 /* t */
        start local 8 // java.util.concurrent.CountedCompleter t
        14: .line 1185
            aload 8 /* t */
            astore 9 /* r */
        start local 9 // java.util.concurrent.CountedCompleter r
        15: .line 1186
      StackMap locals: java.util.concurrent.CountedCompleter java.util.concurrent.CountedCompleter
      StackMap stack:
            aload 9 /* r */
            aload 1 /* task */
            if_acmpne 24
        16: .line 1187
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            iload 2 /* b */
            if_icmpne 22
        17: .line 1188
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.U:Lsun/misc/Unsafe;
            aload 4 /* a */
            lload 6 /* j */
            aload 8 /* t */
            aconst_null
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            ifeq 22
        18: .line 1189
            aload 0 /* this */
            iload 2 /* b */
            iconst_1
            iadd
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
        19: .line 1190
            aload 8 /* t */
            invokevirtual java.util.concurrent.CountedCompleter.doExec:()I
            pop
        20: .line 1191
            iconst_1
            istore 3 /* h */
        start local 3 // int h
        21: .line 1192
            goto 26
        end local 3 // int h
        22: .line 1194
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 3 /* h */
        start local 3 // int h
        23: .line 1195
            goto 26
        end local 3 // int h
        24: .line 1197
      StackMap locals:
      StackMap stack:
            aload 9 /* r */
            getfield java.util.concurrent.CountedCompleter.completer:Ljava/util/concurrent/CountedCompleter;
            dup
            astore 9 /* r */
            ifnonnull 15
        25: .line 1198
            iconst_m1
            istore 3 /* h */
        end local 9 // java.util.concurrent.CountedCompleter r
        end local 8 // java.util.concurrent.CountedCompleter t
        end local 6 // long j
        end local 5 // java.lang.Object o
        end local 4 // java.util.concurrent.ForkJoinTask[] a
        start local 3 // int h
        26: .line 1204
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.CountedCompleter int int
      StackMap stack:
            iload 3 /* h */
            ireturn
        end local 3 // int h
        end local 2 // int b
        end local 1 // java.util.concurrent.CountedCompleter task
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   27     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   27     1  task  Ljava/util/concurrent/CountedCompleter<*>;
            1   27     2     b  I
            4    5     3     h  I
            9   10     3     h  I
           12   13     3     h  I
           21   22     3     h  I
           23   24     3     h  I
           26   27     3     h  I
            2    3     4     a  [Ljava/util/concurrent/ForkJoinTask;
            5   26     4     a  [Ljava/util/concurrent/ForkJoinTask;
            7   26     5     o  Ljava/lang/Object;
            6   26     6     j  J
           14   26     8     t  Ljava/util/concurrent/CountedCompleter<*>;
           15   26     9     r  Ljava/util/concurrent/CountedCompleter<*>;
    Signature: (Ljava/util/concurrent/CountedCompleter<*>;)I
    MethodParameters:
      Name  Flags
      task  

  final boolean isApparentlyUnblocked();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
         0: .line 1212
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
            iflt 8
         1: .line 1213
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.owner:Ljava/util/concurrent/ForkJoinWorkerThread;
            dup
            astore 1 /* wt */
        start local 1 // java.lang.Thread wt
         2: ifnull 8
         3: .line 1214
            aload 1 /* wt */
            invokevirtual java.lang.Thread.getState:()Ljava/lang/Thread$State;
            dup
            astore 2 /* s */
        start local 2 // java.lang.Thread$State s
         4: getstatic java.lang.Thread$State.BLOCKED:Ljava/lang/Thread$State;
            if_acmpeq 8
         5: .line 1215
            aload 2 /* s */
            getstatic java.lang.Thread$State.WAITING:Ljava/lang/Thread$State;
            if_acmpeq 8
         6: .line 1216
            aload 2 /* s */
            getstatic java.lang.Thread$State.TIMED_WAITING:Ljava/lang/Thread$State;
            if_acmpeq 8
        end local 2 // java.lang.Thread$State s
        end local 1 // java.lang.Thread wt
         7: .line 1212
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_0
            ireturn
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            2    7     1    wt  Ljava/lang/Thread;
            4    7     2     s  Ljava/lang/Thread$State;
}
SourceFile: "ForkJoinPool.java"
NestHost: java.util.concurrent.ForkJoinPool
InnerClasses:
  public final State = java.lang.Thread$State of java.lang.Thread
  final EmptyTask = java.util.concurrent.ForkJoinPool$EmptyTask of java.util.concurrent.ForkJoinPool
  final WorkQueue = java.util.concurrent.ForkJoinPool$WorkQueue of java.util.concurrent.ForkJoinPool
    RuntimeVisibleAnnotations: 
      sun.misc.Contended()