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
{
  volatile int source;
    descriptor: I
    flags: (0x0040) ACC_VOLATILE

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

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

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

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

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

  int nsteals;
    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

  static final java.lang.invoke.VarHandle PHASE;
    descriptor: Ljava/lang/invoke/VarHandle;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.invoke.VarHandle BASE;
    descriptor: Ljava/lang/invoke/VarHandle;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.invoke.VarHandle TOP;
    descriptor: Ljava/lang/invoke/VarHandle;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 1168
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            astore 0 /* l */
        start local 0 // java.lang.invoke.MethodHandles$Lookup l
         1: .line 1169
            aload 0 /* l */
            ldc Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            ldc "phase"
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findVarHandle:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
            putstatic java.util.concurrent.ForkJoinPool$WorkQueue.PHASE:Ljava/lang/invoke/VarHandle;
         2: .line 1170
            aload 0 /* l */
            ldc Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            ldc "base"
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findVarHandle:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
            putstatic java.util.concurrent.ForkJoinPool$WorkQueue.BASE:Ljava/lang/invoke/VarHandle;
         3: .line 1171
            aload 0 /* l */
            ldc Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            ldc "top"
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findVarHandle:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
            putstatic java.util.concurrent.ForkJoinPool$WorkQueue.TOP:Ljava/lang/invoke/VarHandle;
        end local 0 // java.lang.invoke.MethodHandles$Lookup l
         4: .line 1172
            goto 7
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
         5: astore 0 /* e */
        start local 0 // java.lang.ReflectiveOperationException e
         6: .line 1173
            new java.lang.ExceptionInInitializerError
            dup
            aload 0 /* e */
            invokespecial java.lang.ExceptionInInitializerError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.ReflectiveOperationException e
         7: .line 1175
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    4     0     l  Ljava/lang/invoke/MethodHandles$Lookup;
            6    7     0     e  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.ReflectiveOperationException

  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 789
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 790
            aload 0 /* this */
            aload 1 /* pool */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.pool:Ljava/util/concurrent/ForkJoinPool;
         2: .line 791
            aload 0 /* this */
            aload 2 /* owner */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.owner:Ljava/util/concurrent/ForkJoinWorkerThread;
         3: .line 793
            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 794
            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 boolean tryLockPhase();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
         0: .line 800
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.PHASE:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            iconst_0
            iconst_1
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;II)Z
            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 void releasePhaseLock();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
         0: .line 804
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.PHASE:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            iconst_0
            invokevirtual java.lang.invoke.VarHandle.setRelease:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)V
         1: .line 805
            return
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;

  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 811
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.id: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 818
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.BASE:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            invokevirtual java.lang.invoke.VarHandle.getAcquire:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)I
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            isub
            istore 1 /* n */
        start local 1 // int n
         1: .line 819
            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=3, locals=5, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
         0: .line 829
            invokestatic java.lang.invoke.VarHandle.acquireFence:()V
         1: .line 830
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            dup
            istore 4 /* b */
        start local 4 // int b
         2: aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            isub
            dup
            istore 2 /* n */
        start local 2 // int n
         3: ifge 10
         4: .line 831
            iload 2 /* n */
            iconst_m1
            if_icmpne 9
            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 10
         6: .line 832
            aload 1 /* a */
            arraylength
            dup
            istore 3 /* cap */
        start local 3 // int cap
         7: ifeq 10
         8: .line 833
            aload 1 /* a */
            iload 3 /* cap */
            iconst_1
            isub
            iload 4 /* b */
            iand
            aaload
            ifnull 10
        end local 3 // int cap
        end local 1 // java.util.concurrent.ForkJoinTask[] a
         9: .line 830
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue top int top int
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        10: iconst_1
            ireturn
        end local 4 // int b
        end local 2 // int n
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            5    9     1     a  [Ljava/util/concurrent/ForkJoinTask;
            3   11     2     n  I
            7    9     3   cap  I
            2   11     4     b  I

  final void push(java.util.concurrent.ForkJoinTask<?>);
    descriptor: (Ljava/util/concurrent/ForkJoinTask;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
        start local 1 // java.util.concurrent.ForkJoinTask task
         0: .line 844
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            istore 3 /* s */
        start local 3 // int s
         1: .line 845
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.pool:Ljava/util/concurrent/ForkJoinPool;
            astore 7 /* p */
        start local 7 // java.util.concurrent.ForkJoinPool p
         2: .line 846
            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 16
            aload 2 /* a */
            arraylength
            dup
            istore 5 /* cap */
        start local 5 // int cap
         4: ifle 16
         5: .line 847
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 2 /* a */
            iload 5 /* cap */
            iconst_1
            isub
            dup
            istore 6 /* m */
        start local 6 // int m
         6: iload 3 /* s */
            iand
            aload 1 /* task */
            invokevirtual java.lang.invoke.VarHandle.setRelease:([Ljava/util/concurrent/ForkJoinTask;ILjava/util/concurrent/ForkJoinTask;)V
         7: .line 848
            aload 0 /* this */
            iload 3 /* s */
            iconst_1
            iadd
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
         8: .line 849
            iload 3 /* s */
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.BASE:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            invokevirtual java.lang.invoke.VarHandle.getAcquire:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)I
            isub
            dup
            istore 4 /* d */
        start local 4 // int d
         9: bipush -2
            iand
            ifne 14
        10: .line 850
            aload 7 /* p */
            ifnull 14
        11: .line 851
            invokestatic java.lang.invoke.VarHandle.fullFence:()V
        12: .line 852
            aload 7 /* p */
            invokevirtual java.util.concurrent.ForkJoinPool.signalWork:()V
        13: .line 853
            goto 16
        14: .line 854
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinTask[] int int int int java.util.concurrent.ForkJoinPool
      StackMap stack:
            iload 4 /* d */
            iload 6 /* m */
            if_icmpne 16
        15: .line 855
            aload 0 /* this */
            iconst_0
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.growArray:(Z)V
        end local 6 // int m
        end local 5 // int cap
        end local 4 // int d
        16: .line 857
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinTask[] int top top top java.util.concurrent.ForkJoinPool
      StackMap stack:
            return
        end local 7 // java.util.concurrent.ForkJoinPool p
        end local 3 // int s
        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   17     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   17     1  task  Ljava/util/concurrent/ForkJoinTask<*>;
            3   17     2     a  [Ljava/util/concurrent/ForkJoinTask;
            1   17     3     s  I
            9   16     4     d  I
            4   16     5   cap  I
            6   16     6     m  I
            2   17     7     p  Ljava/util/concurrent/ForkJoinPool;
    Signature: (Ljava/util/concurrent/ForkJoinTask<*>;)V
    MethodParameters:
      Name  Flags
      task  

  final boolean lockedPush(java.util.concurrent.ForkJoinTask<?>);
    descriptor: (Ljava/util/concurrent/ForkJoinTask;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
        start local 1 // java.util.concurrent.ForkJoinTask task
         0: .line 865
            iconst_0
            istore 3 /* signal */
        start local 3 // boolean signal
         1: .line 866
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            istore 4 /* s */
        start local 4 // int s
         2: aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            istore 5 /* b */
        start local 5 // int b
         3: .line 867
            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
         4: ifnull 13
            aload 2 /* a */
            arraylength
            dup
            istore 6 /* cap */
        start local 6 // int cap
         5: ifle 13
         6: .line 868
            aload 2 /* a */
            iload 6 /* cap */
            iconst_1
            isub
            iload 4 /* s */
            iand
            aload 1 /* task */
            aastore
         7: .line 869
            aload 0 /* this */
            iload 4 /* s */
            iconst_1
            iadd
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
         8: .line 870
            iload 5 /* b */
            iload 4 /* s */
            isub
            iload 6 /* cap */
            iadd
            iconst_1
            isub
            ifne 10
         9: .line 871
            aload 0 /* this */
            iconst_1
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.growArray:(Z)V
            goto 13
        10: .line 873
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinTask[] int int int int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.phase:I
        11: .line 874
            iload 4 /* s */
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            isub
            bipush -2
            iand
            ifne 13
        12: .line 875
            iconst_1
            istore 3 /* signal */
        end local 6 // int cap
        13: .line 878
      StackMap locals:
      StackMap stack:
            iload 3 /* signal */
            ireturn
        end local 5 // int b
        end local 4 // int s
        end local 3 // boolean signal
        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   14     0    this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   14     1    task  Ljava/util/concurrent/ForkJoinTask<*>;
            4   14     2       a  [Ljava/util/concurrent/ForkJoinTask;
            1   14     3  signal  Z
            2   14     4       s  I
            3   14     5       b  I
            5   13     6     cap  I
    Signature: (Ljava/util/concurrent/ForkJoinTask<*>;)Z
    MethodParameters:
      Name  Flags
      task  

  final void growArray(boolean);
    descriptor: (Z)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=12, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
        start local 1 // boolean locked
         0: .line 887
            aconst_null
            astore 2 /* newA */
        start local 2 // java.util.concurrent.ForkJoinTask[] newA
         1: .line 890
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 3 /* oldA */
        start local 3 // java.util.concurrent.ForkJoinTask[] oldA
         2: ifnull 29
            aload 3 /* oldA */
            arraylength
            dup
            istore 4 /* oldSize */
        start local 4 // int oldSize
         3: ifle 29
         4: .line 891
            iload 4 /* oldSize */
            iconst_1
            ishl
            dup
            istore 5 /* newSize */
        start local 5 // int newSize
         5: ldc 67108864
            if_icmpgt 29
         6: .line 892
            iload 5 /* newSize */
            ifle 29
         7: .line 894
            iload 5 /* newSize */
            anewarray java.util.concurrent.ForkJoinTask
            astore 2 /* newA */
         8: .line 895
            goto 10
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue int java.util.concurrent.ForkJoinTask[] java.util.concurrent.ForkJoinTask[] int int
      StackMap stack: java.lang.OutOfMemoryError
         9: pop
        10: .line 897
      StackMap locals:
      StackMap stack:
            aload 2 /* newA */
            ifnull 29
        11: .line 898
            iload 4 /* oldSize */
            iconst_1
            isub
            istore 6 /* oldMask */
        start local 6 // int oldMask
        12: iload 5 /* newSize */
            iconst_1
            isub
            istore 7 /* newMask */
        start local 7 // int newMask
        13: .line 899
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            iconst_1
            isub
            istore 8 /* s */
        start local 8 // int s
        14: iload 6 /* oldMask */
            istore 9 /* k */
        start local 9 // int k
        15: goto 21
        16: .line 901
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue int java.util.concurrent.ForkJoinTask[] java.util.concurrent.ForkJoinTask[] int int int int int int
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 3 /* oldA */
            iload 8 /* s */
            iload 6 /* oldMask */
            iand
            aconst_null
            invokevirtual java.lang.invoke.VarHandle.getAndSet:([Ljava/util/concurrent/ForkJoinTask;ILjava/lang/Void;)Ljava/util/concurrent/ForkJoinTask;
        17: .line 900
            astore 10 /* x */
        start local 10 // java.util.concurrent.ForkJoinTask x
        18: .line 902
            aload 10 /* x */
            ifnull 22
        19: .line 903
            aload 2 /* newA */
            iload 8 /* s */
            iinc 8 /* s */ -1
            iload 7 /* newMask */
            iand
            aload 10 /* x */
            aastore
        end local 10 // java.util.concurrent.ForkJoinTask x
        20: .line 899
            iinc 9 /* k */ -1
      StackMap locals:
      StackMap stack:
        21: iload 9 /* k */
            ifge 16
        end local 9 // int k
        end local 8 // int s
        22: .line 907
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* newA */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
        23: .line 908
            invokestatic java.lang.invoke.VarHandle.releaseFence:()V
        end local 7 // int newMask
        end local 6 // int oldMask
        end local 5 // int newSize
        end local 4 // int oldSize
        end local 3 // java.util.concurrent.ForkJoinTask[] oldA
        24: .line 911
            goto 29
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue int java.util.concurrent.ForkJoinTask[]
      StackMap stack: java.lang.Throwable
        25: astore 11
        26: .line 912
            iload 1 /* locked */
            ifeq 28
        27: .line 913
            aload 0 /* this */
            iconst_0
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.phase:I
        28: .line 914
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue int java.util.concurrent.ForkJoinTask[] top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 11
            athrow
        29: .line 912
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue int java.util.concurrent.ForkJoinTask[]
      StackMap stack:
            iload 1 /* locked */
            ifeq 31
        30: .line 913
            aload 0 /* this */
            iconst_0
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.phase:I
        31: .line 915
      StackMap locals:
      StackMap stack:
            aload 2 /* newA */
            ifnonnull 33
        32: .line 916
            new java.util.concurrent.RejectedExecutionException
            dup
            ldc "Queue capacity exceeded"
            invokespecial java.util.concurrent.RejectedExecutionException.<init>:(Ljava/lang/String;)V
            athrow
        33: .line 917
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.concurrent.ForkJoinTask[] newA
        end local 1 // boolean locked
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   34     0     this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   34     1   locked  Z
            1   34     2     newA  [Ljava/util/concurrent/ForkJoinTask;
            2   24     3     oldA  [Ljava/util/concurrent/ForkJoinTask;
            3   24     4  oldSize  I
            5   24     5  newSize  I
           12   24     6  oldMask  I
           13   24     7  newMask  I
           14   22     8        s  I
           15   22     9        k  I
           18   20    10        x  Ljava/util/concurrent/ForkJoinTask<*>;
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.OutOfMemoryError
           1    25      25  any
    MethodParameters:
        Name  Flags
      locked  

  final java.util.concurrent.ForkJoinTask<?> poll();
    descriptor: ()Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
         0: .line 924
            goto 10
        start local 1 // int b
        start local 3 // int cap
        start local 4 // java.util.concurrent.ForkJoinTask[] a
         1: .line 927
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue int top int java.util.concurrent.ForkJoinTask[]
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 4 /* a */
            iload 3 /* cap */
            iconst_1
            isub
            iload 1 /* b */
            iand
            dup
            istore 2 /* k */
        start local 2 // int k
         2: invokevirtual java.lang.invoke.VarHandle.getAcquire:([Ljava/util/concurrent/ForkJoinTask;I)Ljava/util/concurrent/ForkJoinTask;
         3: .line 926
            astore 5 /* t */
        start local 5 // java.util.concurrent.ForkJoinTask t
         4: .line 928
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            iload 1 /* b */
            iinc 1 /* b */ 1
            if_icmpne 10
         5: .line 929
            aload 5 /* t */
            ifnonnull 7
         6: .line 930
            invokestatic java.lang.Thread.yield:()V
            goto 10
         7: .line 931
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue int int int java.util.concurrent.ForkJoinTask[] java.util.concurrent.ForkJoinTask
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 4 /* a */
            iload 2 /* k */
            aload 5 /* t */
            aconst_null
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:([Ljava/util/concurrent/ForkJoinTask;ILjava/util/concurrent/ForkJoinTask;Ljava/lang/Void;)Z
            ifeq 10
         8: .line 932
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.BASE:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            iload 1 /* b */
            invokevirtual java.lang.invoke.VarHandle.setOpaque:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)V
         9: .line 933
            aload 5 /* t */
            areturn
        end local 5 // java.util.concurrent.ForkJoinTask t
        end local 4 // java.util.concurrent.ForkJoinTask[] a
        end local 3 // int cap
        end local 2 // int k
        end local 1 // int b
        10: .line 924
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue
      StackMap stack:
            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
        11: ifnull 16
            aload 4 /* a */
            arraylength
            dup
            istore 3 /* cap */
        start local 3 // int cap
        12: ifle 16
        13: .line 925
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            dup
            istore 1 /* b */
        start local 1 // int b
        14: isub
        15: .line 924
            ifgt 1
        end local 3 // int cap
        end local 1 // int b
        16: .line 937
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue top top top java.util.concurrent.ForkJoinTask[]
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.util.concurrent.ForkJoinTask[] a
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            1   10     1     b  I
           14   16     1     b  I
            2   10     2     k  I
            1   10     3   cap  I
           12   16     3   cap  I
            1   10     4     a  [Ljava/util/concurrent/ForkJoinTask;
           11   17     4     a  [Ljava/util/concurrent/ForkJoinTask;
            4   10     5     t  Ljava/util/concurrent/ForkJoinTask<*>;
    Signature: ()Ljava/util/concurrent/ForkJoinTask<*>;

  final java.util.concurrent.ForkJoinTask<?> nextLocalTask();
    descriptor: ()Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
         0: .line 944
            aconst_null
            astore 1 /* t */
        start local 1 // java.util.concurrent.ForkJoinTask t
         1: .line 945
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.id:I
            istore 2 /* md */
        start local 2 // int md
         2: .line 946
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 7 /* a */
        start local 7 // java.util.concurrent.ForkJoinTask[] a
         3: ifnull 19
            aload 7 /* a */
            arraylength
            dup
            istore 6 /* cap */
        start local 6 // int cap
         4: ifle 19
         5: .line 947
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            dup
            istore 4 /* s */
        start local 4 // int s
         6: aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            dup
            istore 3 /* b */
        start local 3 // int b
         7: isub
            dup
            istore 5 /* d */
        start local 5 // int d
         8: ifle 19
         9: .line 948
            iload 2 /* md */
            ldc 65536
            iand
            ifeq 10
            iload 5 /* d */
            iconst_1
            if_icmpne 14
        10: .line 950
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask int int int int int java.util.concurrent.ForkJoinTask[]
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 7 /* a */
            iload 6 /* cap */
            iconst_1
            isub
            iinc 4 /* s */ -1
            iload 4 /* s */
            iand
            aconst_null
            invokevirtual java.lang.invoke.VarHandle.getAndSet:([Ljava/util/concurrent/ForkJoinTask;ILjava/lang/Void;)Ljava/util/concurrent/ForkJoinTask;
        11: .line 949
            dup
            astore 1 /* t */
            ifnull 19
        12: .line 951
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.TOP:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            iload 4 /* s */
            invokevirtual java.lang.invoke.VarHandle.setOpaque:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)V
        13: .line 952
            goto 19
        14: .line 954
      StackMap locals:
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 7 /* a */
            iload 6 /* cap */
            iconst_1
            isub
            iload 3 /* b */
            iinc 3 /* b */ 1
            iand
            aconst_null
            invokevirtual java.lang.invoke.VarHandle.getAndSet:([Ljava/util/concurrent/ForkJoinTask;ILjava/lang/Void;)Ljava/util/concurrent/ForkJoinTask;
        15: .line 953
            dup
            astore 1 /* t */
            ifnull 18
        16: .line 955
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.BASE:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            iload 3 /* b */
            invokevirtual java.lang.invoke.VarHandle.setOpaque:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)V
        17: .line 956
            goto 19
        18: .line 958
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.poll:()Ljava/util/concurrent/ForkJoinTask;
            astore 1 /* t */
        end local 6 // int cap
        end local 5 // int d
        end local 4 // int s
        end local 3 // int b
        19: .line 960
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask int top top top top java.util.concurrent.ForkJoinTask[]
      StackMap stack:
            aload 1 /* t */
            areturn
        end local 7 // java.util.concurrent.ForkJoinTask[] a
        end local 2 // int md
        end local 1 // java.util.concurrent.ForkJoinTask t
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            1   20     1     t  Ljava/util/concurrent/ForkJoinTask<*>;
            2   20     2    md  I
            7   19     3     b  I
            6   19     4     s  I
            8   19     5     d  I
            4   19     6   cap  I
            3   20     7     a  [Ljava/util/concurrent/ForkJoinTask;
    Signature: ()Ljava/util/concurrent/ForkJoinTask<*>;

  final java.util.concurrent.ForkJoinTask<?> peek();
    descriptor: ()Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
         0: .line 968
            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 6
            aload 2 /* a */
            arraylength
            dup
            istore 1 /* cap */
        start local 1 // int cap
         2: ifle 6
         3: .line 969
            aload 2 /* a */
            iload 1 /* cap */
            iconst_1
            isub
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.id:I
            ldc 65536
            iand
            ifeq 4
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            goto 5
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue int java.util.concurrent.ForkJoinTask[]
      StackMap stack: java.util.concurrent.ForkJoinTask[] int
         4: aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            iconst_1
            isub
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue int java.util.concurrent.ForkJoinTask[]
      StackMap stack: java.util.concurrent.ForkJoinTask[] int int
         5: iand
            aaload
            goto 7
        end local 1 // int cap
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue top java.util.concurrent.ForkJoinTask[]
      StackMap stack:
         6: aconst_null
         7: .line 968
      StackMap locals:
      StackMap stack: java.util.concurrent.ForkJoinTask
            areturn
        end local 2 // java.util.concurrent.ForkJoinTask[] a
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            2    6     1   cap  I
            1    8     2     a  [Ljava/util/concurrent/ForkJoinTask;
    Signature: ()Ljava/util/concurrent/ForkJoinTask<*>;

  final boolean tryUnpush(java.util.concurrent.ForkJoinTask<?>);
    descriptor: (Ljava/util/concurrent/ForkJoinTask;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
        start local 1 // java.util.concurrent.ForkJoinTask task
         0: .line 976
            iconst_0
            istore 2 /* popped */
        start local 2 // boolean popped
         1: .line 978
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 5 /* a */
        start local 5 // java.util.concurrent.ForkJoinTask[] a
         2: ifnull 8
            aload 5 /* a */
            arraylength
            dup
            istore 4 /* cap */
        start local 4 // int cap
         3: ifle 8
         4: .line 979
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            dup
            istore 3 /* s */
        start local 3 // int s
         5: aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            if_icmpeq 8
         6: .line 980
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 5 /* a */
            iload 4 /* cap */
            iconst_1
            isub
            iinc 3 /* s */ -1
            iload 3 /* s */
            iand
            aload 1 /* task */
            aconst_null
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:([Ljava/util/concurrent/ForkJoinTask;ILjava/util/concurrent/ForkJoinTask;Ljava/lang/Void;)Z
            dup
            istore 2 /* popped */
            ifeq 8
         7: .line 981
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.TOP:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            iload 3 /* s */
            invokevirtual java.lang.invoke.VarHandle.setOpaque:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)V
        end local 4 // int cap
        end local 3 // int s
         8: .line 982
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask int top top java.util.concurrent.ForkJoinTask[]
      StackMap stack:
            iload 2 /* popped */
            ireturn
        end local 5 // java.util.concurrent.ForkJoinTask[] a
        end local 2 // boolean popped
        end local 1 // java.util.concurrent.ForkJoinTask task
        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    task  Ljava/util/concurrent/ForkJoinTask<*>;
            1    9     2  popped  Z
            5    8     3       s  I
            3    8     4     cap  I
            2    9     5       a  [Ljava/util/concurrent/ForkJoinTask;
    Signature: (Ljava/util/concurrent/ForkJoinTask<*>;)Z
    MethodParameters:
      Name  Flags
      task  

  final boolean tryLockedUnpush(java.util.concurrent.ForkJoinTask<?>);
    descriptor: (Ljava/util/concurrent/ForkJoinTask;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
        start local 1 // java.util.concurrent.ForkJoinTask task
         0: .line 989
            iconst_0
            istore 2 /* popped */
        start local 2 // boolean popped
         1: .line 990
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            iconst_1
            isub
            istore 3 /* s */
        start local 3 // int s
         2: .line 991
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 6 /* a */
        start local 6 // java.util.concurrent.ForkJoinTask[] a
         3: ifnull 11
            aload 6 /* a */
            arraylength
            dup
            istore 5 /* cap */
        start local 5 // int cap
         4: ifle 11
         5: .line 992
            aload 6 /* a */
            iload 5 /* cap */
            iconst_1
            isub
            iload 3 /* s */
            iand
            dup
            istore 4 /* k */
        start local 4 // int k
         6: aaload
            aload 1 /* task */
            if_acmpne 11
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.tryLockPhase:()Z
            ifeq 11
         7: .line 993
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            iload 3 /* s */
            iconst_1
            iadd
            if_icmpne 10
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            aload 6 /* a */
            if_acmpne 10
         8: .line 994
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 6 /* a */
            iload 4 /* k */
            aload 1 /* task */
            aconst_null
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:([Ljava/util/concurrent/ForkJoinTask;ILjava/util/concurrent/ForkJoinTask;Ljava/lang/Void;)Z
            dup
            istore 2 /* popped */
            ifeq 10
         9: .line 995
            aload 0 /* this */
            iload 3 /* s */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
        10: .line 996
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask int int int int java.util.concurrent.ForkJoinTask[]
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.releasePhaseLock:()V
        end local 5 // int cap
        end local 4 // int k
        11: .line 998
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask int int top top java.util.concurrent.ForkJoinTask[]
      StackMap stack:
            iload 2 /* popped */
            ireturn
        end local 6 // java.util.concurrent.ForkJoinTask[] a
        end local 3 // int s
        end local 2 // boolean popped
        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<*>;
            1   12     2  popped  Z
            2   12     3       s  I
            6   11     4       k  I
            4   11     5     cap  I
            3   12     6       a  [Ljava/util/concurrent/ForkJoinTask;
    Signature: (Ljava/util/concurrent/ForkJoinTask<*>;)Z
    MethodParameters:
      Name  Flags
      task  

  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 1005
            goto 2
        start local 1 // java.util.concurrent.ForkJoinTask t
         1: .line 1006
      StackMap locals: java.util.concurrent.ForkJoinTask
      StackMap stack:
            aload 1 /* t */
            invokestatic java.util.concurrent.ForkJoinTask.cancelIgnoringExceptions:(Ljava/util/concurrent/ForkJoinTask;)V
        end local 1 // java.util.concurrent.ForkJoinTask t
         2: .line 1005
      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 1007
            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 topLevelExec(java.util.concurrent.ForkJoinTask<?>, java.util.concurrent.ForkJoinPool$WorkQueue, );
    descriptor: (Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
        start local 1 // java.util.concurrent.ForkJoinTask t
        start local 2 // java.util.concurrent.ForkJoinPool$WorkQueue q
        start local 3 // int n
         0: .line 1017
            aload 1 /* t */
            ifnull 15
            aload 2 /* q */
            ifnull 15
         1: .line 1018
            iconst_1
            istore 4 /* nstolen */
        start local 4 // int nstolen
         2: .line 1020
      StackMap locals: int
      StackMap stack:
            aload 1 /* t */
            invokevirtual java.util.concurrent.ForkJoinTask.doExec:()I
            pop
         3: .line 1021
            iload 3 /* n */
            iinc 3 /* n */ -1
            ifge 5
         4: .line 1022
            goto 10
         5: .line 1023
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.nextLocalTask:()Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 1 /* t */
            ifnonnull 2
         6: .line 1024
            aload 2 /* q */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.poll:()Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 1 /* t */
            ifnonnull 8
         7: .line 1025
            goto 10
         8: .line 1027
      StackMap locals:
      StackMap stack:
            iinc 4 /* nstolen */ 1
         9: .line 1019
            goto 2
        10: .line 1030
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.owner:Ljava/util/concurrent/ForkJoinWorkerThread;
            astore 5 /* thread */
        start local 5 // java.util.concurrent.ForkJoinWorkerThread thread
        11: .line 1031
            aload 0 /* this */
            dup
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.nsteals:I
            iload 4 /* nstolen */
            iadd
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.nsteals:I
        12: .line 1032
            aload 0 /* this */
            iconst_0
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.source:I
        13: .line 1033
            aload 5 /* thread */
            ifnull 15
        14: .line 1034
            aload 5 /* thread */
            invokevirtual java.util.concurrent.ForkJoinWorkerThread.afterTopLevelExec:()V
        end local 5 // java.util.concurrent.ForkJoinWorkerThread thread
        end local 4 // int nstolen
        15: .line 1036
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int n
        end local 2 // java.util.concurrent.ForkJoinPool$WorkQueue q
        end local 1 // java.util.concurrent.ForkJoinTask t
        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        t  Ljava/util/concurrent/ForkJoinTask<*>;
            0   16     2        q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   16     3        n  I
            2   15     4  nstolen  I
           11   15     5   thread  Ljava/util/concurrent/ForkJoinWorkerThread;
    Signature: (Ljava/util/concurrent/ForkJoinTask<*>;Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)V
    MethodParameters:
      Name  Flags
      t     
      q     
      n     

  final void tryRemoveAndExec(java.util.concurrent.ForkJoinTask<?>);
    descriptor: (Ljava/util/concurrent/ForkJoinTask;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=14, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
        start local 1 // java.util.concurrent.ForkJoinTask task
         0: .line 1043
            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 28
            aload 2 /* a */
            arraylength
            dup
            istore 4 /* cap */
        start local 4 // int cap
         2: ifle 28
         3: .line 1044
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            dup
            istore 3 /* s */
        start local 3 // int s
         4: aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            isub
            ifle 28
         5: .line 1045
            iload 4 /* cap */
            iconst_1
            isub
            istore 5 /* m */
        start local 5 // int m
         6: iload 3 /* s */
            iconst_1
            isub
            istore 6 /* ns */
        start local 6 // int ns
         7: iload 6 /* ns */
            istore 7 /* i */
        start local 7 // int i
         8: .line 1046
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinTask[] int int int int int
      StackMap stack:
            iload 7 /* i */
            iload 5 /* m */
            iand
            istore 8 /* index */
        start local 8 // int index
         9: .line 1047
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 2 /* a */
            iload 8 /* index */
            invokevirtual java.lang.invoke.VarHandle.get:([Ljava/util/concurrent/ForkJoinTask;I)Ljava/util/concurrent/ForkJoinTask;
            astore 9 /* t */
        start local 9 // java.util.concurrent.ForkJoinTask t
        10: .line 1048
            aload 9 /* t */
            ifnonnull 12
        11: .line 1049
            goto 28
        12: .line 1050
      StackMap locals: int java.util.concurrent.ForkJoinTask
      StackMap stack:
            aload 9 /* t */
            aload 1 /* task */
            if_acmpne 27
        13: .line 1051
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 2 /* a */
            iload 8 /* index */
            aload 9 /* t */
            aconst_null
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:([Ljava/util/concurrent/ForkJoinTask;ILjava/util/concurrent/ForkJoinTask;Ljava/lang/Void;)Z
            ifeq 28
        14: .line 1052
            aload 0 /* this */
            iload 6 /* ns */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
        15: .line 1053
            iload 7 /* i */
            istore 10 /* j */
        start local 10 // int j
        16: goto 23
        17: .line 1055
      StackMap locals: int
      StackMap stack:
            iload 10 /* j */
            iconst_1
            iadd
            iload 5 /* m */
            iand
            istore 12 /* pindex */
        start local 12 // int pindex
        18: .line 1056
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 2 /* a */
            iload 12 /* pindex */
            invokevirtual java.lang.invoke.VarHandle.get:([Ljava/util/concurrent/ForkJoinTask;I)Ljava/util/concurrent/ForkJoinTask;
            astore 11 /* f */
        start local 11 // java.util.concurrent.ForkJoinTask f
        19: .line 1057
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 2 /* a */
            iload 12 /* pindex */
            aconst_null
            invokevirtual java.lang.invoke.VarHandle.setVolatile:([Ljava/util/concurrent/ForkJoinTask;ILjava/lang/Void;)V
        20: .line 1058
            iload 10 /* j */
            iload 5 /* m */
            iand
            istore 13 /* jindex */
        start local 13 // int jindex
        21: .line 1059
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 2 /* a */
            iload 13 /* jindex */
            aload 11 /* f */
            invokevirtual java.lang.invoke.VarHandle.setRelease:([Ljava/util/concurrent/ForkJoinTask;ILjava/util/concurrent/ForkJoinTask;)V
        end local 13 // int jindex
        end local 12 // int pindex
        end local 11 // java.util.concurrent.ForkJoinTask f
        22: .line 1053
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        23: iload 10 /* j */
            iload 6 /* ns */
            if_icmpne 17
        end local 10 // int j
        24: .line 1061
            invokestatic java.lang.invoke.VarHandle.releaseFence:()V
        25: .line 1062
            aload 9 /* t */
            invokevirtual java.util.concurrent.ForkJoinTask.doExec:()I
            pop
        26: .line 1064
            goto 28
        end local 9 // java.util.concurrent.ForkJoinTask t
        end local 8 // int index
        27: .line 1045
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ -1
            goto 8
        end local 7 // int i
        end local 6 // int ns
        end local 5 // int m
        end local 4 // int cap
        end local 3 // int s
        28: .line 1068
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinTask[]
      StackMap stack:
            return
        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   29     0    this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   29     1    task  Ljava/util/concurrent/ForkJoinTask<*>;
            1   29     2       a  [Ljava/util/concurrent/ForkJoinTask;
            4   28     3       s  I
            2   28     4     cap  I
            6   28     5       m  I
            7   28     6      ns  I
            8   28     7       i  I
            9   27     8   index  I
           10   27     9       t  Ljava/util/concurrent/ForkJoinTask<*>;
           16   24    10       j  I
           19   22    11       f  Ljava/util/concurrent/ForkJoinTask<*>;
           18   22    12  pindex  I
           21   22    13  jindex  I
    Signature: (Ljava/util/concurrent/ForkJoinTask<*>;)V
    MethodParameters:
      Name  Flags
      task  

  final int helpCC(java.util.concurrent.CountedCompleter<?>, int, );
    descriptor: (Ljava/util/concurrent/CountedCompleter;IZ)I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=13, args_size=4
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
        start local 1 // java.util.concurrent.CountedCompleter task
        start local 2 // int limit
        start local 3 // boolean shared
         0: .line 1080
            iconst_0
            istore 4 /* status */
        start local 4 // int status
         1: .line 1081
            aload 1 /* task */
            ifnull 34
            aload 1 /* task */
            getfield java.util.concurrent.CountedCompleter.status:I
            dup
            istore 4 /* status */
            iflt 34
         2: .line 1083
            goto 28
        start local 5 // int s
        start local 7 // int cap
        start local 8 // java.util.concurrent.ForkJoinTask[] a
         3: .line 1085
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.CountedCompleter int int int int top int java.util.concurrent.ForkJoinTask[]
      StackMap stack:
            aconst_null
            astore 9 /* v */
        start local 9 // java.util.concurrent.CountedCompleter v
         4: .line 1086
            aload 8 /* a */
            iload 7 /* cap */
            iconst_1
            isub
            iload 5 /* s */
            iconst_1
            isub
            iand
            dup
            istore 6 /* k */
        start local 6 // int k
         5: aaload
            astore 10 /* o */
        start local 10 // java.util.concurrent.ForkJoinTask o
         6: .line 1087
            aload 10 /* o */
            instanceof java.util.concurrent.CountedCompleter
            ifeq 23
         7: .line 1088
            aload 10 /* o */
            checkcast java.util.concurrent.CountedCompleter
            astore 11 /* t */
        start local 11 // java.util.concurrent.CountedCompleter t
         8: .line 1089
            aload 11 /* t */
            astore 12 /* f */
        start local 12 // java.util.concurrent.CountedCompleter f
         9: .line 1090
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.CountedCompleter int int int int int int java.util.concurrent.ForkJoinTask[] java.util.concurrent.CountedCompleter java.util.concurrent.ForkJoinTask java.util.concurrent.CountedCompleter java.util.concurrent.CountedCompleter
      StackMap stack:
            aload 12 /* f */
            aload 1 /* task */
            if_acmpeq 12
        10: .line 1091
            aload 12 /* f */
            getfield java.util.concurrent.CountedCompleter.completer:Ljava/util/concurrent/CountedCompleter;
            dup
            astore 12 /* f */
            ifnonnull 9
        11: .line 1092
            goto 23
        12: .line 1094
      StackMap locals:
      StackMap stack:
            iload 3 /* shared */
            ifeq 20
        13: .line 1095
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.tryLockPhase:()Z
            ifeq 23
        14: .line 1096
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            iload 5 /* s */
            if_icmpne 18
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            aload 8 /* a */
            if_acmpne 18
        15: .line 1097
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 8 /* a */
            iload 6 /* k */
            aload 11 /* t */
            aconst_null
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:([Ljava/util/concurrent/ForkJoinTask;ILjava/util/concurrent/CountedCompleter;Ljava/lang/Void;)Z
            ifeq 18
        16: .line 1098
            aload 0 /* this */
            iload 5 /* s */
            iconst_1
            isub
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
        17: .line 1099
            aload 11 /* t */
            astore 9 /* v */
        18: .line 1101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.releasePhaseLock:()V
        19: .line 1103
            goto 23
        20: .line 1106
      StackMap locals:
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 8 /* a */
            iload 6 /* k */
            aload 11 /* t */
            aconst_null
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:([Ljava/util/concurrent/ForkJoinTask;ILjava/util/concurrent/CountedCompleter;Ljava/lang/Void;)Z
            ifeq 23
        21: .line 1107
            aload 0 /* this */
            iload 5 /* s */
            iconst_1
            isub
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
        22: .line 1108
            aload 11 /* t */
            astore 9 /* v */
        end local 12 // java.util.concurrent.CountedCompleter f
        end local 11 // java.util.concurrent.CountedCompleter t
        23: .line 1114
      StackMap locals:
      StackMap stack:
            aload 9 /* v */
            ifnull 25
        24: .line 1115
            aload 9 /* v */
            invokevirtual java.util.concurrent.CountedCompleter.doExec:()I
            pop
        25: .line 1116
      StackMap locals:
      StackMap stack:
            aload 1 /* task */
            getfield java.util.concurrent.CountedCompleter.status:I
            dup
            istore 4 /* status */
            iflt 34
            aload 9 /* v */
            ifnull 34
        26: .line 1117
            iload 2 /* limit */
            ifeq 28
            iinc 2 /* limit */ -1
            iload 2 /* limit */
            ifne 28
        27: .line 1118
            goto 34
        end local 10 // java.util.concurrent.ForkJoinTask o
        end local 9 // java.util.concurrent.CountedCompleter v
        end local 8 // java.util.concurrent.ForkJoinTask[] a
        end local 7 // int cap
        end local 6 // int k
        end local 5 // int s
        28: .line 1083
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.CountedCompleter int int int
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 8 /* a */
        start local 8 // java.util.concurrent.ForkJoinTask[] a
        29: ifnull 34
            aload 8 /* a */
            arraylength
            dup
            istore 7 /* cap */
        start local 7 // int cap
        30: ifle 34
        31: .line 1084
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            dup
            istore 5 /* s */
        start local 5 // int s
        32: aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            isub
        33: .line 1083
            ifgt 3
        end local 8 // java.util.concurrent.ForkJoinTask[] a
        end local 7 // int cap
        end local 5 // int s
        34: .line 1121
      StackMap locals:
      StackMap stack:
            iload 4 /* status */
            ireturn
        end local 4 // int status
        end local 3 // boolean shared
        end local 2 // int limit
        end local 1 // java.util.concurrent.CountedCompleter task
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   35     0    this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   35     1    task  Ljava/util/concurrent/CountedCompleter<*>;
            0   35     2   limit  I
            0   35     3  shared  Z
            1   35     4  status  I
            3   28     5       s  I
           32   34     5       s  I
            5   28     6       k  I
            3   28     7     cap  I
           30   34     7     cap  I
            3   28     8       a  [Ljava/util/concurrent/ForkJoinTask;
           29   34     8       a  [Ljava/util/concurrent/ForkJoinTask;
            4   28     9       v  Ljava/util/concurrent/CountedCompleter<*>;
            6   28    10       o  Ljava/util/concurrent/ForkJoinTask<*>;
            8   23    11       t  Ljava/util/concurrent/CountedCompleter<*>;
            9   23    12       f  Ljava/util/concurrent/CountedCompleter<*>;
    Signature: (Ljava/util/concurrent/CountedCompleter<*>;IZ)I
    MethodParameters:
        Name  Flags
      task    
      limit   
      shared  

  final void helpAsyncBlocker(java.util.concurrent.ForkJoinPool$ManagedBlocker);
    descriptor: (Ljava/util/concurrent/ForkJoinPool$ManagedBlocker;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
        start local 1 // java.util.concurrent.ForkJoinPool$ManagedBlocker blocker
         0: .line 1131
            aload 1 /* blocker */
            ifnull 19
         1: .line 1133
            goto 13
        start local 2 // int b
        start local 4 // int cap
        start local 5 // java.util.concurrent.ForkJoinTask[] a
         2: .line 1135
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinPool$ManagedBlocker int top int java.util.concurrent.ForkJoinTask[]
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 5 /* a */
            iload 4 /* cap */
            iconst_1
            isub
            iload 2 /* b */
            iand
            dup
            istore 3 /* k */
        start local 3 // int k
         3: invokevirtual java.lang.invoke.VarHandle.getAcquire:([Ljava/util/concurrent/ForkJoinTask;I)Ljava/util/concurrent/ForkJoinTask;
            astore 6 /* t */
        start local 6 // java.util.concurrent.ForkJoinTask t
         4: .line 1136
            aload 1 /* blocker */
            invokeinterface java.util.concurrent.ForkJoinPool$ManagedBlocker.isReleasable:()Z
            ifeq 6
         5: .line 1137
            goto 19
         6: .line 1138
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinPool$ManagedBlocker int int int java.util.concurrent.ForkJoinTask[] java.util.concurrent.ForkJoinTask
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            iload 2 /* b */
            iinc 2 /* b */ 1
            if_icmpne 13
            aload 6 /* t */
            ifnull 13
         7: .line 1139
            aload 6 /* t */
            instanceof java.util.concurrent.CompletableFuture$AsynchronousCompletionTask
         8: .line 1140
            ifne 10
         9: .line 1141
            goto 19
        10: .line 1142
      StackMap locals:
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 5 /* a */
            iload 3 /* k */
            aload 6 /* t */
            aconst_null
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:([Ljava/util/concurrent/ForkJoinTask;ILjava/util/concurrent/ForkJoinTask;Ljava/lang/Void;)Z
            ifeq 13
        11: .line 1143
            getstatic java.util.concurrent.ForkJoinPool$WorkQueue.BASE:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            iload 2 /* b */
            invokevirtual java.lang.invoke.VarHandle.setOpaque:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)V
        12: .line 1144
            aload 6 /* t */
            invokevirtual java.util.concurrent.ForkJoinTask.doExec:()I
            pop
        end local 6 // java.util.concurrent.ForkJoinTask t
        end local 5 // java.util.concurrent.ForkJoinTask[] a
        end local 4 // int cap
        end local 3 // int k
        end local 2 // int b
        13: .line 1133
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinPool$ManagedBlocker
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 5 /* a */
        start local 5 // java.util.concurrent.ForkJoinTask[] a
        14: ifnull 19
            aload 5 /* a */
            arraylength
            dup
            istore 4 /* cap */
        start local 4 // int cap
        15: ifle 19
        16: .line 1134
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            dup
            istore 2 /* b */
        start local 2 // int b
        17: isub
        18: .line 1133
            ifgt 2
        end local 5 // java.util.concurrent.ForkJoinTask[] a
        end local 4 // int cap
        end local 2 // int b
        19: .line 1149
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.concurrent.ForkJoinPool$ManagedBlocker blocker
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   20     1  blocker  Ljava/util/concurrent/ForkJoinPool$ManagedBlocker;
            2   13     2        b  I
           17   19     2        b  I
            3   13     3        k  I
            2   13     4      cap  I
           15   19     4      cap  I
            2   13     5        a  [Ljava/util/concurrent/ForkJoinTask;
           14   19     5        a  [Ljava/util/concurrent/ForkJoinTask;
            4   13     6        t  Ljava/util/concurrent/ForkJoinTask<*>;
    MethodParameters:
         Name  Flags
      blocker  

  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 1156
            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
         1: ifnull 7
         2: .line 1157
            aload 1 /* wt */
            invokevirtual java.lang.Thread.getState:()Ljava/lang/Thread$State;
            dup
            astore 2 /* s */
        start local 2 // java.lang.Thread$State s
         3: getstatic java.lang.Thread$State.BLOCKED:Ljava/lang/Thread$State;
            if_acmpeq 7
         4: .line 1158
            aload 2 /* s */
            getstatic java.lang.Thread$State.WAITING:Ljava/lang/Thread$State;
            if_acmpeq 7
         5: .line 1159
            aload 2 /* s */
            getstatic java.lang.Thread$State.TIMED_WAITING:Ljava/lang/Thread$State;
            if_acmpeq 7
        end local 2 // java.lang.Thread$State s
         6: .line 1156
            iconst_1
            ireturn
      StackMap locals: java.lang.Thread
      StackMap stack:
         7: iconst_0
            ireturn
        end local 1 // java.lang.Thread wt
        end local 0 // java.util.concurrent.ForkJoinPool$WorkQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            1    8     1    wt  Ljava/lang/Thread;
            3    6     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
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract AsynchronousCompletionTask = java.util.concurrent.CompletableFuture$AsynchronousCompletionTask of java.util.concurrent.CompletableFuture
  public abstract ManagedBlocker = java.util.concurrent.ForkJoinPool$ManagedBlocker of java.util.concurrent.ForkJoinPool
  final WorkQueue = java.util.concurrent.ForkJoinPool$WorkQueue of java.util.concurrent.ForkJoinPool
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.Contended()