public class java.util.concurrent.ForkJoinPool extends java.util.concurrent.AbstractExecutorService
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.util.concurrent.ForkJoinPool
  super_class: java.util.concurrent.AbstractExecutorService
{
  static final int SMASK;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 65535

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

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

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

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

  static final int INACTIVE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -2147483648

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

  static final int MODE_MASK;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -65536

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

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

  static final int SHARED_QUEUE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -2147483648

  public static final java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory defaultForkJoinWorkerThreadFactory;
    descriptor: Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final java.lang.RuntimePermission modifyThreadPermission;
    descriptor: Ljava/lang/RuntimePermission;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final java.util.concurrent.ForkJoinPool common;
    descriptor: Ljava/util/concurrent/ForkJoinPool;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final int commonParallelism;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static int commonMaxSpares;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static int poolNumberSequence;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

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

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

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

  private static final int SEED_INCREMENT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1640531527

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

  private static final long UC_MASK;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -4294967296

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

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

  private static final long AC_MASK;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -281474976710656

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

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

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

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

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

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

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

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

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

  private static final int SHUTDOWN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -2147483648

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

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

  final int config;
    descriptor: I
    flags: (0x0010) ACC_FINAL

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

  volatile java.util.concurrent.ForkJoinPool$WorkQueue[] workQueues;
    descriptor: [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
    flags: (0x0040) ACC_VOLATILE

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

  final java.lang.Thread$UncaughtExceptionHandler ueh;
    descriptor: Ljava/lang/Thread$UncaughtExceptionHandler;
    flags: (0x0010) ACC_FINAL

  final java.lang.String workerNamePrefix;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  volatile java.util.concurrent.atomic.AtomicLong stealCounter;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x0040) ACC_VOLATILE

  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 CTL;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

  private static final long PARKBLOCKER;
    descriptor: J
    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 QSCANSTATE;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long QPARKER;
    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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=0
         0: .line 3357
            invokestatic sun.misc.Unsafe.getUnsafe:()Lsun/misc/Unsafe;
            putstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
         1: .line 3358
            ldc Ljava/util/concurrent/ForkJoinPool;
            astore 0 /* k */
        start local 0 // java.lang.Class k
         2: .line 3359
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
         3: .line 3360
            aload 0 /* k */
            ldc "ctl"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
         4: .line 3359
            invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
            putstatic java.util.concurrent.ForkJoinPool.CTL:J
         5: .line 3361
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
         6: .line 3362
            aload 0 /* k */
            ldc "runState"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
         7: .line 3361
            invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
            putstatic java.util.concurrent.ForkJoinPool.RUNSTATE:J
         8: .line 3363
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
         9: .line 3364
            aload 0 /* k */
            ldc "stealCounter"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
        10: .line 3363
            invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
            putstatic java.util.concurrent.ForkJoinPool.STEALCOUNTER:J
        11: .line 3365
            ldc Ljava/lang/Thread;
            astore 1 /* tk */
        start local 1 // java.lang.Class tk
        12: .line 3366
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
        13: .line 3367
            aload 1 /* tk */
            ldc "parkBlocker"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
        14: .line 3366
            invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
            putstatic java.util.concurrent.ForkJoinPool.PARKBLOCKER:J
        15: .line 3368
            ldc Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            astore 2 /* wk */
        start local 2 // java.lang.Class wk
        16: .line 3369
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
        17: .line 3370
            aload 2 /* wk */
            ldc "top"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
        18: .line 3369
            invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
            putstatic java.util.concurrent.ForkJoinPool.QTOP:J
        19: .line 3371
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
        20: .line 3372
            aload 2 /* wk */
            ldc "qlock"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
        21: .line 3371
            invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
            putstatic java.util.concurrent.ForkJoinPool.QLOCK:J
        22: .line 3373
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
        23: .line 3374
            aload 2 /* wk */
            ldc "scanState"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
        24: .line 3373
            invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
            putstatic java.util.concurrent.ForkJoinPool.QSCANSTATE:J
        25: .line 3375
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
        26: .line 3376
            aload 2 /* wk */
            ldc "parker"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
        27: .line 3375
            invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
            putstatic java.util.concurrent.ForkJoinPool.QPARKER:J
        28: .line 3377
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
        29: .line 3378
            aload 2 /* wk */
            ldc "currentSteal"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
        30: .line 3377
            invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
            putstatic java.util.concurrent.ForkJoinPool.QCURRENTSTEAL:J
        31: .line 3379
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
        32: .line 3380
            aload 2 /* wk */
            ldc "currentJoin"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
        33: .line 3379
            invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
            putstatic java.util.concurrent.ForkJoinPool.QCURRENTJOIN:J
        34: .line 3381
            ldc [Ljava/util/concurrent/ForkJoinTask;
            astore 3 /* ak */
        start local 3 // java.lang.Class ak
        35: .line 3382
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 3 /* ak */
            invokevirtual sun.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
            putstatic java.util.concurrent.ForkJoinPool.ABASE:I
        36: .line 3383
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 3 /* ak */
            invokevirtual sun.misc.Unsafe.arrayIndexScale:(Ljava/lang/Class;)I
            istore 4 /* scale */
        start local 4 // int scale
        37: .line 3384
            iload 4 /* scale */
            iload 4 /* scale */
            iconst_1
            isub
            iand
            ifeq 39
        38: .line 3385
            new java.lang.Error
            dup
            ldc "data type scale not a power of two"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        39: .line 3386
      StackMap locals: java.lang.Class java.lang.Class java.lang.Class java.lang.Class int
      StackMap stack:
            bipush 31
            iload 4 /* scale */
            invokestatic java.lang.Integer.numberOfLeadingZeros:(I)I
            isub
            putstatic java.util.concurrent.ForkJoinPool.ASHIFT:I
        end local 4 // int scale
        end local 3 // java.lang.Class ak
        end local 2 // java.lang.Class wk
        end local 1 // java.lang.Class tk
        end local 0 // java.lang.Class k
        40: .line 3387
            goto 43
      StackMap locals:
      StackMap stack: java.lang.Exception
        41: astore 0 /* e */
        start local 0 // java.lang.Exception e
        42: .line 3388
            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
        43: .line 3391
      StackMap locals:
      StackMap stack:
            sipush 256
            putstatic java.util.concurrent.ForkJoinPool.commonMaxSpares:I
        44: .line 3393
            new java.util.concurrent.ForkJoinPool$DefaultForkJoinWorkerThreadFactory
            dup
            invokespecial java.util.concurrent.ForkJoinPool$DefaultForkJoinWorkerThreadFactory.<init>:()V
        45: .line 3392
            putstatic java.util.concurrent.ForkJoinPool.defaultForkJoinWorkerThreadFactory:Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
        46: .line 3394
            new java.lang.RuntimePermission
            dup
            ldc "modifyThread"
            invokespecial java.lang.RuntimePermission.<init>:(Ljava/lang/String;)V
            putstatic java.util.concurrent.ForkJoinPool.modifyThreadPermission:Ljava/lang/RuntimePermission;
        47: .line 3397
            new java.util.concurrent.ForkJoinPool$1
            dup
            invokespecial java.util.concurrent.ForkJoinPool$1.<init>:()V
        48: .line 3396
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.util.concurrent.ForkJoinPool
            putstatic java.util.concurrent.ForkJoinPool.common:Ljava/util/concurrent/ForkJoinPool;
        49: .line 3399
            getstatic java.util.concurrent.ForkJoinPool.common:Ljava/util/concurrent/ForkJoinPool;
            getfield java.util.concurrent.ForkJoinPool.config:I
            ldc 65535
            iand
            istore 0 /* par */
        start local 0 // int par
        50: .line 3400
            iload 0 /* par */
            ifle 51
            iload 0 /* par */
            goto 52
      StackMap locals: int
      StackMap stack:
        51: iconst_1
      StackMap locals:
      StackMap stack: int
        52: putstatic java.util.concurrent.ForkJoinPool.commonParallelism:I
        end local 0 // int par
        53: .line 3401
            return
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            2   40     0      k  Ljava/lang/Class<*>;
           12   40     1     tk  Ljava/lang/Class<*>;
           16   40     2     wk  Ljava/lang/Class<*>;
           35   40     3     ak  Ljava/lang/Class<*>;
           37   40     4  scale  I
           42   43     0      e  Ljava/lang/Exception;
           50   53     0    par  I
      Exception table:
        from    to  target  type
           0    40      41  Class java.lang.Exception

  private static void checkPermission();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 700
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 0 /* security */
        start local 0 // java.lang.SecurityManager security
         1: .line 701
            aload 0 /* security */
            ifnull 3
         2: .line 702
            aload 0 /* security */
            getstatic java.util.concurrent.ForkJoinPool.modifyThreadPermission:Ljava/lang/RuntimePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         3: .line 703
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            return
        end local 0 // java.lang.SecurityManager security
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            1    4     0  security  Ljava/lang/SecurityManager;

  private static final synchronized int nextPoolId();
    descriptor: ()I
    flags: (0x003a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=0, args_size=0
         0: .line 1294
            getstatic java.util.concurrent.ForkJoinPool.poolNumberSequence:I
            iconst_1
            iadd
            dup
            putstatic java.util.concurrent.ForkJoinPool.poolNumberSequence:I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private int lockRunState();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 1405
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.runState:I
            dup
            istore 1 /* rs */
        start local 1 // int rs
         1: iconst_1
            iand
            ifne 3
         2: .line 1406
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.RUNSTATE:J
            iload 1 /* rs */
            iload 1 /* rs */
            iconst_1
            ior
            dup
            istore 1 /* rs */
            invokevirtual sun.misc.Unsafe.compareAndSwapInt:(Ljava/lang/Object;JII)Z
            ifne 4
         3: .line 1407
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.awaitRunStateLock:()I
            goto 5
      StackMap locals:
      StackMap stack:
         4: iload 1 /* rs */
         5: .line 1405
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 1 // int rs
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/util/concurrent/ForkJoinPool;
            1    6     1    rs  I

  private int awaitRunStateLock();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 1416
            iconst_0
            istore 2 /* wasInterrupted */
        start local 2 // boolean wasInterrupted
         1: .line 1417
            iconst_0
            istore 3 /* spins */
        start local 3 // int spins
         2: iconst_0
            istore 4 /* r */
        start local 4 // int r
         3: .line 1418
      StackMap locals: java.util.concurrent.ForkJoinPool top int int int
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.runState:I
            dup
            istore 5 /* rs */
        start local 5 // int rs
         4: iconst_1
            iand
            ifne 12
         5: .line 1419
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.RUNSTATE:J
            iload 5 /* rs */
            iload 5 /* rs */
            iconst_1
            ior
            dup
            istore 6 /* ns */
        start local 6 // int ns
         6: invokevirtual sun.misc.Unsafe.compareAndSwapInt:(Ljava/lang/Object;JII)Z
            ifeq 3
         7: .line 1420
            iload 2 /* wasInterrupted */
            ifeq 11
         8: .line 1422
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
         9: .line 1423
            goto 11
      StackMap locals: java.util.concurrent.ForkJoinPool top int int int int int
      StackMap stack: java.lang.SecurityException
        10: pop
        11: .line 1426
      StackMap locals:
      StackMap stack:
            iload 6 /* ns */
            ireturn
        end local 6 // int ns
        12: .line 1429
      StackMap locals:
      StackMap stack:
            iload 4 /* r */
            ifne 14
        13: .line 1430
            invokestatic java.util.concurrent.ThreadLocalRandom.nextSecondarySeed:()I
            istore 4 /* r */
            goto 3
        14: .line 1431
      StackMap locals:
      StackMap stack:
            iload 3 /* spins */
            ifle 19
        15: .line 1432
            iload 4 /* r */
            iload 4 /* r */
            bipush 6
            ishl
            ixor
            istore 4 /* r */
            iload 4 /* r */
            iload 4 /* r */
            bipush 21
            iushr
            ixor
            istore 4 /* r */
            iload 4 /* r */
            iload 4 /* r */
            bipush 7
            ishl
            ixor
            istore 4 /* r */
        16: .line 1433
            iload 4 /* r */
            iflt 3
        17: .line 1434
            iinc 3 /* spins */ -1
        18: .line 1435
            goto 3
        19: .line 1436
      StackMap locals:
      StackMap stack:
            iload 5 /* rs */
            iconst_4
            iand
            ifeq 21
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.stealCounter:Ljava/util/concurrent/atomic/AtomicLong;
            dup
            astore 1 /* lock */
        start local 1 // java.lang.Object lock
        20: ifnonnull 22
        end local 1 // java.lang.Object lock
        21: .line 1437
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.yield:()V
            goto 3
        start local 1 // java.lang.Object lock
        22: .line 1438
      StackMap locals: java.util.concurrent.ForkJoinPool java.lang.Object int int int int
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.RUNSTATE:J
            iload 5 /* rs */
            iload 5 /* rs */
            iconst_2
            ior
            invokevirtual sun.misc.Unsafe.compareAndSwapInt:(Ljava/lang/Object;JII)Z
            ifeq 3
        23: .line 1439
            aload 1 /* lock */
            dup
            astore 7
            monitorenter
        24: .line 1440
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.runState:I
            iconst_2
            iand
            ifeq 32
        25: .line 1442
            aload 1 /* lock */
            invokevirtual java.lang.Object.wait:()V
        26: .line 1443
            goto 33
      StackMap locals: java.util.concurrent.ForkJoinPool java.lang.Object int int int int top java.lang.Object
      StackMap stack: java.lang.InterruptedException
        27: pop
        28: .line 1444
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            instanceof java.util.concurrent.ForkJoinWorkerThread
        29: .line 1445
            ifne 33
        30: .line 1446
            iconst_1
            istore 2 /* wasInterrupted */
        31: .line 1448
            goto 33
        32: .line 1450
      StackMap locals:
      StackMap stack:
            aload 1 /* lock */
            invokevirtual java.lang.Object.notifyAll:()V
        33: .line 1439
      StackMap locals:
      StackMap stack:
            aload 7
            monitorexit
        34: goto 3
      StackMap locals:
      StackMap stack: java.lang.Throwable
        35: aload 7
            monitorexit
        36: athrow
        end local 5 // int rs
        end local 4 // int r
        end local 3 // int spins
        end local 2 // boolean wasInterrupted
        end local 1 // java.lang.Object lock
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   37     0            this  Ljava/util/concurrent/ForkJoinPool;
           20   21     1            lock  Ljava/lang/Object;
           22   37     1            lock  Ljava/lang/Object;
            1   37     2  wasInterrupted  Z
            2   37     3           spins  I
            3   37     4               r  I
            4   37     5              rs  I
            6   12     6              ns  I
      Exception table:
        from    to  target  type
           8     9      10  Class java.lang.SecurityException
          25    26      27  Class java.lang.InterruptedException
          24    34      35  any
          35    36      35  any

  private void unlockRunState(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // int oldRunState
        start local 2 // int newRunState
         0: .line 1463
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.RUNSTATE:J
            iload 1 /* oldRunState */
            iload 2 /* newRunState */
            invokevirtual sun.misc.Unsafe.compareAndSwapInt:(Ljava/lang/Object;JII)Z
            ifne 9
         1: .line 1464
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.stealCounter:Ljava/util/concurrent/atomic/AtomicLong;
            astore 3 /* lock */
        start local 3 // java.lang.Object lock
         2: .line 1465
            aload 0 /* this */
            iload 2 /* newRunState */
            putfield java.util.concurrent.ForkJoinPool.runState:I
         3: .line 1466
            aload 3 /* lock */
            ifnull 9
         4: .line 1467
            aload 3 /* lock */
            dup
            astore 4
            monitorenter
         5: aload 3 /* lock */
            invokevirtual java.lang.Object.notifyAll:()V
            aload 4
            monitorexit
         6: goto 9
      StackMap locals: java.util.concurrent.ForkJoinPool int int java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
         7: aload 4
            monitorexit
         8: athrow
        end local 3 // java.lang.Object lock
         9: .line 1469
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int newRunState
        end local 1 // int oldRunState
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Ljava/util/concurrent/ForkJoinPool;
            0   10     1  oldRunState  I
            0   10     2  newRunState  I
            2    9     3         lock  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           5     6       7  any
           7     8       7  any
    MethodParameters:
             Name  Flags
      oldRunState  
      newRunState  

  private boolean createWorker();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 1481
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.factory:Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
            astore 1 /* fac */
        start local 1 // java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory fac
         1: .line 1482
            aconst_null
            astore 2 /* ex */
        start local 2 // java.lang.Throwable ex
         2: .line 1483
            aconst_null
            astore 3 /* wt */
        start local 3 // java.util.concurrent.ForkJoinWorkerThread wt
         3: .line 1485
            aload 1 /* fac */
            ifnull 8
            aload 1 /* fac */
            aload 0 /* this */
            invokeinterface java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory.newThread:(Ljava/util/concurrent/ForkJoinPool;)Ljava/util/concurrent/ForkJoinWorkerThread;
            dup
            astore 3 /* wt */
            ifnull 8
         4: .line 1486
            aload 3 /* wt */
            invokevirtual java.util.concurrent.ForkJoinWorkerThread.start:()V
         5: .line 1487
            iconst_1
            ireturn
         6: .line 1489
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory java.lang.Throwable java.util.concurrent.ForkJoinWorkerThread
      StackMap stack: java.lang.Throwable
            astore 4 /* rex */
        start local 4 // java.lang.Throwable rex
         7: .line 1490
            aload 4 /* rex */
            astore 2 /* ex */
        end local 4 // java.lang.Throwable rex
         8: .line 1492
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* wt */
            aload 2 /* ex */
            invokevirtual java.util.concurrent.ForkJoinPool.deregisterWorker:(Ljava/util/concurrent/ForkJoinWorkerThread;Ljava/lang/Throwable;)V
         9: .line 1493
            iconst_0
            ireturn
        end local 3 // java.util.concurrent.ForkJoinWorkerThread wt
        end local 2 // java.lang.Throwable ex
        end local 1 // java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory fac
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljava/util/concurrent/ForkJoinPool;
            1   10     1   fac  Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
            2   10     2    ex  Ljava/lang/Throwable;
            3   10     3    wt  Ljava/util/concurrent/ForkJoinWorkerThread;
            7    8     4   rex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     5       6  Class java.lang.Throwable

  private void tryAddWorker(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=8, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // long c
         0: .line 1505
            iconst_0
            istore 3 /* add */
        start local 3 // boolean add
         1: .line 1507
      StackMap locals: int
      StackMap stack:
            ldc -281474976710656
            lload 1 /* c */
            ldc 281474976710656
            ladd
            land
         2: .line 1508
            ldc 281470681743360
            lload 1 /* c */
            ldc 4294967296
            ladd
            land
         3: .line 1507
            lor
            lstore 4 /* nc */
        start local 4 // long nc
         4: .line 1509
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            lload 1 /* c */
            lcmp
            ifne 15
         5: .line 1511
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.lockRunState:()I
            dup
            istore 6 /* rs */
        start local 6 // int rs
         6: ldc 536870912
            iand
            dup
            istore 7 /* stop */
        start local 7 // int stop
         7: ifne 9
         8: .line 1512
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.CTL:J
            lload 1 /* c */
            lload 4 /* nc */
            invokevirtual sun.misc.Unsafe.compareAndSwapLong:(Ljava/lang/Object;JJJ)Z
            istore 3 /* add */
         9: .line 1513
      StackMap locals: long int int
      StackMap stack:
            aload 0 /* this */
            iload 6 /* rs */
            iload 6 /* rs */
            bipush -2
            iand
            invokevirtual java.util.concurrent.ForkJoinPool.unlockRunState:(II)V
        10: .line 1514
            iload 7 /* stop */
            ifeq 12
        11: .line 1515
            goto 16
        12: .line 1516
      StackMap locals:
      StackMap stack:
            iload 3 /* add */
            ifeq 15
        13: .line 1517
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.createWorker:()Z
            pop
        14: .line 1518
            goto 16
        end local 7 // int stop
        end local 6 // int rs
        end local 4 // long nc
        15: .line 1521
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            dup2
            lstore 1 /* c */
            ldc 140737488355328
            land
            lconst_0
            lcmp
            ifeq 16
            lload 1 /* c */
            l2i
            ifeq 1
        16: .line 1522
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean add
        end local 1 // long c
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Ljava/util/concurrent/ForkJoinPool;
            0   17     1     c  J
            1   17     3   add  Z
            4   15     4    nc  J
            6   15     6    rs  I
            7   15     7  stop  I
    MethodParameters:
      Name  Flags
      c     

  final java.util.concurrent.ForkJoinPool$WorkQueue registerWorker(java.util.concurrent.ForkJoinWorkerThread);
    descriptor: (Ljava/util/concurrent/ForkJoinWorkerThread;)Ljava/util/concurrent/ForkJoinPool$WorkQueue;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=14, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinWorkerThread wt
         0: .line 1533
            aload 1 /* wt */
            iconst_1
            invokevirtual java.util.concurrent.ForkJoinWorkerThread.setDaemon:(Z)V
         1: .line 1534
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ueh:Ljava/lang/Thread$UncaughtExceptionHandler;
            dup
            astore 2 /* handler */
        start local 2 // java.lang.Thread$UncaughtExceptionHandler handler
         2: ifnull 4
         3: .line 1535
            aload 1 /* wt */
            aload 2 /* handler */
            invokevirtual java.util.concurrent.ForkJoinWorkerThread.setUncaughtExceptionHandler:(Ljava/lang/Thread$UncaughtExceptionHandler;)V
         4: .line 1536
      StackMap locals: java.lang.Thread$UncaughtExceptionHandler
      StackMap stack:
            new java.util.concurrent.ForkJoinPool$WorkQueue
            dup
            aload 0 /* this */
            aload 1 /* wt */
            invokespecial java.util.concurrent.ForkJoinPool$WorkQueue.<init>:(Ljava/util/concurrent/ForkJoinPool;Ljava/util/concurrent/ForkJoinWorkerThread;)V
            astore 3 /* w */
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue w
         5: .line 1537
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: .line 1538
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.config:I
            ldc -65536
            iand
            istore 5 /* mode */
        start local 5 // int mode
         7: .line 1539
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.lockRunState:()I
            istore 6 /* rs */
        start local 6 // int rs
         8: .line 1542
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 7 /* ws */
        start local 7 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         9: ifnull 33
            aload 7 /* ws */
            arraylength
            dup
            istore 8 /* n */
        start local 8 // int n
        10: ifle 33
        11: .line 1543
            aload 0 /* this */
            dup
            getfield java.util.concurrent.ForkJoinPool.indexSeed:I
            ldc -1640531527
            iadd
            dup_x1
            putfield java.util.concurrent.ForkJoinPool.indexSeed:I
            istore 9 /* s */
        start local 9 // int s
        12: .line 1544
            iload 8 /* n */
            iconst_1
            isub
            istore 10 /* m */
        start local 10 // int m
        13: .line 1545
            iload 9 /* s */
            iconst_1
            ishl
            iconst_1
            ior
            iload 10 /* m */
            iand
            istore 4 /* i */
        14: .line 1546
            aload 7 /* ws */
            iload 4 /* i */
            aaload
            ifnull 25
        15: .line 1547
            iconst_0
            istore 11 /* probes */
        start local 11 // int probes
        16: .line 1548
            iload 8 /* n */
            iconst_4
            if_icmpgt 17
            iconst_2
            goto 18
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinWorkerThread java.lang.Thread$UncaughtExceptionHandler java.util.concurrent.ForkJoinPool$WorkQueue int int int java.util.concurrent.ForkJoinPool$WorkQueue[] int int int int
      StackMap stack:
        17: iload 8 /* n */
            iconst_1
            iushr
            ldc 65534
            iand
            iconst_2
            iadd
      StackMap locals:
      StackMap stack: int
        18: istore 12 /* step */
        start local 12 // int step
        19: .line 1549
            goto 24
        20: .line 1550
      StackMap locals: int
      StackMap stack:
            iinc 11 /* probes */ 1
            iload 11 /* probes */
            iload 8 /* n */
            if_icmplt 24
        21: .line 1551
            aload 0 /* this */
            aload 7 /* ws */
            iload 8 /* n */
            iconst_1
            ishl
            dup
            istore 8 /* n */
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast java.util.concurrent.ForkJoinPool$WorkQueue[]
            dup
            astore 7 /* ws */
            putfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
        22: .line 1552
            iload 8 /* n */
            iconst_1
            isub
            istore 10 /* m */
        23: .line 1553
            iconst_0
            istore 11 /* probes */
        24: .line 1549
      StackMap locals:
      StackMap stack:
            aload 7 /* ws */
            iload 4 /* i */
            iload 12 /* step */
            iadd
            iload 10 /* m */
            iand
            dup
            istore 4 /* i */
            aaload
            ifnonnull 20
        end local 12 // int step
        end local 11 // int probes
        25: .line 1557
      StackMap locals:
      StackMap stack:
            aload 3 /* w */
            iload 9 /* s */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.hint:I
        26: .line 1558
            aload 3 /* w */
            iload 4 /* i */
            iload 5 /* mode */
            ior
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.config:I
        27: .line 1559
            aload 3 /* w */
            iload 4 /* i */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
        28: .line 1560
            aload 7 /* ws */
            iload 4 /* i */
            aload 3 /* w */
            aastore
        end local 10 // int m
        end local 9 // int s
        end local 8 // int n
        end local 7 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        29: .line 1562
            goto 33
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinWorkerThread java.lang.Thread$UncaughtExceptionHandler java.util.concurrent.ForkJoinPool$WorkQueue int int int
      StackMap stack: java.lang.Throwable
        30: astore 13
        31: .line 1563
            aload 0 /* this */
            iload 6 /* rs */
            iload 6 /* rs */
            bipush -2
            iand
            invokevirtual java.util.concurrent.ForkJoinPool.unlockRunState:(II)V
        32: .line 1564
            aload 13
            athrow
        33: .line 1563
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* rs */
            iload 6 /* rs */
            bipush -2
            iand
            invokevirtual java.util.concurrent.ForkJoinPool.unlockRunState:(II)V
        34: .line 1565
            aload 1 /* wt */
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workerNamePrefix:Ljava/lang/String;
            iload 4 /* i */
            iconst_1
            iushr
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.String.concat:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.util.concurrent.ForkJoinWorkerThread.setName:(Ljava/lang/String;)V
        35: .line 1566
            aload 3 /* w */
            areturn
        end local 6 // int rs
        end local 5 // int mode
        end local 4 // int i
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue w
        end local 2 // java.lang.Thread$UncaughtExceptionHandler handler
        end local 1 // java.util.concurrent.ForkJoinWorkerThread wt
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   36     0     this  Ljava/util/concurrent/ForkJoinPool;
            0   36     1       wt  Ljava/util/concurrent/ForkJoinWorkerThread;
            2   36     2  handler  Ljava/lang/Thread$UncaughtExceptionHandler;
            5   36     3        w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            6   36     4        i  I
            7   36     5     mode  I
            8   36     6       rs  I
            9   29     7       ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           10   29     8        n  I
           12   29     9        s  I
           13   29    10        m  I
           16   25    11   probes  I
           19   25    12     step  I
      Exception table:
        from    to  target  type
           8    30      30  any
    MethodParameters:
      Name  Flags
      wt    

  final void deregisterWorker(java.util.concurrent.ForkJoinWorkerThread, java.lang.Throwable);
    descriptor: (Ljava/util/concurrent/ForkJoinWorkerThread;Ljava/lang/Throwable;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=14, locals=9, args_size=3
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinWorkerThread wt
        start local 2 // java.lang.Throwable ex
         0: .line 1579
            aconst_null
            astore 3 /* w */
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue w
         1: .line 1580
            aload 1 /* wt */
            ifnull 8
            aload 1 /* wt */
            getfield java.util.concurrent.ForkJoinWorkerThread.workQueue:Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 3 /* w */
            ifnull 8
         2: .line 1582
            aload 3 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.config:I
            ldc 65535
            iand
            istore 5 /* idx */
        start local 5 // int idx
         3: .line 1583
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.lockRunState:()I
            istore 6 /* rs */
        start local 6 // int rs
         4: .line 1584
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 4 /* ws */
        start local 4 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         5: ifnull 7
            aload 4 /* ws */
            arraylength
            iload 5 /* idx */
            if_icmple 7
            aload 4 /* ws */
            iload 5 /* idx */
            aaload
            aload 3 /* w */
            if_acmpne 7
         6: .line 1585
            aload 4 /* ws */
            iload 5 /* idx */
            aconst_null
            aastore
         7: .line 1586
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinWorkerThread java.lang.Throwable java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinPool$WorkQueue[] int int
      StackMap stack:
            aload 0 /* this */
            iload 6 /* rs */
            iload 6 /* rs */
            bipush -2
            iand
            invokevirtual java.util.concurrent.ForkJoinPool.unlockRunState:(II)V
        end local 6 // int rs
        end local 5 // int idx
        end local 4 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         8: .line 1589
      StackMap locals:
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
         9: .line 1590
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.CTL:J
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            dup2
            lstore 4 /* c */
        start local 4 // long c
        10: ldc -281474976710656
            lload 4 /* c */
            ldc 281474976710656
            lsub
            land
        11: .line 1591
            ldc 281470681743360
            lload 4 /* c */
            ldc 4294967296
            lsub
            land
            lor
        12: .line 1592
            ldc 4294967295
            lload 4 /* c */
            land
            lor
        13: .line 1589
            invokevirtual sun.misc.Unsafe.compareAndSwapLong:(Ljava/lang/Object;JJJ)Z
        14: .line 1592
            ifeq 8
        15: .line 1593
            aload 3 /* w */
            ifnull 19
        16: .line 1594
            aload 3 /* w */
            iconst_m1
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.qlock:I
        17: .line 1595
            aload 3 /* w */
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.transferStealCount:(Ljava/util/concurrent/ForkJoinPool;)V
        18: .line 1596
            aload 3 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.cancelAll:()V
        19: .line 1600
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual java.util.concurrent.ForkJoinPool.tryTerminate:(ZZ)Z
            ifne 31
            aload 3 /* w */
            ifnull 31
            aload 3 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            ifnull 31
        20: .line 1601
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.runState:I
            ldc 536870912
            iand
            ifne 31
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 6 /* ws */
        start local 6 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        21: ifnull 31
        22: .line 1602
            aload 6 /* ws */
            arraylength
            iconst_1
            isub
            dup
            istore 7 /* m */
        start local 7 // int m
        23: ifge 25
        end local 7 // int m
        end local 6 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        24: .line 1603
            goto 31
        start local 6 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        start local 7 // int m
        25: .line 1604
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue[] int
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            dup2
            lstore 4 /* c */
            l2i
            dup
            istore 8 /* sp */
        start local 8 // int sp
        26: ifeq 29
        27: .line 1605
            aload 0 /* this */
            lload 4 /* c */
            aload 6 /* ws */
            iload 8 /* sp */
            iload 7 /* m */
            iand
            aaload
            ldc 281474976710656
            invokevirtual java.util.concurrent.ForkJoinPool.tryRelease:(JLjava/util/concurrent/ForkJoinPool$WorkQueue;J)Z
            ifeq 19
        28: .line 1606
            goto 31
        29: .line 1608
      StackMap locals: int
      StackMap stack:
            aload 2 /* ex */
            ifnull 31
            lload 4 /* c */
            ldc 140737488355328
            land
            lconst_0
            lcmp
            ifeq 31
        30: .line 1609
            aload 0 /* this */
            lload 4 /* c */
            invokevirtual java.util.concurrent.ForkJoinPool.tryAddWorker:(J)V
        end local 8 // int sp
        end local 7 // int m
        end local 6 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        31: .line 1615
      StackMap locals:
      StackMap stack:
            aload 2 /* ex */
            ifnonnull 33
        32: .line 1616
            invokestatic java.util.concurrent.ForkJoinTask.helpExpungeStaleExceptions:()V
            goto 34
        33: .line 1618
      StackMap locals:
      StackMap stack:
            aload 2 /* ex */
            invokestatic java.util.concurrent.ForkJoinTask.rethrow:(Ljava/lang/Throwable;)V
        34: .line 1619
      StackMap locals:
      StackMap stack:
            return
        end local 4 // long c
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue w
        end local 2 // java.lang.Throwable ex
        end local 1 // java.util.concurrent.ForkJoinWorkerThread wt
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   35     0  this  Ljava/util/concurrent/ForkJoinPool;
            0   35     1    wt  Ljava/util/concurrent/ForkJoinWorkerThread;
            0   35     2    ex  Ljava/lang/Throwable;
            1   35     3     w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            5    8     4    ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            3    8     5   idx  I
            4    8     6    rs  I
           10   35     4     c  J
           21   24     6    ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           25   31     6    ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           23   24     7     m  I
           25   31     7     m  I
           26   31     8    sp  I
    MethodParameters:
      Name  Flags
      wt    
      ex    

  final void signalWork(java.util.concurrent.ForkJoinPool$WorkQueue[], java.util.concurrent.ForkJoinPool$WorkQueue);
    descriptor: ([Ljava/util/concurrent/ForkJoinPool$WorkQueue;Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=8, locals=13, args_size=3
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        start local 2 // java.util.concurrent.ForkJoinPool$WorkQueue q
         0: .line 1631
            goto 25
        start local 3 // long c
         1: .line 1632
      StackMap locals: long
      StackMap stack:
            lload 3 /* c */
            l2i
            dup
            istore 5 /* sp */
        start local 5 // int sp
         2: ifne 6
         3: .line 1633
            lload 3 /* c */
            ldc 140737488355328
            land
            lconst_0
            lcmp
            ifeq 27
         4: .line 1634
            aload 0 /* this */
            lload 3 /* c */
            invokevirtual java.util.concurrent.ForkJoinPool.tryAddWorker:(J)V
         5: .line 1635
            goto 27
         6: .line 1637
      StackMap locals: int
      StackMap stack:
            aload 1 /* ws */
            ifnonnull 8
         7: .line 1638
            goto 27
         8: .line 1639
      StackMap locals:
      StackMap stack:
            aload 1 /* ws */
            arraylength
            iload 5 /* sp */
            ldc 65535
            iand
            dup
            istore 6 /* i */
        start local 6 // int i
         9: if_icmpgt 11
        10: .line 1640
            goto 27
        11: .line 1641
      StackMap locals: int
      StackMap stack:
            aload 1 /* ws */
            iload 6 /* i */
            aaload
            dup
            astore 7 /* v */
        start local 7 // java.util.concurrent.ForkJoinPool$WorkQueue v
        12: ifnonnull 14
        13: .line 1642
            goto 27
        14: .line 1643
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue
      StackMap stack:
            iload 5 /* sp */
            ldc 65536
            iadd
            ldc 2147483647
            iand
            istore 9 /* vs */
        start local 9 // int vs
        15: .line 1644
            iload 5 /* sp */
            aload 7 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
            isub
            istore 10 /* d */
        start local 10 // int d
        16: .line 1645
            ldc -4294967296
            lload 3 /* c */
            ldc 281474976710656
            ladd
            land
            ldc 4294967295
            aload 7 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.stackPred:I
            i2l
            land
            lor
            lstore 11 /* nc */
        start local 11 // long nc
        17: .line 1646
            iload 10 /* d */
            ifne 23
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.CTL:J
            lload 3 /* c */
            lload 11 /* nc */
            invokevirtual sun.misc.Unsafe.compareAndSwapLong:(Ljava/lang/Object;JJJ)Z
            ifeq 23
        18: .line 1647
            aload 7 /* v */
            iload 9 /* vs */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
        19: .line 1648
            aload 7 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.parker:Ljava/lang/Thread;
            dup
            astore 8 /* p */
        start local 8 // java.lang.Thread p
        20: ifnull 27
        21: .line 1649
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 8 /* p */
            invokevirtual sun.misc.Unsafe.unpark:(Ljava/lang/Object;)V
        22: .line 1650
            goto 27
        end local 8 // java.lang.Thread p
        23: .line 1652
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue long int int java.util.concurrent.ForkJoinPool$WorkQueue top int int long
      StackMap stack:
            aload 2 /* q */
            ifnull 25
            aload 2 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            aload 2 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            if_icmpne 25
        24: .line 1653
            goto 27
        end local 11 // long nc
        end local 10 // int d
        end local 9 // int vs
        end local 7 // java.util.concurrent.ForkJoinPool$WorkQueue v
        end local 6 // int i
        end local 5 // int sp
        end local 3 // long c
        25: .line 1631
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            dup2
            lstore 3 /* c */
        start local 3 // long c
        26: lconst_0
            lcmp
            iflt 1
        27: .line 1655
      StackMap locals: long
      StackMap stack:
            return
        end local 3 // long c
        end local 2 // java.util.concurrent.ForkJoinPool$WorkQueue q
        end local 1 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   28     0  this  Ljava/util/concurrent/ForkJoinPool;
            0   28     1    ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   28     2     q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            1   25     3     c  J
           26   28     3     c  J
            2   25     5    sp  I
            9   25     6     i  I
           12   25     7     v  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           20   23     8     p  Ljava/lang/Thread;
           15   25     9    vs  I
           16   25    10     d  I
           17   25    11    nc  J
    MethodParameters:
      Name  Flags
      ws    
      q     

  private boolean tryRelease(long, java.util.concurrent.ForkJoinPool$WorkQueue, long);
    descriptor: (JLjava/util/concurrent/ForkJoinPool$WorkQueue;J)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=11, args_size=4
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // long c
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue v
        start local 4 // long inc
         0: .line 1668
            lload 1 /* c */
            l2i
            istore 6 /* sp */
        start local 6 // int sp
         1: iload 6 /* sp */
            ldc 65536
            iadd
            ldc 2147483647
            iand
            istore 7 /* vs */
        start local 7 // int vs
         2: .line 1669
            aload 3 /* v */
            ifnull 10
            aload 3 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
            iload 6 /* sp */
            if_icmpne 10
         3: .line 1670
            ldc -4294967296
            lload 1 /* c */
            lload 4 /* inc */
            ladd
            land
            ldc 4294967295
            aload 3 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.stackPred:I
            i2l
            land
            lor
            lstore 9 /* nc */
        start local 9 // long nc
         4: .line 1671
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.CTL:J
            lload 1 /* c */
            lload 9 /* nc */
            invokevirtual sun.misc.Unsafe.compareAndSwapLong:(Ljava/lang/Object;JJJ)Z
            ifeq 10
         5: .line 1672
            aload 3 /* v */
            iload 7 /* vs */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
         6: .line 1673
            aload 3 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.parker:Ljava/lang/Thread;
            dup
            astore 8 /* p */
        start local 8 // java.lang.Thread p
         7: ifnull 9
         8: .line 1674
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 8 /* p */
            invokevirtual sun.misc.Unsafe.unpark:(Ljava/lang/Object;)V
         9: .line 1675
      StackMap locals: java.util.concurrent.ForkJoinPool long java.util.concurrent.ForkJoinPool$WorkQueue long int int java.lang.Thread long
      StackMap stack:
            iconst_1
            ireturn
        end local 9 // long nc
        end local 8 // java.lang.Thread p
        10: .line 1678
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 7 // int vs
        end local 6 // int sp
        end local 4 // long inc
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue v
        end local 1 // long c
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljava/util/concurrent/ForkJoinPool;
            0   11     1     c  J
            0   11     3     v  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   11     4   inc  J
            1   11     6    sp  I
            2   11     7    vs  I
            7   10     8     p  Ljava/lang/Thread;
            4   10     9    nc  J
    MethodParameters:
      Name  Flags
      c     
      v     
      inc   

  final void runWorker(java.util.concurrent.ForkJoinPool$WorkQueue);
    descriptor: (Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
         0: .line 1687
            aload 1 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.growArray:()[Ljava/util/concurrent/ForkJoinTask;
            pop
         1: .line 1688
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.hint:I
            istore 2 /* seed */
        start local 2 // int seed
         2: .line 1689
            iload 2 /* seed */
            ifne 3
            iconst_1
            goto 4
      StackMap locals: int
      StackMap stack:
         3: iload 2 /* seed */
      StackMap locals:
      StackMap stack: int
         4: istore 3 /* r */
        start local 3 // int r
         5: .line 1691
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* w */
            iload 3 /* r */
            invokevirtual java.util.concurrent.ForkJoinPool.scan:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 4 /* t */
        start local 4 // java.util.concurrent.ForkJoinTask t
         6: ifnull 8
         7: .line 1692
            aload 1 /* w */
            aload 4 /* t */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.runTask:(Ljava/util/concurrent/ForkJoinTask;)V
            goto 10
         8: .line 1693
      StackMap locals: java.util.concurrent.ForkJoinTask
      StackMap stack:
            aload 0 /* this */
            aload 1 /* w */
            iload 3 /* r */
            invokevirtual java.util.concurrent.ForkJoinPool.awaitWork:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)Z
            ifne 10
         9: .line 1694
            goto 12
        10: .line 1695
      StackMap locals:
      StackMap stack:
            iload 3 /* r */
            iload 3 /* r */
            bipush 13
            ishl
            ixor
            istore 3 /* r */
            iload 3 /* r */
            iload 3 /* r */
            bipush 17
            iushr
            ixor
            istore 3 /* r */
            iload 3 /* r */
            iload 3 /* r */
            iconst_5
            ishl
            ixor
            istore 3 /* r */
        end local 4 // java.util.concurrent.ForkJoinTask t
        11: .line 1690
            goto 5
        12: .line 1697
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int r
        end local 2 // int seed
        end local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Ljava/util/concurrent/ForkJoinPool;
            0   13     1     w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            2   13     2  seed  I
            5   13     3     r  I
            6   11     4     t  Ljava/util/concurrent/ForkJoinTask<*>;
    MethodParameters:
      Name  Flags
      w     

  private java.util.concurrent.ForkJoinTask<?> scan(java.util.concurrent.ForkJoinPool$WorkQueue, int);
    descriptor: (Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=20, args_size=3
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
        start local 2 // int r
         0: .line 1717
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 3 /* ws */
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         1: ifnull 54
            aload 3 /* ws */
            arraylength
            iconst_1
            isub
            dup
            istore 4 /* m */
        start local 4 // int m
         2: ifle 54
            aload 1 /* w */
            ifnull 54
         3: .line 1718
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
            istore 5 /* ss */
        start local 5 // int ss
         4: .line 1719
            iload 2 /* r */
            iload 4 /* m */
            iand
            istore 6 /* origin */
        start local 6 // int origin
         5: iload 6 /* origin */
            istore 7 /* k */
        start local 7 // int k
         6: iconst_0
            istore 8 /* oldSum */
        start local 8 // int oldSum
         7: iconst_0
            istore 9 /* checkSum */
        start local 9 // int checkSum
         8: .line 1722
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int java.util.concurrent.ForkJoinPool$WorkQueue[] int int int int int int
      StackMap stack:
            aload 3 /* ws */
            iload 7 /* k */
            aaload
            dup
            astore 10 /* q */
        start local 10 // java.util.concurrent.ForkJoinPool$WorkQueue q
         9: ifnull 37
        10: .line 1723
            aload 10 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            dup
            istore 13 /* b */
        start local 13 // int b
        11: aload 10 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            isub
            dup
            istore 14 /* n */
        start local 14 // int n
        12: ifge 36
        13: .line 1724
            aload 10 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 11 /* a */
        start local 11 // java.util.concurrent.ForkJoinTask[] a
        14: ifnull 36
        15: .line 1725
            aload 11 /* a */
            arraylength
            iconst_1
            isub
            iload 13 /* b */
            iand
            getstatic java.util.concurrent.ForkJoinPool.ASHIFT:I
            ishl
            getstatic java.util.concurrent.ForkJoinPool.ABASE:I
            iadd
            i2l
            lstore 17 /* i */
        start local 17 // long i
        16: .line 1727
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 11 /* a */
            lload 17 /* i */
            invokevirtual sun.misc.Unsafe.getObjectVolatile:(Ljava/lang/Object;J)Ljava/lang/Object;
        17: .line 1726
            checkcast java.util.concurrent.ForkJoinTask
            dup
            astore 12 /* t */
        start local 12 // java.util.concurrent.ForkJoinTask t
        18: ifnull 30
        19: .line 1728
            aload 10 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            iload 13 /* b */
            if_icmpne 30
        20: .line 1729
            iload 5 /* ss */
            iflt 26
        21: .line 1730
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 11 /* a */
            lload 17 /* i */
            aload 12 /* t */
            aconst_null
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            ifeq 30
        22: .line 1731
            aload 10 /* q */
            iload 13 /* b */
            iconst_1
            iadd
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
        23: .line 1732
            iload 14 /* n */
            iconst_m1
            if_icmpge 25
        24: .line 1733
            aload 0 /* this */
            aload 3 /* ws */
            aload 10 /* q */
            invokevirtual java.util.concurrent.ForkJoinPool.signalWork:([Ljava/util/concurrent/ForkJoinPool$WorkQueue;Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V
        25: .line 1734
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int java.util.concurrent.ForkJoinPool$WorkQueue[] int int int int int int java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask[] java.util.concurrent.ForkJoinTask int int top top long
      StackMap stack:
            aload 12 /* t */
            areturn
        26: .line 1737
      StackMap locals:
      StackMap stack:
            iload 8 /* oldSum */
            ifne 30
        27: .line 1738
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
            ifge 30
        28: .line 1739
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            dup2
            lstore 15 /* c */
        start local 15 // long c
        29: aload 3 /* ws */
            iload 4 /* m */
            lload 15 /* c */
            l2i
            iand
            aaload
            ldc 281474976710656
            invokevirtual java.util.concurrent.ForkJoinPool.tryRelease:(JLjava/util/concurrent/ForkJoinPool$WorkQueue;J)Z
            pop
        end local 15 // long c
        30: .line 1741
      StackMap locals:
      StackMap stack:
            iload 5 /* ss */
            ifge 32
        31: .line 1742
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
            istore 5 /* ss */
        32: .line 1743
      StackMap locals:
      StackMap stack:
            iload 2 /* r */
            iload 2 /* r */
            iconst_1
            ishl
            ixor
            istore 2 /* r */
            iload 2 /* r */
            iload 2 /* r */
            iconst_3
            iushr
            ixor
            istore 2 /* r */
            iload 2 /* r */
            iload 2 /* r */
            bipush 10
            ishl
            ixor
            istore 2 /* r */
        33: .line 1744
            iload 2 /* r */
            iload 4 /* m */
            iand
            dup
            istore 7 /* k */
            istore 6 /* origin */
        34: .line 1745
            iconst_0
            dup
            istore 9 /* checkSum */
            istore 8 /* oldSum */
        35: .line 1746
            goto 8
        end local 17 // long i
        end local 12 // java.util.concurrent.ForkJoinTask t
        end local 11 // java.util.concurrent.ForkJoinTask[] a
        36: .line 1748
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int java.util.concurrent.ForkJoinPool$WorkQueue[] int int int int int int java.util.concurrent.ForkJoinPool$WorkQueue top top int int
      StackMap stack:
            iload 9 /* checkSum */
            iload 13 /* b */
            iadd
            istore 9 /* checkSum */
        end local 14 // int n
        end local 13 // int b
        37: .line 1750
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int java.util.concurrent.ForkJoinPool$WorkQueue[] int int int int int int java.util.concurrent.ForkJoinPool$WorkQueue
      StackMap stack:
            iload 7 /* k */
            iconst_1
            iadd
            iload 4 /* m */
            iand
            dup
            istore 7 /* k */
            iload 6 /* origin */
            if_icmpne 8
        38: .line 1751
            iload 5 /* ss */
            ifge 39
            iload 5 /* ss */
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
            dup
            istore 5 /* ss */
            if_icmpne 52
        39: .line 1752
      StackMap locals:
      StackMap stack:
            iload 8 /* oldSum */
            iload 9 /* checkSum */
            dup
            istore 8 /* oldSum */
            if_icmpne 52
        40: .line 1753
            iload 5 /* ss */
            iflt 54
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.qlock:I
            ifge 42
        41: .line 1754
            goto 54
        42: .line 1755
      StackMap locals:
      StackMap stack:
            iload 5 /* ss */
            ldc -2147483648
            ior
            istore 17 /* ns */
        start local 17 // int ns
        43: .line 1756
            ldc 4294967295
            iload 17 /* ns */
            i2l
            land
        44: .line 1757
            ldc -4294967296
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            dup2
            lstore 15 /* c */
        start local 15 // long c
        45: ldc 281474976710656
            lsub
            land
        46: .line 1756
            lor
            lstore 18 /* nc */
        start local 18 // long nc
        47: .line 1758
            aload 1 /* w */
            lload 15 /* c */
            l2i
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.stackPred:I
        48: .line 1759
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 1 /* w */
            getstatic java.util.concurrent.ForkJoinPool.QSCANSTATE:J
            iload 17 /* ns */
            invokevirtual sun.misc.Unsafe.putInt:(Ljava/lang/Object;JI)V
        49: .line 1760
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.CTL:J
            lload 15 /* c */
            lload 18 /* nc */
            invokevirtual sun.misc.Unsafe.compareAndSwapLong:(Ljava/lang/Object;JJJ)Z
            ifeq 51
        50: .line 1761
            iload 17 /* ns */
            istore 5 /* ss */
            goto 52
        51: .line 1763
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int java.util.concurrent.ForkJoinPool$WorkQueue[] int int int int int int java.util.concurrent.ForkJoinPool$WorkQueue top top top top long int long
      StackMap stack:
            aload 1 /* w */
            iload 5 /* ss */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
        end local 18 // long nc
        end local 17 // int ns
        end local 15 // long c
        52: .line 1765
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int java.util.concurrent.ForkJoinPool$WorkQueue[] int int int int int int java.util.concurrent.ForkJoinPool$WorkQueue
      StackMap stack:
            iconst_0
            istore 9 /* checkSum */
        end local 10 // java.util.concurrent.ForkJoinPool$WorkQueue q
        53: .line 1719
            goto 8
        end local 9 // int checkSum
        end local 8 // int oldSum
        end local 7 // int k
        end local 6 // int origin
        end local 5 // int ss
        end local 4 // int m
        54: .line 1769
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 2 // int r
        end local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   55     0      this  Ljava/util/concurrent/ForkJoinPool;
            0   55     1         w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   55     2         r  I
            1   55     3        ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            2   54     4         m  I
            4   54     5        ss  I
            5   54     6    origin  I
            6   54     7         k  I
            7   54     8    oldSum  I
            8   54     9  checkSum  I
            9   53    10         q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           14   36    11         a  [Ljava/util/concurrent/ForkJoinTask;
           18   36    12         t  Ljava/util/concurrent/ForkJoinTask<*>;
           11   37    13         b  I
           12   37    14         n  I
           29   30    15         c  J
           45   52    15         c  J
           16   36    17         i  J
           43   52    17        ns  I
           47   52    18        nc  J
    Signature: (Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)Ljava/util/concurrent/ForkJoinTask<*>;
    MethodParameters:
      Name  Flags
      w     
      r     

  private boolean awaitWork(java.util.concurrent.ForkJoinPool$WorkQueue, int);
    descriptor: (Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=16, args_size=3
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
        start local 2 // int r
         0: .line 1786
            aload 1 /* w */
            ifnull 1
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.qlock:I
            ifge 2
         1: .line 1787
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 1788
      StackMap locals:
      StackMap stack:
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.stackPred:I
            istore 3 /* pred */
        start local 3 // int pred
         3: iconst_0
            istore 4 /* spins */
        start local 4 // int spins
         4: .line 1789
      StackMap locals: int int
      StackMap stack:
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
            dup
            istore 5 /* ss */
        start local 5 // int ss
         5: iflt 7
         6: .line 1790
            goto 53
         7: .line 1791
      StackMap locals: int
      StackMap stack:
            iload 4 /* spins */
            ifle 19
         8: .line 1792
            iload 2 /* r */
            iload 2 /* r */
            bipush 6
            ishl
            ixor
            istore 2 /* r */
            iload 2 /* r */
            iload 2 /* r */
            bipush 21
            iushr
            ixor
            istore 2 /* r */
            iload 2 /* r */
            iload 2 /* r */
            bipush 7
            ishl
            ixor
            istore 2 /* r */
         9: .line 1793
            iload 2 /* r */
            iflt 4
            iinc 4 /* spins */ -1
            iload 4 /* spins */
            ifne 4
        10: .line 1795
            iload 3 /* pred */
            ifeq 4
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 7 /* ws */
        start local 7 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        11: ifnull 4
        12: .line 1796
            iload 3 /* pred */
            ldc 65535
            iand
            dup
            istore 8 /* j */
        start local 8 // int j
        13: aload 7 /* ws */
            arraylength
            if_icmpge 4
        14: .line 1797
            aload 7 /* ws */
            iload 8 /* j */
            aaload
            dup
            astore 6 /* v */
        start local 6 // java.util.concurrent.ForkJoinPool$WorkQueue v
        15: ifnull 4
        16: .line 1798
            aload 6 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.parker:Ljava/lang/Thread;
            ifnull 17
            aload 6 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
            iflt 4
        17: .line 1799
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinPool$WorkQueue[] int
      StackMap stack:
            iconst_0
            istore 4 /* spins */
        end local 8 // int j
        end local 7 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 6 // java.util.concurrent.ForkJoinPool$WorkQueue v
        18: .line 1801
            goto 4
        19: .line 1802
      StackMap locals:
      StackMap stack:
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.qlock:I
            ifge 21
        20: .line 1803
            iconst_0
            ireturn
        21: .line 1804
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.interrupted:()Z
            ifne 4
        22: .line 1806
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            dup2
            lstore 6 /* c */
        start local 6 // long c
        23: bipush 48
            lshr
            l2i
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.config:I
            ldc 65535
            iand
            iadd
            istore 14 /* ac */
        start local 14 // int ac
        24: .line 1807
            iload 14 /* ac */
            ifgt 25
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual java.util.concurrent.ForkJoinPool.tryTerminate:(ZZ)Z
            ifne 26
        25: .line 1808
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int int int int long top top top top top top int
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.runState:I
            ldc 536870912
            iand
            ifeq 27
        26: .line 1809
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        27: .line 1810
      StackMap locals:
      StackMap stack:
            iload 14 /* ac */
            ifgt 37
            iload 5 /* ss */
            lload 6 /* c */
            l2i
            if_icmpne 37
        28: .line 1811
            ldc -4294967296
            lload 6 /* c */
            ldc 281474976710656
            ladd
            land
            ldc 4294967295
            iload 3 /* pred */
            i2l
            land
            lor
            lstore 8 /* prevctl */
        start local 8 // long prevctl
        29: .line 1812
            lload 6 /* c */
            bipush 32
            lushr
            l2i
            i2s
            istore 15 /* t */
        start local 15 // int t
        30: .line 1813
            iload 15 /* t */
            iconst_2
            if_icmple 32
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.CTL:J
            lload 6 /* c */
            lload 8 /* prevctl */
            invokevirtual sun.misc.Unsafe.compareAndSwapLong:(Ljava/lang/Object;JJJ)Z
            ifeq 32
        31: .line 1814
            iconst_0
            ireturn
        32: .line 1815
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int int int int long long top top top top int int
      StackMap stack:
            ldc 2000000000
            iload 15 /* t */
            iflt 33
            iconst_1
            goto 34
      StackMap locals:
      StackMap stack: long
        33: iconst_1
            iload 15 /* t */
            isub
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int int int int long long top top top top int int
      StackMap stack: long int
        34: i2l
            lmul
            lstore 10 /* parkTime */
        start local 10 // long parkTime
        35: .line 1816
            invokestatic java.lang.System.nanoTime:()J
            lload 10 /* parkTime */
            ladd
            ldc 20000000
            lsub
            lstore 12 /* deadline */
        end local 15 // int t
        start local 12 // long deadline
        36: .line 1817
            goto 40
        end local 12 // long deadline
        end local 10 // long parkTime
        end local 8 // long prevctl
        37: .line 1819
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int int int int long top top top top top top int
      StackMap stack:
            lconst_0
            dup2
            lstore 12 /* deadline */
        start local 12 // long deadline
        38: dup2
            lstore 10 /* parkTime */
        start local 10 // long parkTime
        39: lstore 8 /* prevctl */
        start local 8 // long prevctl
        40: .line 1820
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int int int int long long long long int
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            astore 15 /* wt */
        start local 15 // java.lang.Thread wt
        41: .line 1821
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 15 /* wt */
            getstatic java.util.concurrent.ForkJoinPool.PARKBLOCKER:J
            aload 0 /* this */
            invokevirtual sun.misc.Unsafe.putObject:(Ljava/lang/Object;JLjava/lang/Object;)V
        42: .line 1822
            aload 1 /* w */
            aload 15 /* wt */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.parker:Ljava/lang/Thread;
        43: .line 1823
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
            ifge 45
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            lload 6 /* c */
            lcmp
            ifne 45
        44: .line 1824
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            iconst_0
            lload 10 /* parkTime */
            invokevirtual sun.misc.Unsafe.park:(ZJ)V
        45: .line 1825
      StackMap locals: java.lang.Thread
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 1 /* w */
            getstatic java.util.concurrent.ForkJoinPool.QPARKER:J
            aconst_null
            invokevirtual sun.misc.Unsafe.putOrderedObject:(Ljava/lang/Object;JLjava/lang/Object;)V
        46: .line 1826
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 15 /* wt */
            getstatic java.util.concurrent.ForkJoinPool.PARKBLOCKER:J
            aconst_null
            invokevirtual sun.misc.Unsafe.putObject:(Ljava/lang/Object;JLjava/lang/Object;)V
        47: .line 1827
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
            iflt 49
        48: .line 1828
            goto 53
        49: .line 1829
      StackMap locals:
      StackMap stack:
            lload 10 /* parkTime */
            lconst_0
            lcmp
            ifeq 4
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            lload 6 /* c */
            lcmp
            ifne 4
        50: .line 1830
            lload 12 /* deadline */
            invokestatic java.lang.System.nanoTime:()J
            lsub
            lconst_0
            lcmp
            ifgt 4
        51: .line 1831
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.CTL:J
            lload 6 /* c */
            lload 8 /* prevctl */
            invokevirtual sun.misc.Unsafe.compareAndSwapLong:(Ljava/lang/Object;JJJ)Z
            ifeq 4
        52: .line 1832
            iconst_0
            ireturn
        end local 15 // java.lang.Thread wt
        end local 14 // int ac
        end local 12 // long deadline
        end local 10 // long parkTime
        end local 8 // long prevctl
        end local 6 // long c
        end local 5 // int ss
        end local 4 // int spins
        end local 3 // int pred
        53: .line 1835
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // int r
        end local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   54     0      this  Ljava/util/concurrent/ForkJoinPool;
            0   54     1         w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   54     2         r  I
            3   53     3      pred  I
            4   53     4     spins  I
            5   53     5        ss  I
           15   18     6         v  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           11   18     7        ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           13   18     8         j  I
           23   53     6         c  J
           29   37     8   prevctl  J
           40   53     8   prevctl  J
           35   37    10  parkTime  J
           39   53    10  parkTime  J
           36   37    12  deadline  J
           38   53    12  deadline  J
           24   53    14        ac  I
           30   36    15         t  I
           41   53    15        wt  Ljava/lang/Thread;
    MethodParameters:
      Name  Flags
      w     
      r     

  final int helpComplete(java.util.concurrent.ForkJoinPool$WorkQueue, java.util.concurrent.CountedCompleter<?>, );
    descriptor: (Ljava/util/concurrent/ForkJoinPool$WorkQueue;Ljava/util/concurrent/CountedCompleter;I)I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=16, args_size=4
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
        start local 2 // java.util.concurrent.CountedCompleter task
        start local 3 // int maxTasks
         0: .line 1858
            iconst_0
            istore 5 /* s */
        start local 5 // int s
         1: .line 1859
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 4 /* ws */
        start local 4 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         2: ifnull 39
            aload 4 /* ws */
            arraylength
            iconst_1
            isub
            dup
            istore 6 /* m */
        start local 6 // int m
         3: iflt 39
         4: .line 1860
            aload 2 /* task */
            ifnull 39
            aload 1 /* w */
            ifnull 39
         5: .line 1861
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.config:I
            istore 7 /* mode */
        start local 7 // int mode
         6: .line 1862
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.hint:I
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            ixor
            istore 8 /* r */
        start local 8 // int r
         7: .line 1863
            iload 8 /* r */
            iload 6 /* m */
            iand
            istore 9 /* origin */
        start local 9 // int origin
         8: .line 1864
            iconst_1
            istore 10 /* h */
        start local 10 // int h
         9: .line 1865
            iload 9 /* origin */
            istore 11 /* k */
        start local 11 // int k
        10: iconst_0
            istore 12 /* oldSum */
        start local 12 // int oldSum
        11: iconst_0
            istore 13 /* checkSum */
        start local 13 // int checkSum
        12: .line 1867
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.CountedCompleter int java.util.concurrent.ForkJoinPool$WorkQueue[] int int int int int int int int int
      StackMap stack:
            aload 2 /* task */
            getfield java.util.concurrent.CountedCompleter.status:I
            dup
            istore 5 /* s */
            ifge 14
        13: .line 1868
            goto 39
        14: .line 1869
      StackMap locals:
      StackMap stack:
            iload 10 /* h */
            iconst_1
            if_icmpne 22
            aload 1 /* w */
            aload 2 /* task */
            iload 7 /* mode */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.popCC:(Ljava/util/concurrent/CountedCompleter;I)Ljava/util/concurrent/CountedCompleter;
            dup
            astore 14 /* p */
        start local 14 // java.util.concurrent.CountedCompleter p
        15: ifnull 22
        16: .line 1870
            aload 14 /* p */
            invokevirtual java.util.concurrent.CountedCompleter.doExec:()I
            pop
        17: .line 1871
            iload 3 /* maxTasks */
            ifeq 19
            iinc 3 /* maxTasks */ -1
            iload 3 /* maxTasks */
            ifne 19
        18: .line 1872
            goto 39
        19: .line 1873
      StackMap locals: java.util.concurrent.CountedCompleter
      StackMap stack:
            iload 11 /* k */
            istore 9 /* origin */
        20: .line 1874
            iconst_0
            dup
            istore 13 /* checkSum */
            istore 12 /* oldSum */
        21: .line 1875
            goto 12
        end local 14 // java.util.concurrent.CountedCompleter p
        22: .line 1877
      StackMap locals:
      StackMap stack:
            aload 4 /* ws */
            iload 11 /* k */
            aaload
            dup
            astore 15 /* q */
        start local 15 // java.util.concurrent.ForkJoinPool$WorkQueue q
        23: ifnonnull 25
        24: .line 1878
            iconst_0
            istore 10 /* h */
            goto 27
        25: .line 1879
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.CountedCompleter int java.util.concurrent.ForkJoinPool$WorkQueue[] int int int int int int int int int top java.util.concurrent.ForkJoinPool$WorkQueue
      StackMap stack:
            aload 15 /* q */
            aload 2 /* task */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.pollAndExecCC:(Ljava/util/concurrent/CountedCompleter;)I
            dup
            istore 10 /* h */
            ifge 27
        26: .line 1880
            iload 13 /* checkSum */
            iload 10 /* h */
            iadd
            istore 13 /* checkSum */
        27: .line 1881
      StackMap locals:
      StackMap stack:
            iload 10 /* h */
            ifle 34
        28: .line 1882
            iload 10 /* h */
            iconst_1
            if_icmpne 30
            iload 3 /* maxTasks */
            ifeq 30
            iinc 3 /* maxTasks */ -1
            iload 3 /* maxTasks */
            ifne 30
        29: .line 1883
            goto 39
        30: .line 1884
      StackMap locals:
      StackMap stack:
            iload 8 /* r */
            iload 8 /* r */
            bipush 13
            ishl
            ixor
            istore 8 /* r */
            iload 8 /* r */
            iload 8 /* r */
            bipush 17
            iushr
            ixor
            istore 8 /* r */
            iload 8 /* r */
            iload 8 /* r */
            iconst_5
            ishl
            ixor
            istore 8 /* r */
        31: .line 1885
            iload 8 /* r */
            iload 6 /* m */
            iand
            dup
            istore 11 /* k */
            istore 9 /* origin */
        32: .line 1886
            iconst_0
            dup
            istore 13 /* checkSum */
            istore 12 /* oldSum */
        33: .line 1887
            goto 12
        34: .line 1888
      StackMap locals:
      StackMap stack:
            iload 11 /* k */
            iconst_1
            iadd
            iload 6 /* m */
            iand
            dup
            istore 11 /* k */
            iload 9 /* origin */
            if_icmpne 12
        35: .line 1889
            iload 12 /* oldSum */
            iload 13 /* checkSum */
            dup
            istore 12 /* oldSum */
            if_icmpne 37
        36: .line 1890
            goto 39
        37: .line 1891
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* checkSum */
        end local 15 // java.util.concurrent.ForkJoinPool$WorkQueue q
        38: .line 1865
            goto 12
        end local 13 // int checkSum
        end local 12 // int oldSum
        end local 11 // int k
        end local 10 // int h
        end local 9 // int origin
        end local 8 // int r
        end local 7 // int mode
        end local 6 // int m
        39: .line 1896
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.CountedCompleter int java.util.concurrent.ForkJoinPool$WorkQueue[] int
      StackMap stack:
            iload 5 /* s */
            ireturn
        end local 5 // int s
        end local 4 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 3 // int maxTasks
        end local 2 // java.util.concurrent.CountedCompleter task
        end local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   40     0      this  Ljava/util/concurrent/ForkJoinPool;
            0   40     1         w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   40     2      task  Ljava/util/concurrent/CountedCompleter<*>;
            0   40     3  maxTasks  I
            2   40     4        ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            1   40     5         s  I
            3   39     6         m  I
            6   39     7      mode  I
            7   39     8         r  I
            8   39     9    origin  I
            9   39    10         h  I
           10   39    11         k  I
           11   39    12    oldSum  I
           12   39    13  checkSum  I
           15   22    14         p  Ljava/util/concurrent/CountedCompleter<*>;
           23   38    15         q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
    Signature: (Ljava/util/concurrent/ForkJoinPool$WorkQueue;Ljava/util/concurrent/CountedCompleter<*>;I)I
    MethodParameters:
          Name  Flags
      w         
      task      
      maxTasks  

  private void helpStealer(java.util.concurrent.ForkJoinPool$WorkQueue, java.util.concurrent.ForkJoinTask<?>);
    descriptor: (Ljava/util/concurrent/ForkJoinPool$WorkQueue;Ljava/util/concurrent/ForkJoinTask;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=17, args_size=3
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
        start local 2 // java.util.concurrent.ForkJoinTask task
         0: .line 1913
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            astore 3 /* ws */
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         1: .line 1914
            iconst_0
            istore 4 /* oldSum */
        start local 4 // int oldSum
         2: .line 1915
            aload 3 /* ws */
            ifnull 54
            aload 3 /* ws */
            arraylength
            iconst_1
            isub
            dup
            istore 6 /* m */
        start local 6 // int m
         3: iflt 54
            aload 1 /* w */
            ifnull 54
         4: .line 1916
            aload 2 /* task */
            ifnull 54
         5: .line 1918
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool$WorkQueue[] int top int
      StackMap stack:
            iconst_0
            istore 5 /* checkSum */
        start local 5 // int checkSum
         6: .line 1920
            aload 1 /* w */
            astore 8 /* j */
        start local 8 // java.util.concurrent.ForkJoinPool$WorkQueue j
         7: .line 1921
            aload 2 /* task */
            astore 7 /* subtask */
        start local 7 // java.util.concurrent.ForkJoinTask subtask
         8: goto 52
         9: .line 1922
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool$WorkQueue[] int int int java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool$WorkQueue
      StackMap stack:
            aload 8 /* j */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.hint:I
            iconst_1
            ior
            istore 10 /* h */
        start local 10 // int h
        10: iconst_0
            istore 11 /* k */
        start local 11 // int k
        11: .line 1923
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool$WorkQueue[] int int int java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool$WorkQueue top int int
      StackMap stack:
            iload 11 /* k */
            iload 6 /* m */
            if_icmple 13
        12: .line 1924
            goto 53
        13: .line 1925
      StackMap locals:
      StackMap stack:
            aload 3 /* ws */
            iload 10 /* h */
            iload 11 /* k */
            iadd
            iload 6 /* m */
            iand
            dup
            istore 12 /* i */
        start local 12 // int i
        14: aaload
            dup
            astore 9 /* v */
        start local 9 // java.util.concurrent.ForkJoinPool$WorkQueue v
        15: ifnull 20
        16: .line 1926
            aload 9 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.currentSteal:Ljava/util/concurrent/ForkJoinTask;
            aload 7 /* subtask */
            if_acmpne 19
        17: .line 1927
            aload 8 /* j */
            iload 12 /* i */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.hint:I
        18: .line 1928
            goto 22
        19: .line 1930
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool$WorkQueue[] int int int java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinPool$WorkQueue int int int
      StackMap stack:
            iload 5 /* checkSum */
            aload 9 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            iadd
            istore 5 /* checkSum */
        20: .line 1922
      StackMap locals:
      StackMap stack:
            iinc 11 /* k */ 2
        end local 12 // int i
        end local 9 // java.util.concurrent.ForkJoinPool$WorkQueue v
        21: goto 11
        end local 11 // int k
        end local 10 // int h
        start local 9 // java.util.concurrent.ForkJoinPool$WorkQueue v
        22: .line 1935
      StackMap locals:
      StackMap stack:
            iload 5 /* checkSum */
            aload 9 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            dup
            istore 11 /* b */
        start local 11 // int b
        23: iadd
            istore 5 /* checkSum */
        24: .line 1936
            aload 9 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.currentJoin:Ljava/util/concurrent/ForkJoinTask;
            astore 12 /* next */
        start local 12 // java.util.concurrent.ForkJoinTask next
        25: .line 1937
            aload 7 /* subtask */
            getfield java.util.concurrent.ForkJoinTask.status:I
            iflt 53
            aload 8 /* j */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.currentJoin:Ljava/util/concurrent/ForkJoinTask;
            aload 7 /* subtask */
            if_acmpne 53
        26: .line 1938
            aload 9 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.currentSteal:Ljava/util/concurrent/ForkJoinTask;
            aload 7 /* subtask */
            if_acmpeq 28
        27: .line 1939
            goto 53
        28: .line 1940
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool$WorkQueue[] int int int java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinPool$WorkQueue top int java.util.concurrent.ForkJoinTask
      StackMap stack:
            iload 11 /* b */
            aload 9 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            isub
            ifge 30
            aload 9 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 10 /* a */
        start local 10 // java.util.concurrent.ForkJoinTask[] a
        29: ifnonnull 34
        end local 10 // java.util.concurrent.ForkJoinTask[] a
        30: .line 1941
      StackMap locals:
      StackMap stack:
            aload 12 /* next */
            dup
            astore 7 /* subtask */
            ifnonnull 32
        31: .line 1942
            goto 53
        32: .line 1943
      StackMap locals:
      StackMap stack:
            aload 9 /* v */
            astore 8 /* j */
        33: .line 1944
            goto 52
        start local 10 // java.util.concurrent.ForkJoinTask[] a
        34: .line 1946
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool$WorkQueue[] int int int java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask[] int java.util.concurrent.ForkJoinTask
      StackMap stack:
            aload 10 /* a */
            arraylength
            iconst_1
            isub
            iload 11 /* b */
            iand
            getstatic java.util.concurrent.ForkJoinPool.ASHIFT:I
            ishl
            getstatic java.util.concurrent.ForkJoinPool.ABASE:I
            iadd
            istore 13 /* i */
        start local 13 // int i
        35: .line 1948
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 10 /* a */
            iload 13 /* i */
            i2l
            invokevirtual sun.misc.Unsafe.getObjectVolatile:(Ljava/lang/Object;J)Ljava/lang/Object;
        36: .line 1947
            checkcast java.util.concurrent.ForkJoinTask
            astore 14 /* t */
        start local 14 // java.util.concurrent.ForkJoinTask t
        37: .line 1949
            aload 9 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            iload 11 /* b */
            if_icmpne 22
        38: .line 1950
            aload 14 /* t */
            ifnonnull 40
        39: .line 1951
            goto 53
        40: .line 1952
      StackMap locals: int java.util.concurrent.ForkJoinTask
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 10 /* a */
            iload 13 /* i */
            i2l
            aload 14 /* t */
            aconst_null
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            ifeq 22
        41: .line 1953
            aload 9 /* v */
            iload 11 /* b */
            iconst_1
            iadd
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
        42: .line 1954
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.currentSteal:Ljava/util/concurrent/ForkJoinTask;
            astore 15 /* ps */
        start local 15 // java.util.concurrent.ForkJoinTask ps
        43: .line 1955
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            istore 16 /* top */
        start local 16 // int top
        44: .line 1957
      StackMap locals: java.util.concurrent.ForkJoinTask int
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 1 /* w */
            getstatic java.util.concurrent.ForkJoinPool.QCURRENTSTEAL:J
            aload 14 /* t */
            invokevirtual sun.misc.Unsafe.putOrderedObject:(Ljava/lang/Object;JLjava/lang/Object;)V
        45: .line 1958
            aload 14 /* t */
            invokevirtual java.util.concurrent.ForkJoinTask.doExec:()I
            pop
        46: .line 1959
            aload 2 /* task */
            getfield java.util.concurrent.ForkJoinTask.status:I
            iflt 49
        47: .line 1960
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            iload 16 /* top */
            if_icmpeq 49
        48: .line 1961
            aload 1 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.pop:()Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 14 /* t */
            ifnonnull 44
        49: .line 1962
      StackMap locals:
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 1 /* w */
            getstatic java.util.concurrent.ForkJoinPool.QCURRENTSTEAL:J
            aload 15 /* ps */
            invokevirtual sun.misc.Unsafe.putOrderedObject:(Ljava/lang/Object;JLjava/lang/Object;)V
        50: .line 1963
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            if_icmpeq 22
        51: .line 1964
            return
        end local 16 // int top
        end local 15 // java.util.concurrent.ForkJoinTask ps
        end local 14 // java.util.concurrent.ForkJoinTask t
        end local 13 // int i
        end local 12 // java.util.concurrent.ForkJoinTask next
        end local 11 // int b
        end local 10 // java.util.concurrent.ForkJoinTask[] a
        end local 9 // java.util.concurrent.ForkJoinPool$WorkQueue v
        52: .line 1921
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool$WorkQueue[] int int int java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool$WorkQueue
      StackMap stack:
            aload 7 /* subtask */
            getfield java.util.concurrent.ForkJoinTask.status:I
            ifge 9
        end local 8 // java.util.concurrent.ForkJoinPool$WorkQueue j
        end local 7 // java.util.concurrent.ForkJoinTask subtask
        53: .line 1969
      StackMap locals:
      StackMap stack:
            aload 2 /* task */
            getfield java.util.concurrent.ForkJoinTask.status:I
            iflt 54
            iload 4 /* oldSum */
            iload 5 /* checkSum */
            dup
            istore 4 /* oldSum */
            if_icmpne 5
        end local 6 // int m
        end local 5 // int checkSum
        54: .line 1971
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int oldSum
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 2 // java.util.concurrent.ForkJoinTask task
        end local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   55     0      this  Ljava/util/concurrent/ForkJoinPool;
            0   55     1         w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   55     2      task  Ljava/util/concurrent/ForkJoinTask<*>;
            1   55     3        ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            2   55     4    oldSum  I
            6   54     5  checkSum  I
            3   54     6         m  I
            8   53     7   subtask  Ljava/util/concurrent/ForkJoinTask<*>;
            7   53     8         j  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           15   21     9         v  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           22   52     9         v  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           10   22    10         h  I
           11   22    11         k  I
           14   21    12         i  I
           29   30    10         a  [Ljava/util/concurrent/ForkJoinTask;
           34   52    10         a  [Ljava/util/concurrent/ForkJoinTask;
           23   52    11         b  I
           25   52    12      next  Ljava/util/concurrent/ForkJoinTask<*>;
           35   52    13         i  I
           37   52    14         t  Ljava/util/concurrent/ForkJoinTask<*>;
           43   52    15        ps  Ljava/util/concurrent/ForkJoinTask<*>;
           44   52    16       top  I
    Signature: (Ljava/util/concurrent/ForkJoinPool$WorkQueue;Ljava/util/concurrent/ForkJoinTask<*>;)V
    MethodParameters:
      Name  Flags
      w     
      task  

  private boolean tryCompensate(java.util.concurrent.ForkJoinPool$WorkQueue);
    descriptor: (Ljava/util/concurrent/ForkJoinPool$WorkQueue;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=16, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
         0: .line 1984
            aload 1 /* w */
            ifnull 6
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.qlock:I
            iflt 6
         1: .line 1985
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 3 /* ws */
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         2: ifnull 6
            aload 3 /* ws */
            arraylength
            iconst_1
            isub
            dup
            istore 6 /* m */
        start local 6 // int m
         3: ifle 6
         4: .line 1986
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.config:I
            ldc 65535
            iand
            dup
            istore 7 /* pc */
        start local 7 // int pc
         5: ifne 8
        end local 7 // int pc
        end local 6 // int m
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         6: .line 1987
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* canBlock */
        start local 2 // boolean canBlock
         7: goto 50
        end local 2 // boolean canBlock
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        start local 6 // int m
        start local 7 // int pc
         8: .line 1988
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue top java.util.concurrent.ForkJoinPool$WorkQueue[] top top int int
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            dup2
            lstore 4 /* c */
        start local 4 // long c
         9: l2i
            dup
            istore 8 /* sp */
        start local 8 // int sp
        10: ifeq 13
        11: .line 1989
            aload 0 /* this */
            lload 4 /* c */
            aload 3 /* ws */
            iload 8 /* sp */
            iload 6 /* m */
            iand
            aaload
            lconst_0
            invokevirtual java.util.concurrent.ForkJoinPool.tryRelease:(JLjava/util/concurrent/ForkJoinPool$WorkQueue;J)Z
            istore 2 /* canBlock */
        start local 2 // boolean canBlock
        12: goto 50
        end local 2 // boolean canBlock
        13: .line 1991
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue top java.util.concurrent.ForkJoinPool$WorkQueue[] long int int int
      StackMap stack:
            lload 4 /* c */
            bipush 48
            lshr
            l2i
            iload 7 /* pc */
            iadd
            istore 9 /* ac */
        start local 9 // int ac
        14: .line 1992
            lload 4 /* c */
            bipush 32
            lshr
            l2i
            i2s
            iload 7 /* pc */
            iadd
            istore 10 /* tc */
        start local 10 // int tc
        15: .line 1993
            iconst_0
            istore 11 /* nbusy */
        start local 11 // int nbusy
        16: .line 1994
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        17: goto 24
        18: .line 1996
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue top java.util.concurrent.ForkJoinPool$WorkQueue[] long int int int int int int int
      StackMap stack:
            aload 3 /* ws */
            iload 12 /* i */
            iconst_1
            ishl
            iconst_1
            ior
            iload 6 /* m */
            iand
            aaload
            dup
            astore 13 /* v */
        start local 13 // java.util.concurrent.ForkJoinPool$WorkQueue v
        19: ifnull 23
        20: .line 1997
            aload 13 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
            iconst_1
            iand
            ifeq 22
        21: .line 1998
            goto 25
        22: .line 1999
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue
      StackMap stack:
            iinc 11 /* nbusy */ 1
        end local 13 // java.util.concurrent.ForkJoinPool$WorkQueue v
        23: .line 1994
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 12 /* i */
            iload 6 /* m */
            if_icmple 18
        end local 12 // int i
        25: .line 2002
      StackMap locals:
      StackMap stack:
            iload 11 /* nbusy */
            iload 10 /* tc */
            iconst_1
            ishl
            if_icmpne 26
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            lload 4 /* c */
            lcmp
            ifeq 28
        26: .line 2003
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* canBlock */
        start local 2 // boolean canBlock
        27: goto 50
        end local 2 // boolean canBlock
        28: .line 2004
      StackMap locals:
      StackMap stack:
            iload 10 /* tc */
            iload 7 /* pc */
            if_icmplt 34
            iload 9 /* ac */
            iconst_1
            if_icmple 34
            aload 1 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.isEmpty:()Z
            ifeq 34
        29: .line 2005
            ldc -281474976710656
            lload 4 /* c */
            ldc 281474976710656
            lsub
            land
        30: .line 2006
            ldc 281474976710655
            lload 4 /* c */
            land
        31: .line 2005
            lor
            lstore 12 /* nc */
        start local 12 // long nc
        32: .line 2007
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.CTL:J
            lload 4 /* c */
            lload 12 /* nc */
            invokevirtual sun.misc.Unsafe.compareAndSwapLong:(Ljava/lang/Object;JJJ)Z
            istore 2 /* canBlock */
        end local 12 // long nc
        start local 2 // boolean canBlock
        33: .line 2008
            goto 50
        end local 2 // boolean canBlock
        34: .line 2009
      StackMap locals:
      StackMap stack:
            iload 10 /* tc */
            sipush 32767
            if_icmpge 36
        35: .line 2010
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.common:Ljava/util/concurrent/ForkJoinPool;
            if_acmpne 39
            iload 10 /* tc */
            iload 7 /* pc */
            getstatic java.util.concurrent.ForkJoinPool.commonMaxSpares:I
            iadd
            if_icmplt 39
        36: .line 2011
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.RejectedExecutionException
            dup
        37: .line 2012
            ldc "Thread limit exceeded replacing blocked worker"
        38: .line 2011
            invokespecial java.util.concurrent.RejectedExecutionException.<init>:(Ljava/lang/String;)V
            athrow
        39: .line 2014
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* add */
        start local 12 // boolean add
        40: .line 2015
            ldc -281474976710656
            lload 4 /* c */
            land
        41: .line 2016
            ldc 281470681743360
            lload 4 /* c */
            ldc 4294967296
            ladd
            land
        42: .line 2015
            lor
            lstore 14 /* nc */
        start local 14 // long nc
        43: .line 2017
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.lockRunState:()I
            dup
            istore 13 /* rs */
        start local 13 // int rs
        44: ldc 536870912
            iand
            ifne 46
        45: .line 2018
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.CTL:J
            lload 4 /* c */
            lload 14 /* nc */
            invokevirtual sun.misc.Unsafe.compareAndSwapLong:(Ljava/lang/Object;JJJ)Z
            istore 12 /* add */
        46: .line 2019
      StackMap locals: int int long
      StackMap stack:
            aload 0 /* this */
            iload 13 /* rs */
            iload 13 /* rs */
            bipush -2
            iand
            invokevirtual java.util.concurrent.ForkJoinPool.unlockRunState:(II)V
        47: .line 2020
            iload 12 /* add */
            ifeq 48
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.createWorker:()Z
            ifeq 48
            iconst_1
            goto 49
      StackMap locals:
      StackMap stack:
        48: iconst_0
      StackMap locals:
      StackMap stack: int
        49: istore 2 /* canBlock */
        end local 14 // long nc
        end local 13 // int rs
        end local 12 // boolean add
        end local 11 // int nbusy
        end local 10 // int tc
        end local 9 // int ac
        end local 8 // int sp
        end local 7 // int pc
        end local 6 // int m
        end local 4 // long c
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        start local 2 // boolean canBlock
        50: .line 2023
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int
      StackMap stack:
            iload 2 /* canBlock */
            ireturn
        end local 2 // boolean canBlock
        end local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   51     0      this  Ljava/util/concurrent/ForkJoinPool;
            0   51     1         w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            7    8     2  canBlock  Z
           12   13     2  canBlock  Z
           27   28     2  canBlock  Z
           33   34     2  canBlock  Z
           50   51     2  canBlock  Z
            2    6     3        ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            8   50     3        ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            9   50     4         c  J
            3    6     6         m  I
            8   50     6         m  I
            5    6     7        pc  I
            8   50     7        pc  I
           10   50     8        sp  I
           14   50     9        ac  I
           15   50    10        tc  I
           16   50    11     nbusy  I
           17   25    12         i  I
           19   23    13         v  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           32   33    12        nc  J
           40   50    12       add  Z
           44   50    13        rs  I
           43   50    14        nc  J
    MethodParameters:
      Name  Flags
      w     

  final int awaitJoin(java.util.concurrent.ForkJoinPool$WorkQueue, java.util.concurrent.ForkJoinTask<?>, );
    descriptor: (Ljava/util/concurrent/ForkJoinPool$WorkQueue;Ljava/util/concurrent/ForkJoinTask;J)I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=12, args_size=4
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
        start local 2 // java.util.concurrent.ForkJoinTask task
        start local 3 // long deadline
         0: .line 2035
            iconst_0
            istore 5 /* s */
        start local 5 // int s
         1: .line 2036
            aload 2 /* task */
            ifnull 30
            aload 1 /* w */
            ifnull 30
         2: .line 2037
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.currentJoin:Ljava/util/concurrent/ForkJoinTask;
            astore 6 /* prevJoin */
        start local 6 // java.util.concurrent.ForkJoinTask prevJoin
         3: .line 2038
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 1 /* w */
            getstatic java.util.concurrent.ForkJoinPool.QCURRENTJOIN:J
            aload 2 /* task */
            invokevirtual sun.misc.Unsafe.putOrderedObject:(Ljava/lang/Object;JLjava/lang/Object;)V
         4: .line 2039
            aload 2 /* task */
            instanceof java.util.concurrent.CountedCompleter
            ifeq 6
         5: .line 2040
            aload 2 /* task */
            checkcast java.util.concurrent.CountedCompleter
            goto 7
      StackMap locals: int java.util.concurrent.ForkJoinTask
      StackMap stack:
         6: aconst_null
         7: .line 2039
      StackMap locals:
      StackMap stack: java.util.concurrent.CountedCompleter
            astore 7 /* cc */
        start local 7 // java.util.concurrent.CountedCompleter cc
         8: .line 2042
      StackMap locals: java.util.concurrent.CountedCompleter
      StackMap stack:
            aload 2 /* task */
            getfield java.util.concurrent.ForkJoinTask.status:I
            dup
            istore 5 /* s */
            ifge 10
         9: .line 2043
            goto 29
        10: .line 2044
      StackMap locals:
      StackMap stack:
            aload 7 /* cc */
            ifnull 12
        11: .line 2045
            aload 0 /* this */
            aload 1 /* w */
            aload 7 /* cc */
            iconst_0
            invokevirtual java.util.concurrent.ForkJoinPool.helpComplete:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;Ljava/util/concurrent/CountedCompleter;I)I
            pop
            goto 14
        12: .line 2046
      StackMap locals:
      StackMap stack:
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            if_icmpeq 13
            aload 1 /* w */
            aload 2 /* task */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.tryRemoveAndExec:(Ljava/util/concurrent/ForkJoinTask;)Z
            ifeq 14
        13: .line 2047
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* w */
            aload 2 /* task */
            invokevirtual java.util.concurrent.ForkJoinPool.helpStealer:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;Ljava/util/concurrent/ForkJoinTask;)V
        14: .line 2048
      StackMap locals:
      StackMap stack:
            aload 2 /* task */
            getfield java.util.concurrent.ForkJoinTask.status:I
            dup
            istore 5 /* s */
            ifge 16
        15: .line 2049
            goto 29
        16: .line 2051
      StackMap locals:
      StackMap stack:
            lload 3 /* deadline */
            lconst_0
            lcmp
            ifne 19
        17: .line 2052
            lconst_0
            lstore 8 /* ms */
        start local 8 // long ms
        18: goto 25
        end local 8 // long ms
        19: .line 2053
      StackMap locals:
      StackMap stack:
            lload 3 /* deadline */
            invokestatic java.lang.System.nanoTime:()J
            lsub
            dup2
            lstore 10 /* ns */
        start local 10 // long ns
        20: lconst_0
            lcmp
            ifgt 22
        21: .line 2054
            goto 29
        22: .line 2055
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask long int java.util.concurrent.ForkJoinTask java.util.concurrent.CountedCompleter top top long
      StackMap stack:
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            lload 10 /* ns */
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            dup2
            lstore 8 /* ms */
        start local 8 // long ms
        23: lconst_0
            lcmp
            ifgt 25
        24: .line 2056
            lconst_1
            lstore 8 /* ms */
        end local 10 // long ns
        25: .line 2057
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask long int java.util.concurrent.ForkJoinTask java.util.concurrent.CountedCompleter long
      StackMap stack:
            aload 0 /* this */
            aload 1 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool.tryCompensate:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)Z
            ifeq 8
        26: .line 2058
            aload 2 /* task */
            lload 8 /* ms */
            invokevirtual java.util.concurrent.ForkJoinTask.internalWait:(J)V
        27: .line 2059
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.CTL:J
            ldc 281474976710656
            invokevirtual sun.misc.Unsafe.getAndAddLong:(Ljava/lang/Object;JJ)J
            pop2
        end local 8 // long ms
        28: .line 2041
            goto 8
        29: .line 2062
      StackMap locals:
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 1 /* w */
            getstatic java.util.concurrent.ForkJoinPool.QCURRENTJOIN:J
            aload 6 /* prevJoin */
            invokevirtual sun.misc.Unsafe.putOrderedObject:(Ljava/lang/Object;JLjava/lang/Object;)V
        end local 7 // java.util.concurrent.CountedCompleter cc
        end local 6 // java.util.concurrent.ForkJoinTask prevJoin
        30: .line 2064
      StackMap locals:
      StackMap stack:
            iload 5 /* s */
            ireturn
        end local 5 // int s
        end local 3 // long deadline
        end local 2 // java.util.concurrent.ForkJoinTask task
        end local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   31     0      this  Ljava/util/concurrent/ForkJoinPool;
            0   31     1         w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   31     2      task  Ljava/util/concurrent/ForkJoinTask<*>;
            0   31     3  deadline  J
            1   31     5         s  I
            3   30     6  prevJoin  Ljava/util/concurrent/ForkJoinTask<*>;
            8   30     7        cc  Ljava/util/concurrent/CountedCompleter<*>;
           18   19     8        ms  J
           23   28     8        ms  J
           20   25    10        ns  J
    Signature: (Ljava/util/concurrent/ForkJoinPool$WorkQueue;Ljava/util/concurrent/ForkJoinTask<*>;J)I
    MethodParameters:
          Name  Flags
      w         
      task      
      deadline  

  private java.util.concurrent.ForkJoinPool$WorkQueue findNonEmptyStealQueue();
    descriptor: ()Ljava/util/concurrent/ForkJoinPool$WorkQueue;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2076
            invokestatic java.util.concurrent.ThreadLocalRandom.nextSecondarySeed:()I
            istore 3 /* r */
        start local 3 // int r
         1: .line 2077
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 1 /* ws */
        start local 1 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         2: ifnull 19
            aload 1 /* ws */
            arraylength
            iconst_1
            isub
            dup
            istore 2 /* m */
        start local 2 // int m
         3: iflt 19
         4: .line 2078
            iload 3 /* r */
            iload 2 /* m */
            iand
            istore 4 /* origin */
        start local 4 // int origin
         5: iload 4 /* origin */
            istore 5 /* k */
        start local 5 // int k
         6: iconst_0
            istore 6 /* oldSum */
        start local 6 // int oldSum
         7: iconst_0
            istore 7 /* checkSum */
        start local 7 // int checkSum
         8: .line 2080
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue[] int int int int int int
      StackMap stack:
            aload 1 /* ws */
            iload 5 /* k */
            aaload
            dup
            astore 8 /* q */
        start local 8 // java.util.concurrent.ForkJoinPool$WorkQueue q
         9: ifnull 14
        10: .line 2081
            aload 8 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            dup
            istore 9 /* b */
        start local 9 // int b
        11: aload 8 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            isub
            ifge 13
        12: .line 2082
            aload 8 /* q */
            areturn
        13: .line 2083
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue int
      StackMap stack:
            iload 7 /* checkSum */
            iload 9 /* b */
            iadd
            istore 7 /* checkSum */
        end local 9 // int b
        14: .line 2085
      StackMap locals:
      StackMap stack:
            iload 5 /* k */
            iconst_1
            iadd
            iload 2 /* m */
            iand
            dup
            istore 5 /* k */
            iload 4 /* origin */
            if_icmpne 8
        15: .line 2086
            iload 6 /* oldSum */
            iload 7 /* checkSum */
            dup
            istore 6 /* oldSum */
            if_icmpne 17
        16: .line 2087
            goto 19
        17: .line 2088
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* checkSum */
        end local 8 // java.util.concurrent.ForkJoinPool$WorkQueue q
        18: .line 2078
            goto 8
        end local 7 // int checkSum
        end local 6 // int oldSum
        end local 5 // int k
        end local 4 // int origin
        end local 2 // int m
        19: .line 2092
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue[] top int
      StackMap stack:
            aconst_null
            areturn
        end local 3 // int r
        end local 1 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Ljava/util/concurrent/ForkJoinPool;
            2   20     1        ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            3   19     2         m  I
            1   20     3         r  I
            5   19     4    origin  I
            6   19     5         k  I
            7   19     6    oldSum  I
            8   19     7  checkSum  I
            9   18     8         q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           11   14     9         b  I

  final void helpQuiescePool(java.util.concurrent.ForkJoinPool$WorkQueue);
    descriptor: (Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=10, locals=11, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
         0: .line 2102
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.currentSteal:Ljava/util/concurrent/ForkJoinTask;
            astore 2 /* ps */
        start local 2 // java.util.concurrent.ForkJoinTask ps
         1: .line 2103
            iconst_1
            istore 3 /* active */
        start local 3 // boolean active
         2: .line 2105
      StackMap locals: java.util.concurrent.ForkJoinTask int
      StackMap stack:
            aload 1 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.execLocalTasks:()V
         3: .line 2106
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.findNonEmptyStealQueue:()Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 6 /* q */
        start local 6 // java.util.concurrent.ForkJoinPool$WorkQueue q
         4: ifnull 16
         5: .line 2107
            iload 3 /* active */
            ifne 8
         6: .line 2108
            iconst_1
            istore 3 /* active */
         7: .line 2109
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.CTL:J
            ldc 281474976710656
            invokevirtual sun.misc.Unsafe.getAndAddLong:(Ljava/lang/Object;JJ)J
            pop2
         8: .line 2111
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask int top top java.util.concurrent.ForkJoinPool$WorkQueue
      StackMap stack:
            aload 6 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            dup
            istore 8 /* b */
        start local 8 // int b
         9: aload 6 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            isub
            ifge 2
            aload 6 /* q */
            iload 8 /* b */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.pollAt:(I)Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 7 /* t */
        start local 7 // java.util.concurrent.ForkJoinTask t
        10: ifnull 2
        11: .line 2112
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 1 /* w */
            getstatic java.util.concurrent.ForkJoinPool.QCURRENTSTEAL:J
            aload 7 /* t */
            invokevirtual sun.misc.Unsafe.putOrderedObject:(Ljava/lang/Object;JLjava/lang/Object;)V
        12: .line 2113
            aload 7 /* t */
            invokevirtual java.util.concurrent.ForkJoinTask.doExec:()I
            pop
        13: .line 2114
            aload 1 /* w */
            dup
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.nsteals:I
            iconst_1
            iadd
            dup_x1
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.nsteals:I
            ifge 2
        14: .line 2115
            aload 1 /* w */
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.transferStealCount:(Ljava/util/concurrent/ForkJoinPool;)V
        end local 7 // java.util.concurrent.ForkJoinTask t
        15: .line 2117
            goto 2
        end local 8 // int b
        16: .line 2118
      StackMap locals:
      StackMap stack:
            iload 3 /* active */
            ifeq 24
        17: .line 2119
            ldc -281474976710656
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            dup2
            lstore 4 /* c */
        start local 4 // long c
        18: ldc 281474976710656
            lsub
            land
            ldc 281474976710655
            lload 4 /* c */
            land
            lor
            lstore 9 /* nc */
        start local 9 // long nc
        19: .line 2120
            lload 9 /* nc */
            bipush 48
            lshr
            l2i
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.config:I
            ldc 65535
            iand
            iadd
            ifgt 21
        20: .line 2121
            goto 27
        21: .line 2122
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask int long java.util.concurrent.ForkJoinPool$WorkQueue top top long
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.CTL:J
            lload 4 /* c */
            lload 9 /* nc */
            invokevirtual sun.misc.Unsafe.compareAndSwapLong:(Ljava/lang/Object;JJJ)Z
            ifeq 2
        22: .line 2123
            iconst_0
            istore 3 /* active */
        end local 9 // long nc
        23: .line 2124
            goto 2
        end local 4 // long c
        24: .line 2125
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask int top top java.util.concurrent.ForkJoinPool$WorkQueue
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            dup2
            lstore 4 /* c */
        start local 4 // long c
        25: bipush 48
            lshr
            l2i
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.config:I
            ldc 65535
            iand
            iadd
            ifgt 2
        26: .line 2126
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.CTL:J
            lload 4 /* c */
            lload 4 /* c */
            ldc 281474976710656
            ladd
            invokevirtual sun.misc.Unsafe.compareAndSwapLong:(Ljava/lang/Object;JJJ)Z
            ifeq 2
        end local 6 // java.util.concurrent.ForkJoinPool$WorkQueue q
        end local 4 // long c
        end local 3 // boolean active
        27: .line 2129
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 1 /* w */
            getstatic java.util.concurrent.ForkJoinPool.QCURRENTSTEAL:J
            aload 2 /* ps */
            invokevirtual sun.misc.Unsafe.putOrderedObject:(Ljava/lang/Object;JLjava/lang/Object;)V
        28: .line 2130
            return
        end local 2 // java.util.concurrent.ForkJoinTask ps
        end local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   29     0    this  Ljava/util/concurrent/ForkJoinPool;
            0   29     1       w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            1   29     2      ps  Ljava/util/concurrent/ForkJoinTask<*>;
            2   27     3  active  Z
           18   24     4       c  J
           25   27     4       c  J
            4   27     6       q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           10   15     7       t  Ljava/util/concurrent/ForkJoinTask<*>;
            9   16     8       b  I
           19   23     9      nc  J
    MethodParameters:
      Name  Flags
      w     

  final java.util.concurrent.ForkJoinTask<?> nextTaskFor(java.util.concurrent.ForkJoinPool$WorkQueue);
    descriptor: (Ljava/util/concurrent/ForkJoinPool$WorkQueue;)Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
         0: .line 2140
      StackMap locals:
      StackMap stack:
            aload 1 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.nextLocalTask:()Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 2 /* t */
        start local 2 // java.util.concurrent.ForkJoinTask t
         1: ifnull 3
         2: .line 2141
            aload 2 /* t */
            areturn
         3: .line 2142
      StackMap locals: java.util.concurrent.ForkJoinTask
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.findNonEmptyStealQueue:()Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 3 /* q */
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue q
         4: ifnonnull 6
         5: .line 2143
            aconst_null
            areturn
         6: .line 2144
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue
      StackMap stack:
            aload 3 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            dup
            istore 4 /* b */
        start local 4 // int b
         7: aload 3 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            isub
            ifge 0
            aload 3 /* q */
            iload 4 /* b */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.pollAt:(I)Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 2 /* t */
            ifnull 0
         8: .line 2145
            aload 2 /* t */
            areturn
        end local 4 // int b
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue q
        end local 2 // java.util.concurrent.ForkJoinTask t
        end local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/util/concurrent/ForkJoinPool;
            0    9     1     w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            1    9     2     t  Ljava/util/concurrent/ForkJoinTask<*>;
            4    9     3     q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            7    9     4     b  I
    Signature: (Ljava/util/concurrent/ForkJoinPool$WorkQueue;)Ljava/util/concurrent/ForkJoinTask<*>;
    MethodParameters:
      Name  Flags
      w     

  static int getSurplusQueuedTaskCount();
    descriptor: ()I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=7, args_size=0
         0: .line 2193
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            dup
            astore 0 /* t */
        start local 0 // java.lang.Thread t
         1: instanceof java.util.concurrent.ForkJoinWorkerThread
            ifeq 15
         2: .line 2194
            aload 0 /* t */
            checkcast java.util.concurrent.ForkJoinWorkerThread
            dup
            astore 1 /* wt */
        start local 1 // java.util.concurrent.ForkJoinWorkerThread wt
         3: getfield java.util.concurrent.ForkJoinWorkerThread.pool:Ljava/util/concurrent/ForkJoinPool;
            dup
            astore 2 /* pool */
        start local 2 // java.util.concurrent.ForkJoinPool pool
         4: .line 2195
            getfield java.util.concurrent.ForkJoinPool.config:I
            ldc 65535
         5: .line 2194
            iand
            istore 4 /* p */
        start local 4 // int p
         6: .line 2196
            aload 1 /* wt */
            getfield java.util.concurrent.ForkJoinWorkerThread.workQueue:Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 3 /* q */
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue q
         7: getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            aload 3 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            isub
            istore 5 /* n */
        start local 5 // int n
         8: .line 2197
            aload 2 /* pool */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            bipush 48
            lshr
            l2i
            iload 4 /* p */
            iadd
            istore 6 /* a */
        start local 6 // int a
         9: .line 2198
            iload 5 /* n */
            iload 6 /* a */
            iload 4 /* p */
            iconst_1
            iushr
            dup
            istore 4 /* p */
            if_icmple 10
            iconst_0
            goto 14
        10: .line 2199
      StackMap locals: java.lang.Thread java.util.concurrent.ForkJoinWorkerThread java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int int int
      StackMap stack: int
            iload 6 /* a */
            iload 4 /* p */
            iconst_1
            iushr
            dup
            istore 4 /* p */
            if_icmple 11
            iconst_1
            goto 14
        11: .line 2200
      StackMap locals:
      StackMap stack: int
            iload 6 /* a */
            iload 4 /* p */
            iconst_1
            iushr
            dup
            istore 4 /* p */
            if_icmple 12
            iconst_2
            goto 14
        12: .line 2201
      StackMap locals:
      StackMap stack: int
            iload 6 /* a */
            iload 4 /* p */
            iconst_1
            iushr
            dup
            istore 4 /* p */
            if_icmple 13
            iconst_4
            goto 14
        13: .line 2202
      StackMap locals:
      StackMap stack: int
            bipush 8
        14: .line 2198
      StackMap locals: java.lang.Thread java.util.concurrent.ForkJoinWorkerThread java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int int int
      StackMap stack: int int
            isub
            ireturn
        end local 6 // int a
        end local 5 // int n
        end local 4 // int p
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue q
        end local 2 // java.util.concurrent.ForkJoinPool pool
        end local 1 // java.util.concurrent.ForkJoinWorkerThread wt
        15: .line 2204
      StackMap locals: java.lang.Thread
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.Thread t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1   16     0     t  Ljava/lang/Thread;
            3   15     1    wt  Ljava/util/concurrent/ForkJoinWorkerThread;
            4   15     2  pool  Ljava/util/concurrent/ForkJoinPool;
            7   15     3     q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            6   15     4     p  I
            8   15     5     n  I
            9   15     6     a  I

  private boolean tryTerminate(boolean, boolean);
    descriptor: (ZZ)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=17, args_size=3
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // boolean now
        start local 2 // boolean enable
         0: .line 2219
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.common:Ljava/util/concurrent/ForkJoinPool;
            if_acmpne 2
         1: .line 2220
            iconst_0
            ireturn
         2: .line 2221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.runState:I
            dup
            istore 3 /* rs */
        start local 3 // int rs
         3: iflt 8
         4: .line 2222
            iload 2 /* enable */
            ifne 6
         5: .line 2223
            iconst_0
            ireturn
         6: .line 2224
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.lockRunState:()I
            istore 3 /* rs */
         7: .line 2225
            aload 0 /* this */
            iload 3 /* rs */
            iload 3 /* rs */
            bipush -2
            iand
            ldc -2147483648
            ior
            invokevirtual java.util.concurrent.ForkJoinPool.unlockRunState:(II)V
         8: .line 2228
      StackMap locals:
      StackMap stack:
            iload 3 /* rs */
            ldc 536870912
            iand
            ifne 37
         9: .line 2229
            iload 1 /* now */
            ifne 34
        10: .line 2230
            lconst_0
            lstore 4 /* oldSum */
        start local 4 // long oldSum
        11: .line 2232
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            lstore 12 /* checkSum */
        start local 12 // long checkSum
        12: .line 2233
            lload 12 /* checkSum */
            bipush 48
            lshr
            l2i
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.config:I
            ldc 65535
            iand
            iadd
            ifle 14
        13: .line 2234
            iconst_0
            ireturn
        14: .line 2235
      StackMap locals: java.util.concurrent.ForkJoinPool int int int long top top top top top top long
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 6 /* ws */
        start local 6 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        15: ifnull 34
            aload 6 /* ws */
            arraylength
            iconst_1
            isub
            dup
            istore 8 /* m */
        start local 8 // int m
        16: ifgt 18
        end local 8 // int m
        17: .line 2236
            goto 34
        start local 8 // int m
        18: .line 2237
      StackMap locals: java.util.concurrent.ForkJoinPool int int int long java.util.concurrent.ForkJoinPool$WorkQueue[] top int top top top long
      StackMap stack:
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        19: goto 32
        20: .line 2238
      StackMap locals: int
      StackMap stack:
            aload 6 /* ws */
            iload 14 /* i */
            aaload
            dup
            astore 7 /* w */
        start local 7 // java.util.concurrent.ForkJoinPool$WorkQueue w
        21: ifnull 31
        22: .line 2239
            aload 7 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            dup
            istore 9 /* b */
        start local 9 // int b
        23: aload 7 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            if_icmpne 25
            aload 7 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
            ifge 25
        24: .line 2240
            aload 7 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.currentSteal:Ljava/util/concurrent/ForkJoinTask;
            ifnull 28
        25: .line 2241
      StackMap locals: java.util.concurrent.ForkJoinPool int int int long java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue int int top top long int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            dup2
            lstore 10 /* c */
        start local 10 // long c
        26: aload 6 /* ws */
            iload 8 /* m */
            lload 10 /* c */
            l2i
            iand
            aaload
            ldc 281474976710656
            invokevirtual java.util.concurrent.ForkJoinPool.tryRelease:(JLjava/util/concurrent/ForkJoinPool$WorkQueue;J)Z
            pop
        27: .line 2242
            iconst_0
            ireturn
        end local 10 // long c
        28: .line 2244
      StackMap locals:
      StackMap stack:
            lload 12 /* checkSum */
            iload 9 /* b */
            i2l
            ladd
            lstore 12 /* checkSum */
        29: .line 2245
            iload 14 /* i */
            iconst_1
            iand
            ifne 31
        30: .line 2246
            aload 7 /* w */
            iconst_m1
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.qlock:I
        end local 9 // int b
        31: .line 2237
      StackMap locals: java.util.concurrent.ForkJoinPool int int int long java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue int top top top long int
      StackMap stack:
            iinc 14 /* i */ 1
        end local 7 // java.util.concurrent.ForkJoinPool$WorkQueue w
      StackMap locals: java.util.concurrent.ForkJoinPool int int int long java.util.concurrent.ForkJoinPool$WorkQueue[] top int top top top long int
      StackMap stack:
        32: iload 14 /* i */
            iload 8 /* m */
            if_icmple 20
        end local 14 // int i
        33: .line 2249
            lload 4 /* oldSum */
            lload 12 /* checkSum */
            dup2
            lstore 4 /* oldSum */
            lcmp
            ifne 11
        end local 12 // long checkSum
        end local 8 // int m
        end local 6 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 4 // long oldSum
        34: .line 2253
      StackMap locals: java.util.concurrent.ForkJoinPool int int int
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.runState:I
            ldc 536870912
            iand
            ifne 37
        35: .line 2254
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.lockRunState:()I
            istore 3 /* rs */
        36: .line 2255
            aload 0 /* this */
            iload 3 /* rs */
            iload 3 /* rs */
            bipush -2
            iand
            ldc 536870912
            ior
            invokevirtual java.util.concurrent.ForkJoinPool.unlockRunState:(II)V
        37: .line 2259
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* pass */
        start local 4 // int pass
        38: .line 2260
            lconst_0
            lstore 5 /* oldSum */
        start local 5 // long oldSum
        39: .line 2262
      StackMap locals: int long
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            lstore 11 /* checkSum */
        start local 11 // long checkSum
        40: .line 2263
            lload 11 /* checkSum */
            bipush 32
            lushr
            l2i
            i2s
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.config:I
            ldc 65535
            iand
            iadd
            ifle 44
        41: .line 2264
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 7 /* ws */
        start local 7 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        42: ifnull 44
            aload 7 /* ws */
            arraylength
            iconst_1
            isub
            dup
            istore 10 /* m */
        start local 10 // int m
        43: ifgt 52
        end local 10 // int m
        end local 7 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        44: .line 2265
      StackMap locals: java.util.concurrent.ForkJoinPool int int int int long top top top top long
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.runState:I
            ldc 1073741824
            iand
            ifne 84
        45: .line 2266
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.lockRunState:()I
            istore 3 /* rs */
        46: .line 2267
            aload 0 /* this */
            iload 3 /* rs */
            iload 3 /* rs */
            bipush -2
            iand
            ldc 1073741824
            ior
            invokevirtual java.util.concurrent.ForkJoinPool.unlockRunState:(II)V
        47: .line 2268
            aload 0 /* this */
            dup
            astore 13
            monitorenter
        48: aload 0 /* this */
            invokevirtual java.lang.Object.notifyAll:()V
            aload 13
            monitorexit
        49: goto 84
      StackMap locals: java.util.concurrent.ForkJoinPool int int int int long top top top top long java.util.concurrent.ForkJoinPool
      StackMap stack: java.lang.Throwable
        50: aload 13
            monitorexit
        51: athrow
        start local 7 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        start local 10 // int m
        52: .line 2272
      StackMap locals: java.util.concurrent.ForkJoinPool int int int int long java.util.concurrent.ForkJoinPool$WorkQueue[] top top int long
      StackMap stack:
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        53: goto 69
        54: .line 2273
      StackMap locals: int
      StackMap stack:
            aload 7 /* ws */
            iload 13 /* i */
            aaload
            dup
            astore 8 /* w */
        start local 8 // java.util.concurrent.ForkJoinPool$WorkQueue w
        55: ifnull 68
        56: .line 2274
            lload 11 /* checkSum */
            aload 8 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            i2l
            ladd
            lstore 11 /* checkSum */
        57: .line 2275
            aload 8 /* w */
            iconst_m1
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.qlock:I
        58: .line 2276
            iload 4 /* pass */
            ifle 68
        59: .line 2277
            aload 8 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.cancelAll:()V
        60: .line 2278
            iload 4 /* pass */
            iconst_1
            if_icmple 68
            aload 8 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.owner:Ljava/util/concurrent/ForkJoinWorkerThread;
            dup
            astore 9 /* wt */
        start local 9 // java.util.concurrent.ForkJoinWorkerThread wt
        61: ifnull 68
        62: .line 2279
            aload 9 /* wt */
            invokevirtual java.util.concurrent.ForkJoinWorkerThread.isInterrupted:()Z
            ifne 66
        63: .line 2281
            aload 9 /* wt */
            invokevirtual java.util.concurrent.ForkJoinWorkerThread.interrupt:()V
        64: .line 2282
            goto 66
      StackMap locals: java.util.concurrent.ForkJoinPool int int int int long java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinWorkerThread int long int
      StackMap stack: java.lang.Throwable
        65: pop
        66: .line 2285
      StackMap locals:
      StackMap stack:
            aload 8 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
            ifge 68
        67: .line 2286
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 9 /* wt */
            invokevirtual sun.misc.Unsafe.unpark:(Ljava/lang/Object;)V
        end local 9 // java.util.concurrent.ForkJoinWorkerThread wt
        68: .line 2272
      StackMap locals: java.util.concurrent.ForkJoinPool int int int int long java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue top int long int
      StackMap stack:
            iinc 13 /* i */ 1
        end local 8 // java.util.concurrent.ForkJoinPool$WorkQueue w
      StackMap locals: java.util.concurrent.ForkJoinPool int int int int long java.util.concurrent.ForkJoinPool$WorkQueue[] top top int long int
      StackMap stack:
        69: iload 13 /* i */
            iload 10 /* m */
            if_icmple 54
        end local 13 // int i
        70: .line 2291
            lload 11 /* checkSum */
            lload 5 /* oldSum */
            lcmp
            ifeq 74
        71: .line 2292
            lload 11 /* checkSum */
            lstore 5 /* oldSum */
        72: .line 2293
            iconst_0
            istore 4 /* pass */
        73: .line 2294
            goto 39
        74: .line 2295
      StackMap locals:
      StackMap stack:
            iload 4 /* pass */
            iconst_3
            if_icmple 76
            iload 4 /* pass */
            iload 10 /* m */
            if_icmple 76
        75: .line 2296
            goto 84
        76: .line 2297
      StackMap locals:
      StackMap stack:
            iinc 4 /* pass */ 1
            iload 4 /* pass */
            iconst_1
            if_icmple 39
        77: .line 2298
            iconst_0
            istore 15 /* j */
        start local 15 // int j
        78: .line 2299
            goto 80
        start local 13 // long c
        start local 16 // int sp
        79: .line 2300
      StackMap locals: long int int
      StackMap stack:
            aload 0 /* this */
            lload 13 /* c */
            aload 7 /* ws */
            iload 16 /* sp */
            iload 10 /* m */
            iand
            aaload
            ldc 281474976710656
            invokevirtual java.util.concurrent.ForkJoinPool.tryRelease:(JLjava/util/concurrent/ForkJoinPool$WorkQueue;J)Z
            pop
        end local 16 // int sp
        end local 13 // long c
        80: .line 2299
      StackMap locals: java.util.concurrent.ForkJoinPool int int int int long java.util.concurrent.ForkJoinPool$WorkQueue[] top top int long top top int
      StackMap stack:
            iload 15 /* j */
            iinc 15 /* j */ 1
            iload 10 /* m */
            if_icmpgt 39
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            dup2
            lstore 13 /* c */
        start local 13 // long c
        81: l2i
            dup
            istore 16 /* sp */
        start local 16 // int sp
        82: ifne 79
        end local 16 // int sp
        end local 15 // int j
        end local 13 // long c
        end local 11 // long checkSum
        end local 10 // int m
        end local 7 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        83: .line 2260
            goto 39
        end local 5 // long oldSum
        84: .line 2303
      StackMap locals: java.util.concurrent.ForkJoinPool int int int int
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // int pass
        end local 3 // int rs
        end local 2 // boolean enable
        end local 1 // boolean now
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   85     0      this  Ljava/util/concurrent/ForkJoinPool;
            0   85     1       now  Z
            0   85     2    enable  Z
            3   85     3        rs  I
           11   34     4    oldSum  J
           15   34     6        ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           21   32     7         w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           16   17     8         m  I
           18   34     8         m  I
           23   31     9         b  I
           26   28    10         c  J
           12   34    12  checkSum  J
           19   33    14         i  I
           38   85     4      pass  I
           39   84     5    oldSum  J
           42   44     7        ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           52   83     7        ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           55   69     8         w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           61   68     9        wt  Ljava/util/concurrent/ForkJoinWorkerThread;
           43   44    10         m  I
           52   83    10         m  I
           40   83    11  checkSum  J
           53   70    13         i  I
           79   80    13         c  J
           81   83    13         c  J
           78   83    15         j  I
           79   80    16        sp  I
           82   83    16        sp  I
      Exception table:
        from    to  target  type
          48    49      50  any
          50    51      50  any
          63    64      65  Class java.lang.Throwable
    MethodParameters:
        Name  Flags
      now     
      enable  

  private void externalSubmit(java.util.concurrent.ForkJoinTask<?>);
    descriptor: (Ljava/util/concurrent/ForkJoinTask;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=14, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinTask task
         0: .line 2319
            invokestatic java.util.concurrent.ThreadLocalRandom.getProbe:()I
            dup
            istore 2 /* r */
        start local 2 // int r
         1: ifne 4
         2: .line 2320
            invokestatic java.util.concurrent.ThreadLocalRandom.localInit:()V
         3: .line 2321
            invokestatic java.util.concurrent.ThreadLocalRandom.getProbe:()I
            istore 2 /* r */
         4: .line 2325
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 8 /* move */
        start local 8 // boolean move
         5: .line 2326
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.runState:I
            dup
            istore 5 /* rs */
        start local 5 // int rs
         6: ifge 9
         7: .line 2327
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual java.util.concurrent.ForkJoinPool.tryTerminate:(ZZ)Z
            pop
         8: .line 2328
            new java.util.concurrent.RejectedExecutionException
            dup
            invokespecial java.util.concurrent.RejectedExecutionException.<init>:()V
            athrow
         9: .line 2330
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinTask int top top int top top int
      StackMap stack:
            iload 5 /* rs */
            iconst_4
            iand
            ifeq 13
        10: .line 2331
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 3 /* ws */
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        11: ifnull 13
            aload 3 /* ws */
            arraylength
            iconst_1
            isub
            dup
            istore 6 /* m */
        start local 6 // int m
        12: ifge 33
        end local 6 // int m
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        13: .line 2332
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* ns */
        start local 9 // int ns
        14: .line 2333
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.lockRunState:()I
            istore 5 /* rs */
        15: .line 2335
            iload 5 /* rs */
            iconst_4
            iand
            ifne 31
        16: .line 2336
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.STEALCOUNTER:J
            aconst_null
        17: .line 2337
            new java.util.concurrent.atomic.AtomicLong
            dup
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
        18: .line 2336
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            pop
        19: .line 2339
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.config:I
            ldc 65535
            iand
            istore 10 /* p */
        start local 10 // int p
        20: .line 2340
            iload 10 /* p */
            iconst_1
            if_icmple 21
            iload 10 /* p */
            iconst_1
            isub
            goto 22
      StackMap locals: int int
      StackMap stack:
        21: iconst_1
      StackMap locals:
      StackMap stack: int
        22: istore 11 /* n */
        start local 11 // int n
        23: .line 2341
            iload 11 /* n */
            iload 11 /* n */
            iconst_1
            iushr
            ior
            istore 11 /* n */
            iload 11 /* n */
            iload 11 /* n */
            iconst_2
            iushr
            ior
            istore 11 /* n */
            iload 11 /* n */
            iload 11 /* n */
            iconst_4
            iushr
            ior
            istore 11 /* n */
        24: .line 2342
            iload 11 /* n */
            iload 11 /* n */
            bipush 8
            iushr
            ior
            istore 11 /* n */
            iload 11 /* n */
            iload 11 /* n */
            bipush 16
            iushr
            ior
            istore 11 /* n */
            iload 11 /* n */
            iconst_1
            iadd
            iconst_1
            ishl
            istore 11 /* n */
        25: .line 2343
            aload 0 /* this */
            iload 11 /* n */
            anewarray java.util.concurrent.ForkJoinPool$WorkQueue
            putfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
        26: .line 2344
            iconst_4
            istore 9 /* ns */
        end local 11 // int n
        end local 10 // int p
        27: .line 2346
            goto 31
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinTask int top top int top top int int
      StackMap stack: java.lang.Throwable
        28: astore 12
        29: .line 2347
            aload 0 /* this */
            iload 5 /* rs */
            iload 5 /* rs */
            bipush -2
            iand
            iload 9 /* ns */
            ior
            invokevirtual java.util.concurrent.ForkJoinPool.unlockRunState:(II)V
        30: .line 2348
            aload 12
            athrow
        31: .line 2347
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* rs */
            iload 5 /* rs */
            bipush -2
            iand
            iload 9 /* ns */
            ior
            invokevirtual java.util.concurrent.ForkJoinPool.unlockRunState:(II)V
        end local 9 // int ns
        32: .line 2349
            goto 68
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        start local 6 // int m
        33: .line 2350
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinTask int java.util.concurrent.ForkJoinPool$WorkQueue[] top int int top int
      StackMap stack:
            aload 3 /* ws */
            iload 2 /* r */
            iload 6 /* m */
            iand
            bipush 126
            iand
            dup
            istore 7 /* k */
        start local 7 // int k
        34: aaload
            dup
            astore 4 /* q */
        start local 4 // java.util.concurrent.ForkJoinPool$WorkQueue q
        35: ifnull 56
        36: .line 2351
            aload 4 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.qlock:I
            ifne 54
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 4 /* q */
            getstatic java.util.concurrent.ForkJoinPool.QLOCK:J
            iconst_0
            iconst_1
            invokevirtual sun.misc.Unsafe.compareAndSwapInt:(Ljava/lang/Object;JII)Z
            ifeq 54
        37: .line 2352
            aload 4 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            astore 9 /* a */
        start local 9 // java.util.concurrent.ForkJoinTask[] a
        38: .line 2353
            aload 4 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            istore 10 /* s */
        start local 10 // int s
        39: .line 2354
            iconst_0
            istore 11 /* submitted */
        start local 11 // boolean submitted
        40: .line 2356
            aload 9 /* a */
            ifnull 41
            aload 9 /* a */
            arraylength
            iload 10 /* s */
            iconst_1
            iadd
            aload 4 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            isub
            if_icmpgt 42
        41: .line 2357
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinTask int java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue int int int int java.util.concurrent.ForkJoinTask[] int int
      StackMap stack:
            aload 4 /* q */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.growArray:()[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 9 /* a */
            ifnull 50
        42: .line 2358
      StackMap locals:
      StackMap stack:
            aload 9 /* a */
            arraylength
            iconst_1
            isub
            iload 10 /* s */
            iand
            getstatic java.util.concurrent.ForkJoinPool.ASHIFT:I
            ishl
            getstatic java.util.concurrent.ForkJoinPool.ABASE:I
            iadd
            istore 12 /* j */
        start local 12 // int j
        43: .line 2359
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 9 /* a */
            iload 12 /* j */
            i2l
            aload 1 /* task */
            invokevirtual sun.misc.Unsafe.putOrderedObject:(Ljava/lang/Object;JLjava/lang/Object;)V
        44: .line 2360
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 4 /* q */
            getstatic java.util.concurrent.ForkJoinPool.QTOP:J
            iload 10 /* s */
            iconst_1
            iadd
            invokevirtual sun.misc.Unsafe.putOrderedInt:(Ljava/lang/Object;JI)V
        45: .line 2361
            iconst_1
            istore 11 /* submitted */
        end local 12 // int j
        46: .line 2363
            goto 50
      StackMap locals:
      StackMap stack: java.lang.Throwable
        47: astore 13
        48: .line 2364
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 4 /* q */
            getstatic java.util.concurrent.ForkJoinPool.QLOCK:J
            iconst_1
            iconst_0
            invokevirtual sun.misc.Unsafe.compareAndSwapInt:(Ljava/lang/Object;JII)Z
            pop
        49: .line 2365
            aload 13
            athrow
        50: .line 2364
      StackMap locals:
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 4 /* q */
            getstatic java.util.concurrent.ForkJoinPool.QLOCK:J
            iconst_1
            iconst_0
            invokevirtual sun.misc.Unsafe.compareAndSwapInt:(Ljava/lang/Object;JII)Z
            pop
        51: .line 2366
            iload 11 /* submitted */
            ifeq 54
        52: .line 2367
            aload 0 /* this */
            aload 3 /* ws */
            aload 4 /* q */
            invokevirtual java.util.concurrent.ForkJoinPool.signalWork:([Ljava/util/concurrent/ForkJoinPool$WorkQueue;Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V
        53: .line 2368
            return
        end local 11 // boolean submitted
        end local 10 // int s
        end local 9 // java.util.concurrent.ForkJoinTask[] a
        54: .line 2371
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 8 /* move */
        55: .line 2372
            goto 68
        56: .line 2373
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.runState:I
            dup
            istore 5 /* rs */
            iconst_1
            iand
            ifne 67
        57: .line 2374
            new java.util.concurrent.ForkJoinPool$WorkQueue
            dup
            aload 0 /* this */
            aconst_null
            invokespecial java.util.concurrent.ForkJoinPool$WorkQueue.<init>:(Ljava/util/concurrent/ForkJoinPool;Ljava/util/concurrent/ForkJoinWorkerThread;)V
            astore 4 /* q */
        58: .line 2375
            aload 4 /* q */
            iload 2 /* r */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.hint:I
        59: .line 2376
            aload 4 /* q */
            iload 7 /* k */
            ldc -2147483648
            ior
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.config:I
        60: .line 2377
            aload 4 /* q */
            ldc -2147483648
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.scanState:I
        61: .line 2378
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.lockRunState:()I
            istore 5 /* rs */
        62: .line 2379
            iload 5 /* rs */
            ifle 65
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 3 /* ws */
            ifnull 65
        63: .line 2380
            iload 7 /* k */
            aload 3 /* ws */
            arraylength
            if_icmpge 65
            aload 3 /* ws */
            iload 7 /* k */
            aaload
            ifnonnull 65
        64: .line 2381
            aload 3 /* ws */
            iload 7 /* k */
            aload 4 /* q */
            aastore
        65: .line 2382
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* rs */
            iload 5 /* rs */
            bipush -2
            iand
            invokevirtual java.util.concurrent.ForkJoinPool.unlockRunState:(II)V
        66: .line 2383
            goto 68
        67: .line 2385
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 8 /* move */
        end local 7 // int k
        end local 6 // int m
        end local 4 // java.util.concurrent.ForkJoinPool$WorkQueue q
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        68: .line 2386
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinTask int top top int top top int
      StackMap stack:
            iload 8 /* move */
            ifeq 4
        69: .line 2387
            iload 2 /* r */
            invokestatic java.util.concurrent.ThreadLocalRandom.advanceProbe:(I)I
            istore 2 /* r */
        end local 8 // boolean move
        end local 5 // int rs
        70: .line 2323
            goto 4
        end local 2 // int r
        end local 1 // java.util.concurrent.ForkJoinTask task
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   71     0       this  Ljava/util/concurrent/ForkJoinPool;
            0   71     1       task  Ljava/util/concurrent/ForkJoinTask<*>;
            1   71     2          r  I
           11   13     3         ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           33   68     3         ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           35   68     4          q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            6   70     5         rs  I
           12   13     6          m  I
           33   68     6          m  I
           34   68     7          k  I
            5   70     8       move  Z
           14   32     9         ns  I
           20   27    10          p  I
           23   27    11          n  I
           38   54     9          a  [Ljava/util/concurrent/ForkJoinTask;
           39   54    10          s  I
           40   54    11  submitted  Z
           43   46    12          j  I
      Exception table:
        from    to  target  type
          15    28      28  any
          40    47      47  any
    Signature: (Ljava/util/concurrent/ForkJoinTask<*>;)V
    MethodParameters:
      Name  Flags
      task  

  final void externalPush(java.util.concurrent.ForkJoinTask<?>);
    descriptor: (Ljava/util/concurrent/ForkJoinTask;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=12, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinTask task
         0: .line 2401
            invokestatic java.util.concurrent.ThreadLocalRandom.getProbe:()I
            istore 5 /* r */
        start local 5 // int r
         1: .line 2402
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.runState:I
            istore 6 /* rs */
        start local 6 // int rs
         2: .line 2403
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 2 /* ws */
        start local 2 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         3: ifnull 22
            aload 2 /* ws */
            arraylength
            iconst_1
            isub
            dup
            istore 4 /* m */
        start local 4 // int m
         4: iflt 22
         5: .line 2404
            aload 2 /* ws */
            iload 4 /* m */
            iload 5 /* r */
            iand
            bipush 126
            iand
            aaload
            dup
            astore 3 /* q */
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue q
         6: ifnull 22
            iload 5 /* r */
            ifeq 22
            iload 6 /* rs */
            ifle 22
         7: .line 2405
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 3 /* q */
            getstatic java.util.concurrent.ForkJoinPool.QLOCK:J
            iconst_0
            iconst_1
            invokevirtual sun.misc.Unsafe.compareAndSwapInt:(Ljava/lang/Object;JII)Z
            ifeq 22
         8: .line 2407
            aload 3 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 7 /* a */
        start local 7 // java.util.concurrent.ForkJoinTask[] a
         9: ifnull 21
        10: .line 2408
            aload 7 /* a */
            arraylength
            iconst_1
            isub
            dup
            istore 8 /* am */
        start local 8 // int am
        11: aload 3 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            dup
            istore 10 /* s */
        start local 10 // int s
        12: aload 3 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            isub
            dup
            istore 9 /* n */
        start local 9 // int n
        13: if_icmple 21
        14: .line 2409
            iload 8 /* am */
            iload 10 /* s */
            iand
            getstatic java.util.concurrent.ForkJoinPool.ASHIFT:I
            ishl
            getstatic java.util.concurrent.ForkJoinPool.ABASE:I
            iadd
            istore 11 /* j */
        start local 11 // int j
        15: .line 2410
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 7 /* a */
            iload 11 /* j */
            i2l
            aload 1 /* task */
            invokevirtual sun.misc.Unsafe.putOrderedObject:(Ljava/lang/Object;JLjava/lang/Object;)V
        16: .line 2411
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 3 /* q */
            getstatic java.util.concurrent.ForkJoinPool.QTOP:J
            iload 10 /* s */
            iconst_1
            iadd
            invokevirtual sun.misc.Unsafe.putOrderedInt:(Ljava/lang/Object;JI)V
        17: .line 2412
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 3 /* q */
            getstatic java.util.concurrent.ForkJoinPool.QLOCK:J
            iconst_0
            invokevirtual sun.misc.Unsafe.putIntVolatile:(Ljava/lang/Object;JI)V
        18: .line 2413
            iload 9 /* n */
            iconst_1
            if_icmpgt 20
        19: .line 2414
            aload 0 /* this */
            aload 2 /* ws */
            aload 3 /* q */
            invokevirtual java.util.concurrent.ForkJoinPool.signalWork:([Ljava/util/concurrent/ForkJoinPool$WorkQueue;Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V
        20: .line 2415
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue int int int java.util.concurrent.ForkJoinTask[] int int int int
      StackMap stack:
            return
        end local 11 // int j
        end local 10 // int s
        end local 9 // int n
        end local 8 // int am
        21: .line 2417
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue int int int java.util.concurrent.ForkJoinTask[]
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 3 /* q */
            getstatic java.util.concurrent.ForkJoinPool.QLOCK:J
            iconst_1
            iconst_0
            invokevirtual sun.misc.Unsafe.compareAndSwapInt:(Ljava/lang/Object;JII)Z
            pop
        end local 7 // java.util.concurrent.ForkJoinTask[] a
        end local 4 // int m
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue q
        22: .line 2419
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool$WorkQueue[] top top int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* task */
            invokevirtual java.util.concurrent.ForkJoinPool.externalSubmit:(Ljava/util/concurrent/ForkJoinTask;)V
        23: .line 2420
            return
        end local 6 // int rs
        end local 5 // int r
        end local 2 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 1 // java.util.concurrent.ForkJoinTask task
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0  this  Ljava/util/concurrent/ForkJoinPool;
            0   24     1  task  Ljava/util/concurrent/ForkJoinTask<*>;
            3   24     2    ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            6   22     3     q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            4   22     4     m  I
            1   24     5     r  I
            2   24     6    rs  I
            9   22     7     a  [Ljava/util/concurrent/ForkJoinTask;
           11   21     8    am  I
           13   21     9     n  I
           12   21    10     s  I
           15   21    11     j  I
    Signature: (Ljava/util/concurrent/ForkJoinTask<*>;)V
    MethodParameters:
      Name  Flags
      task  

  static java.util.concurrent.ForkJoinPool$WorkQueue commonSubmitterQueue();
    descriptor: ()Ljava/util/concurrent/ForkJoinPool$WorkQueue;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=0
         0: .line 2426
            getstatic java.util.concurrent.ForkJoinPool.common:Ljava/util/concurrent/ForkJoinPool;
            astore 0 /* p */
        start local 0 // java.util.concurrent.ForkJoinPool p
         1: .line 2427
            invokestatic java.util.concurrent.ThreadLocalRandom.getProbe:()I
            istore 1 /* r */
        start local 1 // int r
         2: .line 2429
            aload 0 /* p */
            ifnull 7
            aload 0 /* p */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 2 /* ws */
        start local 2 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         3: ifnull 7
         4: .line 2430
            aload 2 /* ws */
            arraylength
            iconst_1
            isub
            dup
            istore 3 /* m */
        start local 3 // int m
         5: iflt 7
         6: .line 2431
            aload 2 /* ws */
            iload 3 /* m */
            iload 1 /* r */
            iand
            bipush 126
            iand
            aaload
            goto 8
        end local 3 // int m
        end local 2 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
      StackMap locals: java.util.concurrent.ForkJoinPool int
      StackMap stack:
         7: aconst_null
         8: .line 2429
      StackMap locals:
      StackMap stack: java.util.concurrent.ForkJoinPool$WorkQueue
            areturn
        end local 1 // int r
        end local 0 // java.util.concurrent.ForkJoinPool p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    9     0     p  Ljava/util/concurrent/ForkJoinPool;
            2    9     1     r  I
            3    7     2    ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            5    7     3     m  I

  final boolean tryExternalUnpush(java.util.concurrent.ForkJoinTask<?>);
    descriptor: (Ljava/util/concurrent/ForkJoinTask;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=10, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinTask task
         0: .line 2441
            invokestatic java.util.concurrent.ThreadLocalRandom.getProbe:()I
            istore 7 /* r */
        start local 7 // int r
         1: .line 2442
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 2 /* ws */
        start local 2 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         2: ifnull 18
            aload 2 /* ws */
            arraylength
            iconst_1
            isub
            dup
            istore 5 /* m */
        start local 5 // int m
         3: iflt 18
         4: .line 2443
            aload 2 /* ws */
            iload 5 /* m */
            iload 7 /* r */
            iand
            bipush 126
            iand
            aaload
            dup
            astore 3 /* w */
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue w
         5: ifnull 18
         6: .line 2444
            aload 3 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 4 /* a */
        start local 4 // java.util.concurrent.ForkJoinTask[] a
         7: ifnull 18
            aload 3 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            dup
            istore 6 /* s */
        start local 6 // int s
         8: aload 3 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            if_icmpeq 18
         9: .line 2445
            aload 4 /* a */
            arraylength
            iconst_1
            isub
            iload 6 /* s */
            iconst_1
            isub
            iand
            getstatic java.util.concurrent.ForkJoinPool.ASHIFT:I
            ishl
            getstatic java.util.concurrent.ForkJoinPool.ABASE:I
            iadd
            i2l
            lstore 8 /* j */
        start local 8 // long j
        10: .line 2446
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 3 /* w */
            getstatic java.util.concurrent.ForkJoinPool.QLOCK:J
            iconst_0
            iconst_1
            invokevirtual sun.misc.Unsafe.compareAndSwapInt:(Ljava/lang/Object;JII)Z
            ifeq 18
        11: .line 2447
            aload 3 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            iload 6 /* s */
            if_icmpne 17
            aload 3 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            aload 4 /* a */
            if_acmpne 17
        12: .line 2448
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 4 /* a */
            lload 8 /* j */
            invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
            aload 1 /* task */
            if_acmpne 17
        13: .line 2449
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 4 /* 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 17
        14: .line 2450
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 3 /* w */
            getstatic java.util.concurrent.ForkJoinPool.QTOP:J
            iload 6 /* s */
            iconst_1
            isub
            invokevirtual sun.misc.Unsafe.putOrderedInt:(Ljava/lang/Object;JI)V
        15: .line 2451
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 3 /* w */
            getstatic java.util.concurrent.ForkJoinPool.QLOCK:J
            iconst_0
            invokevirtual sun.misc.Unsafe.putOrderedInt:(Ljava/lang/Object;JI)V
        16: .line 2452
            iconst_1
            ireturn
        17: .line 2454
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask[] int int int long
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 3 /* w */
            getstatic java.util.concurrent.ForkJoinPool.QLOCK:J
            iconst_1
            iconst_0
            invokevirtual sun.misc.Unsafe.compareAndSwapInt:(Ljava/lang/Object;JII)Z
            pop
        end local 8 // long j
        end local 6 // int s
        end local 5 // int m
        end local 4 // java.util.concurrent.ForkJoinTask[] a
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue w
        18: .line 2457
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool$WorkQueue[] top top top top int
      StackMap stack:
            iconst_0
            ireturn
        end local 7 // int r
        end local 2 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 1 // java.util.concurrent.ForkJoinTask task
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Ljava/util/concurrent/ForkJoinPool;
            0   19     1  task  Ljava/util/concurrent/ForkJoinTask<*>;
            2   19     2    ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            5   18     3     w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            7   18     4     a  [Ljava/util/concurrent/ForkJoinTask;
            3   18     5     m  I
            8   18     6     s  I
            1   19     7     r  I
           10   18     8     j  J
    Signature: (Ljava/util/concurrent/ForkJoinTask<*>;)Z
    MethodParameters:
      Name  Flags
      task  

  final int externalHelpComplete(java.util.concurrent.CountedCompleter<?>, );
    descriptor: (Ljava/util/concurrent/CountedCompleter;I)I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.CountedCompleter task
        start local 2 // int maxTasks
         0: .line 2465
            invokestatic java.util.concurrent.ThreadLocalRandom.getProbe:()I
            istore 5 /* r */
        start local 5 // int r
         1: .line 2466
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 3 /* ws */
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         2: ifnull 4
            aload 3 /* ws */
            arraylength
            dup
            istore 4 /* n */
        start local 4 // int n
         3: ifne 5
        end local 4 // int n
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.CountedCompleter int java.util.concurrent.ForkJoinPool$WorkQueue[] top int
      StackMap stack:
         4: iconst_0
            goto 6
        start local 4 // int n
         5: .line 2467
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.CountedCompleter int java.util.concurrent.ForkJoinPool$WorkQueue[] int int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* ws */
            iload 4 /* n */
            iconst_1
            isub
            iload 5 /* r */
            iand
            bipush 126
            iand
            aaload
            aload 1 /* task */
            iload 2 /* maxTasks */
            invokevirtual java.util.concurrent.ForkJoinPool.helpComplete:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;Ljava/util/concurrent/CountedCompleter;I)I
        end local 4 // int n
         6: .line 2466
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.CountedCompleter int java.util.concurrent.ForkJoinPool$WorkQueue[] top int
      StackMap stack: int
            ireturn
        end local 5 // int r
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 2 // int maxTasks
        end local 1 // java.util.concurrent.CountedCompleter task
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Ljava/util/concurrent/ForkJoinPool;
            0    7     1      task  Ljava/util/concurrent/CountedCompleter<*>;
            0    7     2  maxTasks  I
            2    7     3        ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            3    4     4         n  I
            5    6     4         n  I
            1    7     5         r  I
    Signature: (Ljava/util/concurrent/CountedCompleter<*>;I)I
    MethodParameters:
          Name  Flags
      task      
      maxTasks  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2486
            aload 0 /* this */
            sipush 32767
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.availableProcessors:()I
            invokestatic java.lang.Math.min:(II)I
         1: .line 2487
            getstatic java.util.concurrent.ForkJoinPool.defaultForkJoinWorkerThreadFactory:Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
            aconst_null
            iconst_0
            invokespecial java.util.concurrent.ForkJoinPool.<init>:(ILjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;Ljava/lang/Thread$UncaughtExceptionHandler;Z)V
         2: .line 2488
            return
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/concurrent/ForkJoinPool;

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // int parallelism
         0: .line 2505
            aload 0 /* this */
            iload 1 /* parallelism */
            getstatic java.util.concurrent.ForkJoinPool.defaultForkJoinWorkerThreadFactory:Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
            aconst_null
            iconst_0
            invokespecial java.util.concurrent.ForkJoinPool.<init>:(ILjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;Ljava/lang/Thread$UncaughtExceptionHandler;Z)V
         1: .line 2506
            return
        end local 1 // int parallelism
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ljava/util/concurrent/ForkJoinPool;
            0    2     1  parallelism  I
    MethodParameters:
             Name  Flags
      parallelism  

  public void <init>(int, java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory, java.lang.Thread$UncaughtExceptionHandler, boolean);
    descriptor: (ILjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;Ljava/lang/Thread$UncaughtExceptionHandler;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // int parallelism
        start local 2 // java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory factory
        start local 3 // java.lang.Thread$UncaughtExceptionHandler handler
        start local 4 // boolean asyncMode
         0: .line 2536
            aload 0 /* this */
            iload 1 /* parallelism */
            invokestatic java.util.concurrent.ForkJoinPool.checkParallelism:(I)I
         1: .line 2537
            aload 2 /* factory */
            invokestatic java.util.concurrent.ForkJoinPool.checkFactory:(Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;)Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
         2: .line 2538
            aload 3 /* handler */
         3: .line 2539
            iload 4 /* asyncMode */
            ifeq 4
            ldc 65536
            goto 5
      StackMap locals: uninitialized-this int java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory java.lang.Thread$UncaughtExceptionHandler int
      StackMap stack: uninitialized-this int java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory java.lang.Thread$UncaughtExceptionHandler
         4: iconst_0
         5: .line 2540
      StackMap locals: uninitialized-this int java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory java.lang.Thread$UncaughtExceptionHandler int
      StackMap stack: uninitialized-this int java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory java.lang.Thread$UncaughtExceptionHandler int
            new java.lang.StringBuilder
            dup
            ldc "ForkJoinPool-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.util.concurrent.ForkJoinPool.nextPoolId:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "-worker-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.util.concurrent.ForkJoinPool.<init>:(ILjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;Ljava/lang/Thread$UncaughtExceptionHandler;ILjava/lang/String;)V
         6: .line 2541
            invokestatic java.util.concurrent.ForkJoinPool.checkPermission:()V
         7: .line 2542
            return
        end local 4 // boolean asyncMode
        end local 3 // java.lang.Thread$UncaughtExceptionHandler handler
        end local 2 // java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory factory
        end local 1 // int parallelism
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Ljava/util/concurrent/ForkJoinPool;
            0    8     1  parallelism  I
            0    8     2      factory  Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
            0    8     3      handler  Ljava/lang/Thread$UncaughtExceptionHandler;
            0    8     4    asyncMode  Z
    MethodParameters:
             Name  Flags
      parallelism  
      factory      
      handler      
      asyncMode    

  private static int checkParallelism(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int parallelism
         0: .line 2545
            iload 0 /* parallelism */
            ifle 1
            iload 0 /* parallelism */
            sipush 32767
            if_icmple 2
         1: .line 2546
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 2547
      StackMap locals:
      StackMap stack:
            iload 0 /* parallelism */
            ireturn
        end local 0 // int parallelism
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  parallelism  I
    MethodParameters:
             Name  Flags
      parallelism  

  private static java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory checkFactory(java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory);
    descriptor: (Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;)Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory factory
         0: .line 2552
            aload 0 /* factory */
            ifnonnull 2
         1: .line 2553
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 2554
      StackMap locals:
      StackMap stack:
            aload 0 /* factory */
            areturn
        end local 0 // java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory factory
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  factory  Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
    MethodParameters:
         Name  Flags
      factory  

  private void <init>(int, java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory, java.lang.Thread$UncaughtExceptionHandler, int, java.lang.String);
    descriptor: (ILjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;Ljava/lang/Thread$UncaughtExceptionHandler;ILjava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=6
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // int parallelism
        start local 2 // java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory factory
        start local 3 // java.lang.Thread$UncaughtExceptionHandler handler
        start local 4 // int mode
        start local 5 // java.lang.String workerNamePrefix
         0: .line 2562
            aload 0 /* this */
            invokespecial java.util.concurrent.AbstractExecutorService.<init>:()V
         1: .line 2567
            aload 0 /* this */
            aload 5 /* workerNamePrefix */
            putfield java.util.concurrent.ForkJoinPool.workerNamePrefix:Ljava/lang/String;
         2: .line 2568
            aload 0 /* this */
            aload 2 /* factory */
            putfield java.util.concurrent.ForkJoinPool.factory:Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
         3: .line 2569
            aload 0 /* this */
            aload 3 /* handler */
            putfield java.util.concurrent.ForkJoinPool.ueh:Ljava/lang/Thread$UncaughtExceptionHandler;
         4: .line 2570
            aload 0 /* this */
            iload 1 /* parallelism */
            ldc 65535
            iand
            iload 4 /* mode */
            ior
            putfield java.util.concurrent.ForkJoinPool.config:I
         5: .line 2571
            iload 1 /* parallelism */
            ineg
            i2l
            lstore 6 /* np */
        start local 6 // long np
         6: .line 2572
            aload 0 /* this */
            lload 6 /* np */
            bipush 48
            lshl
            ldc -281474976710656
            land
            lload 6 /* np */
            bipush 32
            lshl
            ldc 281470681743360
            land
            lor
            putfield java.util.concurrent.ForkJoinPool.ctl:J
         7: .line 2573
            return
        end local 6 // long np
        end local 5 // java.lang.String workerNamePrefix
        end local 4 // int mode
        end local 3 // java.lang.Thread$UncaughtExceptionHandler handler
        end local 2 // java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory factory
        end local 1 // int parallelism
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Ljava/util/concurrent/ForkJoinPool;
            0    8     1       parallelism  I
            0    8     2           factory  Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
            0    8     3           handler  Ljava/lang/Thread$UncaughtExceptionHandler;
            0    8     4              mode  I
            0    8     5  workerNamePrefix  Ljava/lang/String;
            6    8     6                np  J
    MethodParameters:
                  Name  Flags
      parallelism       
      factory           
      handler           
      mode              
      workerNamePrefix  

  public static java.util.concurrent.ForkJoinPool commonPool();
    descriptor: ()Ljava/util/concurrent/ForkJoinPool;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2590
            getstatic java.util.concurrent.ForkJoinPool.common:Ljava/util/concurrent/ForkJoinPool;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public <T> T invoke(java.util.concurrent.ForkJoinTask<T>);
    descriptor: (Ljava/util/concurrent/ForkJoinTask;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinTask task
         0: .line 2613
            aload 1 /* task */
            ifnonnull 2
         1: .line 2614
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 2615
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* task */
            invokevirtual java.util.concurrent.ForkJoinPool.externalPush:(Ljava/util/concurrent/ForkJoinTask;)V
         3: .line 2616
            aload 1 /* task */
            invokevirtual java.util.concurrent.ForkJoinTask.join:()Ljava/lang/Object;
            areturn
        end local 1 // java.util.concurrent.ForkJoinTask task
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/concurrent/ForkJoinPool;
            0    4     1  task  Ljava/util/concurrent/ForkJoinTask<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/concurrent/ForkJoinTask<TT;>;)TT;
    MethodParameters:
      Name  Flags
      task  

  public void execute(java.util.concurrent.ForkJoinTask<?>);
    descriptor: (Ljava/util/concurrent/ForkJoinTask;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinTask task
         0: .line 2628
            aload 1 /* task */
            ifnonnull 2
         1: .line 2629
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 2630
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* task */
            invokevirtual java.util.concurrent.ForkJoinPool.externalPush:(Ljava/util/concurrent/ForkJoinTask;)V
         3: .line 2631
            return
        end local 1 // java.util.concurrent.ForkJoinTask task
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/concurrent/ForkJoinPool;
            0    4     1  task  Ljava/util/concurrent/ForkJoinTask<*>;
    Signature: (Ljava/util/concurrent/ForkJoinTask<*>;)V
    MethodParameters:
      Name  Flags
      task  

  public void execute(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.lang.Runnable task
         0: .line 2641
            aload 1 /* task */
            ifnonnull 2
         1: .line 2642
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 2644
      StackMap locals:
      StackMap stack:
            aload 1 /* task */
            instanceof java.util.concurrent.ForkJoinTask
            ifeq 5
         3: .line 2645
            aload 1 /* task */
            checkcast java.util.concurrent.ForkJoinTask
            astore 2 /* job */
        start local 2 // java.util.concurrent.ForkJoinTask job
         4: goto 6
        end local 2 // java.util.concurrent.ForkJoinTask job
         5: .line 2647
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.ForkJoinTask$RunnableExecuteAction
            dup
            aload 1 /* task */
            invokespecial java.util.concurrent.ForkJoinTask$RunnableExecuteAction.<init>:(Ljava/lang/Runnable;)V
            astore 2 /* job */
        start local 2 // java.util.concurrent.ForkJoinTask job
         6: .line 2648
      StackMap locals: java.util.concurrent.ForkJoinTask
      StackMap stack:
            aload 0 /* this */
            aload 2 /* job */
            invokevirtual java.util.concurrent.ForkJoinPool.externalPush:(Ljava/util/concurrent/ForkJoinTask;)V
         7: .line 2649
            return
        end local 2 // java.util.concurrent.ForkJoinTask job
        end local 1 // java.lang.Runnable task
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/util/concurrent/ForkJoinPool;
            0    8     1  task  Ljava/lang/Runnable;
            4    5     2   job  Ljava/util/concurrent/ForkJoinTask<*>;
            6    8     2   job  Ljava/util/concurrent/ForkJoinTask<*>;
    MethodParameters:
      Name  Flags
      task  

  public <T> java.util.concurrent.ForkJoinTask<T> submit(java.util.concurrent.ForkJoinTask<T>);
    descriptor: (Ljava/util/concurrent/ForkJoinTask;)Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinTask task
         0: .line 2662
            aload 1 /* task */
            ifnonnull 2
         1: .line 2663
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 2664
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* task */
            invokevirtual java.util.concurrent.ForkJoinPool.externalPush:(Ljava/util/concurrent/ForkJoinTask;)V
         3: .line 2665
            aload 1 /* task */
            areturn
        end local 1 // java.util.concurrent.ForkJoinTask task
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/concurrent/ForkJoinPool;
            0    4     1  task  Ljava/util/concurrent/ForkJoinTask<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/concurrent/ForkJoinTask<TT;>;)Ljava/util/concurrent/ForkJoinTask<TT;>;
    MethodParameters:
      Name  Flags
      task  

  public <T> java.util.concurrent.ForkJoinTask<T> submit(java.util.concurrent.Callable<T>);
    descriptor: (Ljava/util/concurrent/Callable;)Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.Callable task
         0: .line 2674
            new java.util.concurrent.ForkJoinTask$AdaptedCallable
            dup
            aload 1 /* task */
            invokespecial java.util.concurrent.ForkJoinTask$AdaptedCallable.<init>:(Ljava/util/concurrent/Callable;)V
            astore 2 /* job */
        start local 2 // java.util.concurrent.ForkJoinTask job
         1: .line 2675
            aload 0 /* this */
            aload 2 /* job */
            invokevirtual java.util.concurrent.ForkJoinPool.externalPush:(Ljava/util/concurrent/ForkJoinTask;)V
         2: .line 2676
            aload 2 /* job */
            areturn
        end local 2 // java.util.concurrent.ForkJoinTask job
        end local 1 // java.util.concurrent.Callable task
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/concurrent/ForkJoinPool;
            0    3     1  task  Ljava/util/concurrent/Callable<TT;>;
            1    3     2   job  Ljava/util/concurrent/ForkJoinTask<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/concurrent/Callable<TT;>;)Ljava/util/concurrent/ForkJoinTask<TT;>;
    MethodParameters:
      Name  Flags
      task  

  public <T> java.util.concurrent.ForkJoinTask<T> submit(java.lang.Runnable, T);
    descriptor: (Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.lang.Runnable task
        start local 2 // java.lang.Object result
         0: .line 2685
            new java.util.concurrent.ForkJoinTask$AdaptedRunnable
            dup
            aload 1 /* task */
            aload 2 /* result */
            invokespecial java.util.concurrent.ForkJoinTask$AdaptedRunnable.<init>:(Ljava/lang/Runnable;Ljava/lang/Object;)V
            astore 3 /* job */
        start local 3 // java.util.concurrent.ForkJoinTask job
         1: .line 2686
            aload 0 /* this */
            aload 3 /* job */
            invokevirtual java.util.concurrent.ForkJoinPool.externalPush:(Ljava/util/concurrent/ForkJoinTask;)V
         2: .line 2687
            aload 3 /* job */
            areturn
        end local 3 // java.util.concurrent.ForkJoinTask job
        end local 2 // java.lang.Object result
        end local 1 // java.lang.Runnable task
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljava/util/concurrent/ForkJoinPool;
            0    3     1    task  Ljava/lang/Runnable;
            0    3     2  result  TT;
            1    3     3     job  Ljava/util/concurrent/ForkJoinTask<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Runnable;TT;)Ljava/util/concurrent/ForkJoinTask<TT;>;
    MethodParameters:
        Name  Flags
      task    
      result  

  public java.util.concurrent.ForkJoinTask<?> submit(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.lang.Runnable task
         0: .line 2696
            aload 1 /* task */
            ifnonnull 2
         1: .line 2697
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 2699
      StackMap locals:
      StackMap stack:
            aload 1 /* task */
            instanceof java.util.concurrent.ForkJoinTask
            ifeq 5
         3: .line 2700
            aload 1 /* task */
            checkcast java.util.concurrent.ForkJoinTask
            astore 2 /* job */
        start local 2 // java.util.concurrent.ForkJoinTask job
         4: goto 6
        end local 2 // java.util.concurrent.ForkJoinTask job
         5: .line 2702
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.ForkJoinTask$AdaptedRunnableAction
            dup
            aload 1 /* task */
            invokespecial java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.<init>:(Ljava/lang/Runnable;)V
            astore 2 /* job */
        start local 2 // java.util.concurrent.ForkJoinTask job
         6: .line 2703
      StackMap locals: java.util.concurrent.ForkJoinTask
      StackMap stack:
            aload 0 /* this */
            aload 2 /* job */
            invokevirtual java.util.concurrent.ForkJoinPool.externalPush:(Ljava/util/concurrent/ForkJoinTask;)V
         7: .line 2704
            aload 2 /* job */
            areturn
        end local 2 // java.util.concurrent.ForkJoinTask job
        end local 1 // java.lang.Runnable task
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/util/concurrent/ForkJoinPool;
            0    8     1  task  Ljava/lang/Runnable;
            4    5     2   job  Ljava/util/concurrent/ForkJoinTask<*>;
            6    8     2   job  Ljava/util/concurrent/ForkJoinTask<*>;
    Signature: (Ljava/lang/Runnable;)Ljava/util/concurrent/ForkJoinTask<*>;
    MethodParameters:
      Name  Flags
      task  

  public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>);
    descriptor: (Ljava/util/Collection;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=11, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.Collection tasks
         0: .line 2715
            new java.util.ArrayList
            dup
            aload 1 /* tasks */
            invokeinterface java.util.Collection.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* futures */
        start local 2 // java.util.ArrayList futures
         1: .line 2717
            iconst_0
            istore 3 /* done */
        start local 3 // boolean done
         2: .line 2719
            aload 1 /* tasks */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.Collection java.util.ArrayList int top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.concurrent.Callable
            astore 4 /* t */
        start local 4 // java.util.concurrent.Callable t
         4: .line 2720
            new java.util.concurrent.ForkJoinTask$AdaptedCallable
            dup
            aload 4 /* t */
            invokespecial java.util.concurrent.ForkJoinTask$AdaptedCallable.<init>:(Ljava/util/concurrent/Callable;)V
            astore 6 /* f */
        start local 6 // java.util.concurrent.ForkJoinTask f
         5: .line 2721
            aload 2 /* futures */
            aload 6 /* f */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         6: .line 2722
            aload 0 /* this */
            aload 6 /* f */
            invokevirtual java.util.concurrent.ForkJoinPool.externalPush:(Ljava/util/concurrent/ForkJoinTask;)V
        end local 6 // java.util.concurrent.ForkJoinTask f
        end local 4 // java.util.concurrent.Callable t
         7: .line 2719
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 2724
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         9: aload 2 /* futures */
            invokevirtual java.util.ArrayList.size:()I
            istore 5 /* size */
        start local 5 // int size
        10: goto 13
        11: .line 2725
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.Collection java.util.ArrayList int int int
      StackMap stack:
            aload 2 /* futures */
            iload 4 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.util.concurrent.ForkJoinTask
            invokevirtual java.util.concurrent.ForkJoinTask.quietlyJoin:()V
        12: .line 2724
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            iload 5 /* size */
            if_icmplt 11
        end local 5 // int size
        end local 4 // int i
        14: .line 2726
            iconst_1
            istore 3 /* done */
        15: .line 2727
            aload 2 /* futures */
            astore 8
        16: .line 2729
            iload 3 /* done */
            ifne 23
        17: .line 2730
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        18: aload 2 /* futures */
            invokevirtual java.util.ArrayList.size:()I
            istore 10 /* size */
        start local 10 // int size
        19: goto 22
        20: .line 2731
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.Collection java.util.ArrayList int top top top top java.util.List int int
      StackMap stack:
            aload 2 /* futures */
            iload 9 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.util.concurrent.Future
            iconst_0
            invokeinterface java.util.concurrent.Future.cancel:(Z)Z
            pop
        21: .line 2730
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 9 /* i */
            iload 10 /* size */
            if_icmplt 20
        end local 10 // int size
        end local 9 // int i
        23: .line 2727
      StackMap locals:
      StackMap stack:
            aload 8
            areturn
        24: .line 2728
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.Collection java.util.ArrayList int
      StackMap stack: java.lang.Throwable
            astore 7
        25: .line 2729
            iload 3 /* done */
            ifne 32
        26: .line 2730
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        27: aload 2 /* futures */
            invokevirtual java.util.ArrayList.size:()I
            istore 10 /* size */
        start local 10 // int size
        28: goto 31
        29: .line 2731
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.Collection java.util.ArrayList int top top top java.lang.Throwable top int int
      StackMap stack:
            aload 2 /* futures */
            iload 9 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.util.concurrent.Future
            iconst_0
            invokeinterface java.util.concurrent.Future.cancel:(Z)Z
            pop
        30: .line 2730
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 9 /* i */
            iload 10 /* size */
            if_icmplt 29
        end local 10 // int size
        end local 9 // int i
        32: .line 2732
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.Collection java.util.ArrayList int top top top java.lang.Throwable
      StackMap stack:
            aload 7
            athrow
        end local 3 // boolean done
        end local 2 // java.util.ArrayList futures
        end local 1 // java.util.Collection tasks
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   33     0     this  Ljava/util/concurrent/ForkJoinPool;
            0   33     1    tasks  Ljava/util/Collection<+Ljava/util/concurrent/Callable<TT;>;>;
            1   33     2  futures  Ljava/util/ArrayList<Ljava/util/concurrent/Future<TT;>;>;
            2   33     3     done  Z
            4    7     4        t  Ljava/util/concurrent/Callable<TT;>;
            5    7     6        f  Ljava/util/concurrent/ForkJoinTask<TT;>;
            9   14     4        i  I
           10   14     5     size  I
           18   23     9        i  I
           27   32     9        i  I
           19   23    10     size  I
           28   32    10     size  I
      Exception table:
        from    to  target  type
           2    16      24  any
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Collection<+Ljava/util/concurrent/Callable<TT;>;>;)Ljava/util/List<Ljava/util/concurrent/Future<TT;>;>;
    MethodParameters:
       Name  Flags
      tasks  

  public java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory getFactory();
    descriptor: ()Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2741
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.factory:Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
            areturn
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/concurrent/ForkJoinPool;

  public java.lang.Thread$UncaughtExceptionHandler getUncaughtExceptionHandler();
    descriptor: ()Ljava/lang/Thread$UncaughtExceptionHandler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2751
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ueh:Ljava/lang/Thread$UncaughtExceptionHandler;
            areturn
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/concurrent/ForkJoinPool;

  public int getParallelism();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2761
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.config:I
            ldc 65535
            iand
            dup
            istore 1 /* par */
        start local 1 // int par
         1: ifle 2
            iload 1 /* par */
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 1 // int par
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/concurrent/ForkJoinPool;
            1    4     1   par  I

  public static int getCommonPoolParallelism();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2771
            getstatic java.util.concurrent.ForkJoinPool.commonParallelism:I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public int getPoolSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2783
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.config:I
            ldc 65535
            iand
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            bipush 32
            lushr
            l2i
            i2s
            iadd
            ireturn
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/concurrent/ForkJoinPool;

  public boolean getAsyncMode();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2793
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.config:I
            ldc 65536
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/concurrent/ForkJoinPool;

  public int getRunningThreadCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2805
            iconst_0
            istore 1 /* rc */
        start local 1 // int rc
         1: .line 2807
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 2 /* ws */
        start local 2 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         2: ifnull 10
         3: .line 2808
            iconst_1
            istore 4 /* i */
        start local 4 // int i
         4: goto 9
         5: .line 2809
      StackMap locals: java.util.concurrent.ForkJoinPool int java.util.concurrent.ForkJoinPool$WorkQueue[] top int
      StackMap stack:
            aload 2 /* ws */
            iload 4 /* i */
            aaload
            dup
            astore 3 /* w */
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue w
         6: ifnull 8
            aload 3 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.isApparentlyUnblocked:()Z
            ifeq 8
         7: .line 2810
            iinc 1 /* rc */ 1
         8: .line 2808
      StackMap locals: java.util.concurrent.ForkJoinPool int java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue int
      StackMap stack:
            iinc 4 /* i */ 2
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue w
      StackMap locals: java.util.concurrent.ForkJoinPool int java.util.concurrent.ForkJoinPool$WorkQueue[] top int
      StackMap stack:
         9: iload 4 /* i */
            aload 2 /* ws */
            arraylength
            if_icmplt 5
        end local 4 // int i
        10: .line 2813
      StackMap locals: java.util.concurrent.ForkJoinPool int java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            iload 1 /* rc */
            ireturn
        end local 2 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 1 // int rc
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljava/util/concurrent/ForkJoinPool;
            1   11     1    rc  I
            2   11     2    ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            6    9     3     w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            4   10     4     i  I

  public int getActiveThreadCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2824
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.config:I
            ldc 65535
            iand
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            bipush 48
            lshr
            l2i
            iadd
            istore 1 /* r */
        start local 1 // int r
         1: .line 2825
            iload 1 /* r */
            ifgt 2
            iconst_0
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iload 1 /* r */
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 1 // int r
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/concurrent/ForkJoinPool;
            1    4     1     r  I

  public boolean isQuiescent();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2840
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.config:I
            ldc 65535
            iand
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            bipush 48
            lshr
            l2i
            iadd
            ifgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/concurrent/ForkJoinPool;

  public long getStealCount();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2855
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.stealCounter:Ljava/util/concurrent/atomic/AtomicLong;
            astore 1 /* sc */
        start local 1 // java.util.concurrent.atomic.AtomicLong sc
         1: .line 2856
            aload 1 /* sc */
            ifnonnull 2
            lconst_0
            goto 3
      StackMap locals: java.util.concurrent.atomic.AtomicLong
      StackMap stack:
         2: aload 1 /* sc */
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
      StackMap locals:
      StackMap stack: long
         3: lstore 2 /* count */
        start local 2 // long count
         4: .line 2858
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 4 /* ws */
        start local 4 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         5: ifnull 13
         6: .line 2859
            iconst_1
            istore 6 /* i */
        start local 6 // int i
         7: goto 12
         8: .line 2860
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.atomic.AtomicLong long java.util.concurrent.ForkJoinPool$WorkQueue[] top int
      StackMap stack:
            aload 4 /* ws */
            iload 6 /* i */
            aaload
            dup
            astore 5 /* w */
        start local 5 // java.util.concurrent.ForkJoinPool$WorkQueue w
         9: ifnull 11
        10: .line 2861
            lload 2 /* count */
            aload 5 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.nsteals:I
            i2l
            ladd
            lstore 2 /* count */
        11: .line 2859
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.atomic.AtomicLong long java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue int
      StackMap stack:
            iinc 6 /* i */ 2
        end local 5 // java.util.concurrent.ForkJoinPool$WorkQueue w
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.atomic.AtomicLong long java.util.concurrent.ForkJoinPool$WorkQueue[] top int
      StackMap stack:
        12: iload 6 /* i */
            aload 4 /* ws */
            arraylength
            if_icmplt 8
        end local 6 // int i
        13: .line 2864
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.atomic.AtomicLong long java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            lload 2 /* count */
            lreturn
        end local 4 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 2 // long count
        end local 1 // java.util.concurrent.atomic.AtomicLong sc
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Ljava/util/concurrent/ForkJoinPool;
            1   14     1     sc  Ljava/util/concurrent/atomic/AtomicLong;
            4   14     2  count  J
            5   14     4     ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            9   12     5      w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            7   13     6      i  I

  public long getQueuedTaskCount();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2878
            lconst_0
            lstore 1 /* count */
        start local 1 // long count
         1: .line 2880
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 3 /* ws */
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         2: ifnull 10
         3: .line 2881
            iconst_1
            istore 5 /* i */
        start local 5 // int i
         4: goto 9
         5: .line 2882
      StackMap locals: java.util.concurrent.ForkJoinPool long java.util.concurrent.ForkJoinPool$WorkQueue[] top int
      StackMap stack:
            aload 3 /* ws */
            iload 5 /* i */
            aaload
            dup
            astore 4 /* w */
        start local 4 // java.util.concurrent.ForkJoinPool$WorkQueue w
         6: ifnull 8
         7: .line 2883
            lload 1 /* count */
            aload 4 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.queueSize:()I
            i2l
            ladd
            lstore 1 /* count */
         8: .line 2881
      StackMap locals: java.util.concurrent.ForkJoinPool long java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue int
      StackMap stack:
            iinc 5 /* i */ 2
        end local 4 // java.util.concurrent.ForkJoinPool$WorkQueue w
      StackMap locals: java.util.concurrent.ForkJoinPool long java.util.concurrent.ForkJoinPool$WorkQueue[] top int
      StackMap stack:
         9: iload 5 /* i */
            aload 3 /* ws */
            arraylength
            if_icmplt 5
        end local 5 // int i
        10: .line 2886
      StackMap locals: java.util.concurrent.ForkJoinPool long java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            lload 1 /* count */
            lreturn
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 1 // long count
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Ljava/util/concurrent/ForkJoinPool;
            1   11     1  count  J
            2   11     3     ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            6    9     4      w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            4   10     5      i  I

  public int getQueuedSubmissionCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2897
            iconst_0
            istore 1 /* count */
        start local 1 // int count
         1: .line 2899
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 2 /* ws */
        start local 2 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         2: ifnull 10
         3: .line 2900
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 9
         5: .line 2901
      StackMap locals: java.util.concurrent.ForkJoinPool int java.util.concurrent.ForkJoinPool$WorkQueue[] top int
      StackMap stack:
            aload 2 /* ws */
            iload 4 /* i */
            aaload
            dup
            astore 3 /* w */
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue w
         6: ifnull 8
         7: .line 2902
            iload 1 /* count */
            aload 3 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.queueSize:()I
            iadd
            istore 1 /* count */
         8: .line 2900
      StackMap locals: java.util.concurrent.ForkJoinPool int java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue int
      StackMap stack:
            iinc 4 /* i */ 2
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue w
      StackMap locals: java.util.concurrent.ForkJoinPool int java.util.concurrent.ForkJoinPool$WorkQueue[] top int
      StackMap stack:
         9: iload 4 /* i */
            aload 2 /* ws */
            arraylength
            if_icmplt 5
        end local 4 // int i
        10: .line 2905
      StackMap locals: java.util.concurrent.ForkJoinPool int java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            iload 1 /* count */
            ireturn
        end local 2 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 1 // int count
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Ljava/util/concurrent/ForkJoinPool;
            1   11     1  count  I
            2   11     2     ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            6    9     3      w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            4   10     4      i  I

  public boolean hasQueuedSubmissions();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2916
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 1 /* ws */
        start local 1 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         1: ifnull 9
         2: .line 2917
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 2918
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue[] top int
      StackMap stack:
            aload 1 /* ws */
            iload 3 /* i */
            aaload
            dup
            astore 2 /* w */
        start local 2 // java.util.concurrent.ForkJoinPool$WorkQueue w
         5: ifnull 7
            aload 2 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.isEmpty:()Z
            ifne 7
         6: .line 2919
            iconst_1
            ireturn
         7: .line 2917
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue int
      StackMap stack:
            iinc 3 /* i */ 2
        end local 2 // java.util.concurrent.ForkJoinPool$WorkQueue w
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue[] top int
      StackMap stack:
         8: iload 3 /* i */
            aload 1 /* ws */
            arraylength
            if_icmplt 4
        end local 3 // int i
         9: .line 2922
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljava/util/concurrent/ForkJoinPool;
            1   10     1    ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            5    8     2     w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            3    9     3     i  I

  protected java.util.concurrent.ForkJoinTask<?> pollSubmission();
    descriptor: ()Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2934
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 1 /* ws */
        start local 1 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         1: ifnull 10
         2: .line 2935
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 9
         4: .line 2936
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue[] top top int
      StackMap stack:
            aload 1 /* ws */
            iload 4 /* i */
            aaload
            dup
            astore 2 /* w */
        start local 2 // java.util.concurrent.ForkJoinPool$WorkQueue w
         5: ifnull 8
            aload 2 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.poll:()Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 3 /* t */
        start local 3 // java.util.concurrent.ForkJoinTask t
         6: ifnull 8
         7: .line 2937
            aload 3 /* t */
            areturn
        end local 3 // java.util.concurrent.ForkJoinTask t
         8: .line 2935
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue top int
      StackMap stack:
            iinc 4 /* i */ 2
        end local 2 // java.util.concurrent.ForkJoinPool$WorkQueue w
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue[] top top int
      StackMap stack:
         9: iload 4 /* i */
            aload 1 /* ws */
            arraylength
            if_icmplt 4
        end local 4 // int i
        10: .line 2940
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljava/util/concurrent/ForkJoinPool;
            1   11     1    ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            5    9     2     w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            6    8     3     t  Ljava/util/concurrent/ForkJoinTask<*>;
            3   10     4     i  I
    Signature: ()Ljava/util/concurrent/ForkJoinTask<*>;

  protected int drainTasksTo(java.util.Collection<? super java.util.concurrent.ForkJoinTask<?>>);
    descriptor: (Ljava/util/Collection;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.Collection c
         0: .line 2961
            iconst_0
            istore 2 /* count */
        start local 2 // int count
         1: .line 2963
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 3 /* ws */
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         2: ifnull 14
         3: .line 2964
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 13
         5: .line 2965
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.Collection int java.util.concurrent.ForkJoinPool$WorkQueue[] top top int
      StackMap stack:
            aload 3 /* ws */
            iload 6 /* i */
            aaload
            dup
            astore 4 /* w */
        start local 4 // java.util.concurrent.ForkJoinPool$WorkQueue w
         6: ifnull 12
         7: .line 2966
            goto 10
        start local 5 // java.util.concurrent.ForkJoinTask t
         8: .line 2967
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.Collection int java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask int
      StackMap stack:
            aload 1 /* c */
            aload 5 /* t */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         9: .line 2968
            iinc 2 /* count */ 1
        end local 5 // java.util.concurrent.ForkJoinTask t
        10: .line 2966
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.Collection int java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue top int
      StackMap stack:
            aload 4 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.poll:()Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 5 /* t */
        start local 5 // java.util.concurrent.ForkJoinTask t
        11: ifnonnull 8
        end local 5 // java.util.concurrent.ForkJoinTask t
        12: .line 2964
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
        end local 4 // java.util.concurrent.ForkJoinPool$WorkQueue w
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.Collection int java.util.concurrent.ForkJoinPool$WorkQueue[] top top int
      StackMap stack:
        13: iload 6 /* i */
            aload 3 /* ws */
            arraylength
            if_icmplt 5
        end local 6 // int i
        14: .line 2973
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.Collection int java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            iload 2 /* count */
            ireturn
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 2 // int count
        end local 1 // java.util.Collection c
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Ljava/util/concurrent/ForkJoinPool;
            0   15     1      c  Ljava/util/Collection<-Ljava/util/concurrent/ForkJoinTask<*>;>;
            1   15     2  count  I
            2   15     3     ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            6   13     4      w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            8   10     5      t  Ljava/util/concurrent/ForkJoinTask<*>;
           11   12     5      t  Ljava/util/concurrent/ForkJoinTask<*>;
            4   14     6      i  I
    Signature: (Ljava/util/Collection<-Ljava/util/concurrent/ForkJoinTask<*>;>;)I
    MethodParameters:
      Name  Flags
      c     

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=18, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2985
            lconst_0
            lstore 1 /* qt */
        start local 1 // long qt
         1: lconst_0
            lstore 3 /* qs */
        start local 3 // long qs
         2: iconst_0
            istore 5 /* rc */
        start local 5 // int rc
         3: .line 2986
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.stealCounter:Ljava/util/concurrent/atomic/AtomicLong;
            astore 6 /* sc */
        start local 6 // java.util.concurrent.atomic.AtomicLong sc
         4: .line 2987
            aload 6 /* sc */
            ifnonnull 5
            lconst_0
            goto 6
      StackMap locals: java.util.concurrent.ForkJoinPool long long int java.util.concurrent.atomic.AtomicLong
      StackMap stack:
         5: aload 6 /* sc */
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
      StackMap locals:
      StackMap stack: long
         6: lstore 7 /* st */
        start local 7 // long st
         7: .line 2988
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            lstore 9 /* c */
        start local 9 // long c
         8: .line 2990
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 11 /* ws */
        start local 11 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         9: ifnull 23
        10: .line 2991
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        11: goto 22
        12: .line 2992
      StackMap locals: java.util.concurrent.ForkJoinPool long long int java.util.concurrent.atomic.AtomicLong long long java.util.concurrent.ForkJoinPool$WorkQueue[] top int
      StackMap stack:
            aload 11 /* ws */
            iload 13 /* i */
            aaload
            dup
            astore 12 /* w */
        start local 12 // java.util.concurrent.ForkJoinPool$WorkQueue w
        13: ifnull 21
        14: .line 2993
            aload 12 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.queueSize:()I
            istore 14 /* size */
        start local 14 // int size
        15: .line 2994
            iload 13 /* i */
            iconst_1
            iand
            ifne 17
        16: .line 2995
            lload 3 /* qs */
            iload 14 /* size */
            i2l
            ladd
            lstore 3 /* qs */
            goto 21
        17: .line 2997
      StackMap locals: java.util.concurrent.ForkJoinPool long long int java.util.concurrent.atomic.AtomicLong long long java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue int int
      StackMap stack:
            lload 1 /* qt */
            iload 14 /* size */
            i2l
            ladd
            lstore 1 /* qt */
        18: .line 2998
            lload 7 /* st */
            aload 12 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.nsteals:I
            i2l
            ladd
            lstore 7 /* st */
        19: .line 2999
            aload 12 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.isApparentlyUnblocked:()Z
            ifeq 21
        20: .line 3000
            iinc 5 /* rc */ 1
        end local 14 // int size
        21: .line 2991
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
        end local 12 // java.util.concurrent.ForkJoinPool$WorkQueue w
      StackMap locals: java.util.concurrent.ForkJoinPool long long int java.util.concurrent.atomic.AtomicLong long long java.util.concurrent.ForkJoinPool$WorkQueue[] top int
      StackMap stack:
        22: iload 13 /* i */
            aload 11 /* ws */
            arraylength
            if_icmplt 12
        end local 13 // int i
        23: .line 3005
      StackMap locals: java.util.concurrent.ForkJoinPool long long int java.util.concurrent.atomic.AtomicLong long long java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.config:I
            ldc 65535
            iand
            istore 13 /* pc */
        start local 13 // int pc
        24: .line 3006
            iload 13 /* pc */
            lload 9 /* c */
            bipush 32
            lushr
            l2i
            i2s
            iadd
            istore 14 /* tc */
        start local 14 // int tc
        25: .line 3007
            iload 13 /* pc */
            lload 9 /* c */
            bipush 48
            lshr
            l2i
            iadd
            istore 15 /* ac */
        start local 15 // int ac
        26: .line 3008
            iload 15 /* ac */
            ifge 28
        27: .line 3009
            iconst_0
            istore 15 /* ac */
        28: .line 3010
      StackMap locals: java.util.concurrent.ForkJoinPool long long int java.util.concurrent.atomic.AtomicLong long long java.util.concurrent.ForkJoinPool$WorkQueue[] top int int int
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.runState:I
            istore 16 /* rs */
        start local 16 // int rs
        29: .line 3011
            iload 16 /* rs */
            ldc 1073741824
            iand
            ifeq 30
            ldc "Terminated"
            goto 33
        30: .line 3012
      StackMap locals: int
      StackMap stack:
            iload 16 /* rs */
            ldc 536870912
            iand
            ifeq 31
            ldc "Terminating"
            goto 33
        31: .line 3013
      StackMap locals:
      StackMap stack:
            iload 16 /* rs */
            ldc -2147483648
            iand
            ifeq 32
            ldc "Shutting down"
            goto 33
        32: .line 3014
      StackMap locals:
      StackMap stack:
            ldc "Running"
        33: .line 3011
      StackMap locals:
      StackMap stack: java.lang.String
            astore 17 /* level */
        start local 17 // java.lang.String level
        34: .line 3015
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokespecial java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        35: .line 3016
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 17 /* level */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        36: .line 3017
            ldc ", parallelism = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 13 /* pc */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        37: .line 3018
            ldc ", size = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 14 /* tc */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        38: .line 3019
            ldc ", active = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 15 /* ac */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        39: .line 3020
            ldc ", running = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* rc */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        40: .line 3021
            ldc ", steals = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 7 /* st */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        41: .line 3022
            ldc ", tasks = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 1 /* qt */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        42: .line 3023
            ldc ", submissions = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 3 /* qs */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        43: .line 3024
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        44: .line 3015
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 17 // java.lang.String level
        end local 16 // int rs
        end local 15 // int ac
        end local 14 // int tc
        end local 13 // int pc
        end local 11 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 9 // long c
        end local 7 // long st
        end local 6 // java.util.concurrent.atomic.AtomicLong sc
        end local 5 // int rc
        end local 3 // long qs
        end local 1 // long qt
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   45     0   this  Ljava/util/concurrent/ForkJoinPool;
            1   45     1     qt  J
            2   45     3     qs  J
            3   45     5     rc  I
            4   45     6     sc  Ljava/util/concurrent/atomic/AtomicLong;
            7   45     7     st  J
            8   45     9      c  J
            9   45    11     ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           13   22    12      w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           11   23    13      i  I
           15   21    14   size  I
           24   45    13     pc  I
           25   45    14     tc  I
           26   45    15     ac  I
           29   45    16     rs  I
           34   45    17  level  Ljava/lang/String;

  public void shutdown();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 3042
            invokestatic java.util.concurrent.ForkJoinPool.checkPermission:()V
         1: .line 3043
            aload 0 /* this */
            iconst_0
            iconst_1
            invokevirtual java.util.concurrent.ForkJoinPool.tryTerminate:(ZZ)Z
            pop
         2: .line 3044
            return
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/concurrent/ForkJoinPool;

  public java.util.List<java.lang.Runnable> shutdownNow();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 3065
            invokestatic java.util.concurrent.ForkJoinPool.checkPermission:()V
         1: .line 3066
            aload 0 /* this */
            iconst_1
            iconst_1
            invokevirtual java.util.concurrent.ForkJoinPool.tryTerminate:(ZZ)Z
            pop
         2: .line 3067
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/concurrent/ForkJoinPool;
    Signature: ()Ljava/util/List<Ljava/lang/Runnable;>;

  public boolean isTerminated();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 3076
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.runState:I
            ldc 1073741824
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/concurrent/ForkJoinPool;

  public boolean isTerminating();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 3093
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.runState:I
            istore 1 /* rs */
        start local 1 // int rs
         1: .line 3094
            iload 1 /* rs */
            ldc 536870912
            iand
            ifeq 2
            iload 1 /* rs */
            ldc 1073741824
            iand
            ifne 2
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // int rs
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/concurrent/ForkJoinPool;
            1    3     1    rs  I

  public boolean isShutdown();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 3103
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.runState:I
            ldc -2147483648
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/concurrent/ForkJoinPool;

  public boolean awaitTermination(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // long timeout
        start local 3 // java.util.concurrent.TimeUnit unit
         0: .line 3122
            invokestatic java.lang.Thread.interrupted:()Z
            ifeq 2
         1: .line 3123
            new java.lang.InterruptedException
            dup
            invokespecial java.lang.InterruptedException.<init>:()V
            athrow
         2: .line 3124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.common:Ljava/util/concurrent/ForkJoinPool;
            if_acmpne 5
         3: .line 3125
            aload 0 /* this */
            lload 1 /* timeout */
            aload 3 /* unit */
            invokevirtual java.util.concurrent.ForkJoinPool.awaitQuiescence:(JLjava/util/concurrent/TimeUnit;)Z
            pop
         4: .line 3126
            iconst_0
            ireturn
         5: .line 3128
      StackMap locals:
      StackMap stack:
            aload 3 /* unit */
            lload 1 /* timeout */
            invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
            lstore 4 /* nanos */
        start local 4 // long nanos
         6: .line 3129
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.isTerminated:()Z
            ifeq 8
         7: .line 3130
            iconst_1
            ireturn
         8: .line 3131
      StackMap locals: long
      StackMap stack:
            lload 4 /* nanos */
            lconst_0
            lcmp
            ifgt 10
         9: .line 3132
            iconst_0
            ireturn
        10: .line 3133
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.nanoTime:()J
            lload 4 /* nanos */
            ladd
            lstore 6 /* deadline */
        start local 6 // long deadline
        11: .line 3134
            aload 0 /* this */
            dup
            astore 8
            monitorenter
        12: .line 3136
      StackMap locals: long java.util.concurrent.ForkJoinPool
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.isTerminated:()Z
            ifeq 15
        13: .line 3137
            aload 8
            monitorexit
        14: iconst_1
            ireturn
        15: .line 3138
      StackMap locals:
      StackMap stack:
            lload 4 /* nanos */
            lconst_0
            lcmp
            ifgt 18
        16: .line 3139
            aload 8
            monitorexit
        17: iconst_0
            ireturn
        18: .line 3140
      StackMap locals:
      StackMap stack:
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            lload 4 /* nanos */
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            lstore 9 /* millis */
        start local 9 // long millis
        19: .line 3141
            aload 0 /* this */
            lload 9 /* millis */
            lconst_0
            lcmp
            ifle 20
            lload 9 /* millis */
            goto 21
      StackMap locals: java.util.concurrent.ForkJoinPool long java.util.concurrent.TimeUnit long long java.util.concurrent.ForkJoinPool long
      StackMap stack: java.util.concurrent.ForkJoinPool
        20: lconst_1
      StackMap locals: java.util.concurrent.ForkJoinPool long java.util.concurrent.TimeUnit long long java.util.concurrent.ForkJoinPool long
      StackMap stack: java.util.concurrent.ForkJoinPool long
        21: invokevirtual java.lang.Object.wait:(J)V
        22: .line 3142
            lload 6 /* deadline */
            invokestatic java.lang.System.nanoTime:()J
            lsub
            lstore 4 /* nanos */
        end local 9 // long millis
        23: .line 3135
            goto 12
        24: .line 3134
      StackMap locals: java.util.concurrent.ForkJoinPool long java.util.concurrent.TimeUnit long long java.util.concurrent.ForkJoinPool
      StackMap stack: java.lang.Throwable
            aload 8
            monitorexit
        25: athrow
        end local 6 // long deadline
        end local 4 // long nanos
        end local 3 // java.util.concurrent.TimeUnit unit
        end local 1 // long timeout
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   26     0      this  Ljava/util/concurrent/ForkJoinPool;
            0   26     1   timeout  J
            0   26     3      unit  Ljava/util/concurrent/TimeUnit;
            6   26     4     nanos  J
           11   26     6  deadline  J
           19   23     9    millis  J
      Exception table:
        from    to  target  type
          12    14      24  any
          15    17      24  any
          18    25      24  any
    Exceptions:
      throws java.lang.InterruptedException
    MethodParameters:
         Name  Flags
      timeout  
      unit     

  public boolean awaitQuiescence(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=19, args_size=3
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // long timeout
        start local 3 // java.util.concurrent.TimeUnit unit
         0: .line 3159
            aload 3 /* unit */
            lload 1 /* timeout */
            invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
            lstore 4 /* nanos */
        start local 4 // long nanos
         1: .line 3161
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            astore 7 /* thread */
        start local 7 // java.lang.Thread thread
         2: .line 3162
            aload 7 /* thread */
            instanceof java.util.concurrent.ForkJoinWorkerThread
            ifeq 7
         3: .line 3163
            aload 7 /* thread */
            checkcast java.util.concurrent.ForkJoinWorkerThread
            dup
            astore 6 /* wt */
        start local 6 // java.util.concurrent.ForkJoinWorkerThread wt
         4: getfield java.util.concurrent.ForkJoinWorkerThread.pool:Ljava/util/concurrent/ForkJoinPool;
            aload 0 /* this */
            if_acmpne 7
         5: .line 3164
            aload 0 /* this */
            aload 6 /* wt */
            getfield java.util.concurrent.ForkJoinWorkerThread.workQueue:Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            invokevirtual java.util.concurrent.ForkJoinPool.helpQuiescePool:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V
         6: .line 3165
            iconst_1
            ireturn
        end local 6 // java.util.concurrent.ForkJoinWorkerThread wt
         7: .line 3167
      StackMap locals: java.util.concurrent.ForkJoinPool long java.util.concurrent.TimeUnit long top java.lang.Thread
      StackMap stack:
            invokestatic java.lang.System.nanoTime:()J
            lstore 8 /* startTime */
        start local 8 // long startTime
         8: .line 3169
            iconst_0
            istore 11 /* r */
        start local 11 // int r
         9: .line 3170
            iconst_1
            istore 13 /* found */
        start local 13 // boolean found
        10: .line 3171
            goto 30
        start local 10 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        start local 12 // int m
        11: .line 3173
      StackMap locals: java.util.concurrent.ForkJoinPool long java.util.concurrent.TimeUnit long top java.lang.Thread long java.util.concurrent.ForkJoinPool$WorkQueue[] int int int
      StackMap stack:
            iload 13 /* found */
            ifne 15
        12: .line 3174
            invokestatic java.lang.System.nanoTime:()J
            lload 8 /* startTime */
            lsub
            lload 4 /* nanos */
            lcmp
            ifle 14
        13: .line 3175
            iconst_0
            ireturn
        14: .line 3176
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.yield:()V
        15: .line 3178
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* found */
        16: .line 3179
            iload 12 /* m */
            iconst_1
            iadd
            iconst_2
            ishl
            istore 14 /* j */
        start local 14 // int j
        17: goto 29
        18: .line 3181
      StackMap locals: int
      StackMap stack:
            iload 11 /* r */
            iinc 11 /* r */ 1
            iload 12 /* m */
            iand
            dup
            istore 18 /* k */
        start local 18 // int k
        19: iload 12 /* m */
            if_icmpgt 28
            iload 18 /* k */
            iflt 28
            aload 10 /* ws */
            iload 18 /* k */
            aaload
            dup
            astore 16 /* q */
        start local 16 // java.util.concurrent.ForkJoinPool$WorkQueue q
        20: ifnull 28
        21: .line 3182
            aload 16 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            dup
            istore 17 /* b */
        start local 17 // int b
        22: aload 16 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            isub
            ifge 28
        23: .line 3183
            iconst_1
            istore 13 /* found */
        24: .line 3184
            aload 16 /* q */
            iload 17 /* b */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.pollAt:(I)Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 15 /* t */
        start local 15 // java.util.concurrent.ForkJoinTask t
        25: ifnull 30
        26: .line 3185
            aload 15 /* t */
            invokevirtual java.util.concurrent.ForkJoinTask.doExec:()I
            pop
        27: .line 3186
            goto 30
        end local 18 // int k
        end local 17 // int b
        end local 16 // java.util.concurrent.ForkJoinPool$WorkQueue q
        end local 15 // java.util.concurrent.ForkJoinTask t
        28: .line 3179
      StackMap locals:
      StackMap stack:
            iinc 14 /* j */ -1
      StackMap locals:
      StackMap stack:
        29: iload 14 /* j */
            ifge 18
        end local 14 // int j
        end local 12 // int m
        end local 10 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        30: .line 3171
      StackMap locals: java.util.concurrent.ForkJoinPool long java.util.concurrent.TimeUnit long top java.lang.Thread long top int top int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.isQuiescent:()Z
            ifne 34
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 10 /* ws */
        start local 10 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        31: ifnull 34
        32: .line 3172
            aload 10 /* ws */
            arraylength
            iconst_1
            isub
            dup
            istore 12 /* m */
        start local 12 // int m
        33: .line 3171
            ifge 11
        end local 12 // int m
        end local 10 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        34: .line 3190
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 13 // boolean found
        end local 11 // int r
        end local 8 // long startTime
        end local 7 // java.lang.Thread thread
        end local 4 // long nanos
        end local 3 // java.util.concurrent.TimeUnit unit
        end local 1 // long timeout
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   35     0       this  Ljava/util/concurrent/ForkJoinPool;
            0   35     1    timeout  J
            0   35     3       unit  Ljava/util/concurrent/TimeUnit;
            1   35     4      nanos  J
            4    7     6         wt  Ljava/util/concurrent/ForkJoinWorkerThread;
            2   35     7     thread  Ljava/lang/Thread;
            8   35     8  startTime  J
           11   30    10         ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           31   34    10         ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            9   35    11          r  I
           11   30    12          m  I
           33   34    12          m  I
           10   35    13      found  Z
           17   30    14          j  I
           25   28    15          t  Ljava/util/concurrent/ForkJoinTask<*>;
           20   28    16          q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           22   28    17          b  I
           19   28    18          k  I
    MethodParameters:
         Name  Flags
      timeout  
      unit     

  static void quiesceCommonPool();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 3198
            getstatic java.util.concurrent.ForkJoinPool.common:Ljava/util/concurrent/ForkJoinPool;
            ldc 9223372036854775807
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.ForkJoinPool.awaitQuiescence:(JLjava/util/concurrent/TimeUnit;)Z
            pop
         1: .line 3199
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void managedBlock(java.util.concurrent.ForkJoinPool$ManagedBlocker);
    descriptor: (Ljava/util/concurrent/ForkJoinPool$ManagedBlocker;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool$ManagedBlocker blocker
         0: .line 3305
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            astore 3 /* t */
        start local 3 // java.lang.Thread t
         1: .line 3306
            aload 3 /* t */
            instanceof java.util.concurrent.ForkJoinWorkerThread
            ifeq 18
         2: .line 3307
            aload 3 /* t */
            checkcast java.util.concurrent.ForkJoinWorkerThread
            dup
            astore 2 /* wt */
        start local 2 // java.util.concurrent.ForkJoinWorkerThread wt
         3: getfield java.util.concurrent.ForkJoinWorkerThread.pool:Ljava/util/concurrent/ForkJoinPool;
            dup
            astore 1 /* p */
        start local 1 // java.util.concurrent.ForkJoinPool p
         4: ifnull 18
         5: .line 3308
            aload 2 /* wt */
            getfield java.util.concurrent.ForkJoinWorkerThread.workQueue:Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            astore 4 /* w */
        start local 4 // java.util.concurrent.ForkJoinPool$WorkQueue w
         6: .line 3309
            goto 16
         7: .line 3310
      StackMap locals: java.util.concurrent.ForkJoinPool$ManagedBlocker java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinWorkerThread java.lang.Thread java.util.concurrent.ForkJoinPool$WorkQueue
      StackMap stack:
            aload 1 /* p */
            aload 4 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool.tryCompensate:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)Z
            ifeq 16
         8: .line 3312
      StackMap locals:
      StackMap stack:
            aload 0 /* blocker */
            invokeinterface java.util.concurrent.ForkJoinPool$ManagedBlocker.isReleasable:()Z
            ifne 14
         9: .line 3313
            aload 0 /* blocker */
            invokeinterface java.util.concurrent.ForkJoinPool$ManagedBlocker.block:()Z
            ifeq 8
        10: .line 3314
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 5
        12: .line 3315
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 1 /* p */
            getstatic java.util.concurrent.ForkJoinPool.CTL:J
            ldc 281474976710656
            invokevirtual sun.misc.Unsafe.getAndAddLong:(Ljava/lang/Object;JJ)J
            pop2
        13: .line 3316
            aload 5
            athrow
        14: .line 3315
      StackMap locals:
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.U:Lsun/misc/Unsafe;
            aload 1 /* p */
            getstatic java.util.concurrent.ForkJoinPool.CTL:J
            ldc 281474976710656
            invokevirtual sun.misc.Unsafe.getAndAddLong:(Ljava/lang/Object;JJ)J
            pop2
        15: .line 3317
            goto 20
        16: .line 3309
      StackMap locals:
      StackMap stack:
            aload 0 /* blocker */
            invokeinterface java.util.concurrent.ForkJoinPool$ManagedBlocker.isReleasable:()Z
            ifeq 7
        end local 4 // java.util.concurrent.ForkJoinPool$WorkQueue w
        17: .line 3320
            goto 20
        end local 2 // java.util.concurrent.ForkJoinWorkerThread wt
        end local 1 // java.util.concurrent.ForkJoinPool p
        18: .line 3322
      StackMap locals: java.util.concurrent.ForkJoinPool$ManagedBlocker top top java.lang.Thread
      StackMap stack:
            aload 0 /* blocker */
            invokeinterface java.util.concurrent.ForkJoinPool$ManagedBlocker.isReleasable:()Z
            ifne 20
        19: .line 3323
            aload 0 /* blocker */
            invokeinterface java.util.concurrent.ForkJoinPool$ManagedBlocker.block:()Z
            ifeq 18
        20: .line 3325
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Thread t
        end local 0 // java.util.concurrent.ForkJoinPool$ManagedBlocker blocker
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   21     0  blocker  Ljava/util/concurrent/ForkJoinPool$ManagedBlocker;
            4   18     1        p  Ljava/util/concurrent/ForkJoinPool;
            3   18     2       wt  Ljava/util/concurrent/ForkJoinWorkerThread;
            1   21     3        t  Ljava/lang/Thread;
            6   17     4        w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
      Exception table:
        from    to  target  type
           8    11      11  any
    Exceptions:
      throws java.lang.InterruptedException
    MethodParameters:
         Name  Flags
      blocker  

  protected <T> java.util.concurrent.RunnableFuture<T> newTaskFor(java.lang.Runnable, T);
    descriptor: (Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/RunnableFuture;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.lang.Runnable runnable
        start local 2 // java.lang.Object value
         0: .line 3332
            new java.util.concurrent.ForkJoinTask$AdaptedRunnable
            dup
            aload 1 /* runnable */
            aload 2 /* value */
            invokespecial java.util.concurrent.ForkJoinTask$AdaptedRunnable.<init>:(Ljava/lang/Runnable;Ljava/lang/Object;)V
            areturn
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Runnable runnable
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljava/util/concurrent/ForkJoinPool;
            0    1     1  runnable  Ljava/lang/Runnable;
            0    1     2     value  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Runnable;TT;)Ljava/util/concurrent/RunnableFuture<TT;>;
    MethodParameters:
          Name  Flags
      runnable  
      value     

  protected <T> java.util.concurrent.RunnableFuture<T> newTaskFor(java.util.concurrent.Callable<T>);
    descriptor: (Ljava/util/concurrent/Callable;)Ljava/util/concurrent/RunnableFuture;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.Callable callable
         0: .line 3336
            new java.util.concurrent.ForkJoinTask$AdaptedCallable
            dup
            aload 1 /* callable */
            invokespecial java.util.concurrent.ForkJoinTask$AdaptedCallable.<init>:(Ljava/util/concurrent/Callable;)V
            areturn
        end local 1 // java.util.concurrent.Callable callable
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljava/util/concurrent/ForkJoinPool;
            0    1     1  callable  Ljava/util/concurrent/Callable<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/concurrent/Callable<TT;>;)Ljava/util/concurrent/RunnableFuture<TT;>;
    MethodParameters:
          Name  Flags
      callable  

  private static java.util.concurrent.ForkJoinPool makeCommonPool();
    descriptor: ()Ljava/util/concurrent/ForkJoinPool;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=0
         0: .line 3408
            iconst_m1
            istore 0 /* parallelism */
        start local 0 // int parallelism
         1: .line 3409
            aconst_null
            astore 1 /* factory */
        start local 1 // java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory factory
         2: .line 3410
            aconst_null
            astore 2 /* handler */
        start local 2 // java.lang.Thread$UncaughtExceptionHandler handler
         3: .line 3413
            ldc "java.util.concurrent.ForkJoinPool.common.parallelism"
         4: .line 3412
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* pp */
        start local 3 // java.lang.String pp
         5: .line 3415
            ldc "java.util.concurrent.ForkJoinPool.common.threadFactory"
         6: .line 3414
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* fp */
        start local 4 // java.lang.String fp
         7: .line 3417
            ldc "java.util.concurrent.ForkJoinPool.common.exceptionHandler"
         8: .line 3416
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* hp */
        start local 5 // java.lang.String hp
         9: .line 3418
            aload 3 /* pp */
            ifnull 11
        10: .line 3419
            aload 3 /* pp */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 0 /* parallelism */
        11: .line 3420
      StackMap locals: int java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory java.lang.Thread$UncaughtExceptionHandler java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 4 /* fp */
            ifnull 14
        12: .line 3422
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            aload 4 /* fp */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory
        13: .line 3421
            astore 1 /* factory */
        14: .line 3423
      StackMap locals:
      StackMap stack:
            aload 5 /* hp */
            ifnull 19
        15: .line 3425
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            aload 5 /* hp */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast java.lang.Thread$UncaughtExceptionHandler
        16: .line 3424
            astore 2 /* handler */
        end local 5 // java.lang.String hp
        end local 4 // java.lang.String fp
        end local 3 // java.lang.String pp
        17: .line 3426
            goto 19
      StackMap locals: int java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory java.lang.Thread$UncaughtExceptionHandler
      StackMap stack: java.lang.Exception
        18: pop
        19: .line 3428
      StackMap locals:
      StackMap stack:
            aload 1 /* factory */
            ifnonnull 23
        20: .line 3429
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            ifnonnull 22
        21: .line 3430
            getstatic java.util.concurrent.ForkJoinPool.defaultForkJoinWorkerThreadFactory:Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
            astore 1 /* factory */
            goto 23
        22: .line 3432
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.ForkJoinPool$InnocuousForkJoinWorkerThreadFactory
            dup
            invokespecial java.util.concurrent.ForkJoinPool$InnocuousForkJoinWorkerThreadFactory.<init>:()V
            astore 1 /* factory */
        23: .line 3434
      StackMap locals:
      StackMap stack:
            iload 0 /* parallelism */
            ifge 26
        24: .line 3435
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.availableProcessors:()I
            iconst_1
            isub
            dup
            istore 0 /* parallelism */
            ifgt 26
        25: .line 3436
            iconst_1
            istore 0 /* parallelism */
        26: .line 3437
      StackMap locals:
      StackMap stack:
            iload 0 /* parallelism */
            sipush 32767
            if_icmple 28
        27: .line 3438
            sipush 32767
            istore 0 /* parallelism */
        28: .line 3439
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.ForkJoinPool
            dup
            iload 0 /* parallelism */
            aload 1 /* factory */
            aload 2 /* handler */
            iconst_0
        29: .line 3440
            ldc "ForkJoinPool.commonPool-worker-"
        30: .line 3439
            invokespecial java.util.concurrent.ForkJoinPool.<init>:(ILjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;Ljava/lang/Thread$UncaughtExceptionHandler;ILjava/lang/String;)V
            areturn
        end local 2 // java.lang.Thread$UncaughtExceptionHandler handler
        end local 1 // java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory factory
        end local 0 // int parallelism
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            1   31     0  parallelism  I
            2   31     1      factory  Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
            3   31     2      handler  Ljava/lang/Thread$UncaughtExceptionHandler;
            5   17     3           pp  Ljava/lang/String;
            7   17     4           fp  Ljava/lang/String;
            9   17     5           hp  Ljava/lang/String;
      Exception table:
        from    to  target  type
           3    17      18  Class java.lang.Exception

  public java.util.concurrent.Future submit(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual java.util.concurrent.ForkJoinPool.submit:(Ljava/lang/Runnable;)Ljava/util/concurrent/ForkJoinTask;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.Future submit(java.lang.Runnable, java.lang.Object);
    descriptor: (Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/Future;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast java.lang.Object
            invokevirtual java.util.concurrent.ForkJoinPool.submit:(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/ForkJoinTask;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.Future submit(java.util.concurrent.Callable);
    descriptor: (Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.concurrent.Callable
            invokevirtual java.util.concurrent.ForkJoinPool.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/ForkJoinTask;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ForkJoinPool.java"
NestMembers:
  java.util.concurrent.ForkJoinPool$1  java.util.concurrent.ForkJoinPool$DefaultForkJoinWorkerThreadFactory  java.util.concurrent.ForkJoinPool$EmptyTask  java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory  java.util.concurrent.ForkJoinPool$InnocuousForkJoinWorkerThreadFactory  java.util.concurrent.ForkJoinPool$InnocuousForkJoinWorkerThreadFactory$1  java.util.concurrent.ForkJoinPool$ManagedBlocker  java.util.concurrent.ForkJoinPool$WorkQueue
InnerClasses:
  public abstract UncaughtExceptionHandler = java.lang.Thread$UncaughtExceptionHandler of java.lang.Thread
  java.util.concurrent.ForkJoinPool$1
  final DefaultForkJoinWorkerThreadFactory = java.util.concurrent.ForkJoinPool$DefaultForkJoinWorkerThreadFactory of java.util.concurrent.ForkJoinPool
  final EmptyTask = java.util.concurrent.ForkJoinPool$EmptyTask of java.util.concurrent.ForkJoinPool
  public abstract ForkJoinWorkerThreadFactory = java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory of java.util.concurrent.ForkJoinPool
  final InnocuousForkJoinWorkerThreadFactory = java.util.concurrent.ForkJoinPool$InnocuousForkJoinWorkerThreadFactory of java.util.concurrent.ForkJoinPool
  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
  final AdaptedCallable = java.util.concurrent.ForkJoinTask$AdaptedCallable of java.util.concurrent.ForkJoinTask
  final AdaptedRunnable = java.util.concurrent.ForkJoinTask$AdaptedRunnable of java.util.concurrent.ForkJoinTask
  final AdaptedRunnableAction = java.util.concurrent.ForkJoinTask$AdaptedRunnableAction of java.util.concurrent.ForkJoinTask
  final RunnableExecuteAction = java.util.concurrent.ForkJoinTask$RunnableExecuteAction of java.util.concurrent.ForkJoinTask
    RuntimeVisibleAnnotations: 
      sun.misc.Contended()