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 SWIDTH;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  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 SQMASK;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 126

  static final int UNSIGNALLED;
    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 QLOCK;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

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

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

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

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

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

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

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

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

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

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

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

  static final java.lang.RuntimePermission modifyThreadPermission;
    descriptor: Ljava/lang/RuntimePermission;
    flags: (0x0018) 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 COMMON_PARALLELISM;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

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

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

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

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

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

  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 RC_SHIFT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 48

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

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

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

  final long keepAlive;
    descriptor: J
    flags: (0x0010) ACC_FINAL

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

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

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

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

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

  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.util.function.Predicate<? super java.util.concurrent.ForkJoinPool> saturate;
    descriptor: Ljava/util/function/Predicate;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/function/Predicate<-Ljava/util/concurrent/ForkJoinPool;>;

  volatile long ctl;
    descriptor: J
    flags: (0x0040) ACC_VOLATILE
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.Contended(value = "fjpctl")

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=0
         0: .line 3174
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            astore 0 /* l */
        start local 0 // java.lang.invoke.MethodHandles$Lookup l
         1: .line 3175
            aload 0 /* l */
            ldc Ljava/util/concurrent/ForkJoinPool;
            ldc "ctl"
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findVarHandle:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
            putstatic java.util.concurrent.ForkJoinPool.CTL:Ljava/lang/invoke/VarHandle;
         2: .line 3176
            aload 0 /* l */
            ldc Ljava/util/concurrent/ForkJoinPool;
            ldc "mode"
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findVarHandle:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
            putstatic java.util.concurrent.ForkJoinPool.MODE:Ljava/lang/invoke/VarHandle;
         3: .line 3177
            ldc [Ljava/util/concurrent/ForkJoinTask;
            invokestatic java.lang.invoke.MethodHandles.arrayElementVarHandle:(Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
            putstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
        end local 0 // java.lang.invoke.MethodHandles$Lookup l
         4: .line 3178
            goto 7
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
         5: astore 0 /* e */
        start local 0 // java.lang.ReflectiveOperationException e
         6: .line 3179
            new java.lang.ExceptionInInitializerError
            dup
            aload 0 /* e */
            invokespecial java.lang.ExceptionInInitializerError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.ReflectiveOperationException e
         7: .line 3186
      StackMap locals:
      StackMap stack:
            sipush 256
            istore 0 /* commonMaxSpares */
        start local 0 // int commonMaxSpares
         8: .line 3189
            ldc "java.util.concurrent.ForkJoinPool.common.maximumSpares"
         9: .line 3188
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* p */
        start local 1 // java.lang.String p
        10: .line 3190
            aload 1 /* p */
            ifnull 14
        11: .line 3191
            aload 1 /* p */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 0 /* commonMaxSpares */
        end local 1 // java.lang.String p
        12: .line 3192
            goto 14
      StackMap locals: int
      StackMap stack: java.lang.Exception
        13: pop
        14: .line 3193
      StackMap locals:
      StackMap stack:
            iload 0 /* commonMaxSpares */
            putstatic java.util.concurrent.ForkJoinPool.COMMON_MAX_SPARES:I
        15: .line 3196
            new java.util.concurrent.ForkJoinPool$DefaultForkJoinWorkerThreadFactory
            dup
            invokespecial java.util.concurrent.ForkJoinPool$DefaultForkJoinWorkerThreadFactory.<init>:()V
        16: .line 3195
            putstatic java.util.concurrent.ForkJoinPool.defaultForkJoinWorkerThreadFactory:Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
        17: .line 3197
            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;
        18: .line 3199
            new java.util.concurrent.ForkJoinPool$1
            dup
            invokespecial java.util.concurrent.ForkJoinPool$1.<init>:()V
            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;
        19: .line 3203
            getstatic java.util.concurrent.ForkJoinPool.common:Ljava/util/concurrent/ForkJoinPool;
            getfield java.util.concurrent.ForkJoinPool.mode:I
            ldc 65535
            iand
            iconst_1
            invokestatic java.lang.Math.max:(II)I
            putstatic java.util.concurrent.ForkJoinPool.COMMON_PARALLELISM:I
        end local 0 // int commonMaxSpares
        20: .line 3204
            return
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            1    4     0                l  Ljava/lang/invoke/MethodHandles$Lookup;
            6    7     0                e  Ljava/lang/ReflectiveOperationException;
            8   20     0  commonMaxSpares  I
           10   12     1                p  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.ReflectiveOperationException
           8    12      13  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 665
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 0 /* security */
        start local 0 // java.lang.SecurityManager security
         1: .line 666
            aload 0 /* security */
            ifnull 3
         2: .line 667
            aload 0 /* security */
            getstatic java.util.concurrent.ForkJoinPool.modifyThreadPermission:Ljava/lang/RuntimePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         3: .line 668
      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;

  static java.security.AccessControlContext contextWithPermissions(java.security.Permission[]);
    descriptor: ([Ljava/security/Permission;)Ljava/security/AccessControlContext;
    flags: (0x0088) ACC_STATIC, ACC_VARARGS
    Code:
      stack=9, locals=6, args_size=1
        start local 0 // java.security.Permission[] perms
         0: .line 698
            new java.security.Permissions
            dup
            invokespecial java.security.Permissions.<init>:()V
            astore 1 /* permissions */
        start local 1 // java.security.Permissions permissions
         1: .line 699
            aload 0 /* perms */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: java.security.Permission[] java.security.Permissions top int int java.security.Permission[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* perm */
        start local 2 // java.security.Permission perm
         3: .line 700
            aload 1 /* permissions */
            aload 2 /* perm */
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        end local 2 // java.security.Permission perm
         4: .line 699
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 701
            new java.security.AccessControlContext
            dup
         7: .line 702
            iconst_1
            anewarray java.security.ProtectionDomain
            dup
            iconst_0
            new java.security.ProtectionDomain
            dup
            aconst_null
            aload 1 /* permissions */
            invokespecial java.security.ProtectionDomain.<init>:(Ljava/security/CodeSource;Ljava/security/PermissionCollection;)V
            aastore
         8: .line 701
            invokespecial java.security.AccessControlContext.<init>:([Ljava/security/ProtectionDomain;)V
            areturn
        end local 1 // java.security.Permissions permissions
        end local 0 // java.security.Permission[] perms
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0        perms  [Ljava/security/Permission;
            1    9     1  permissions  Ljava/security/Permissions;
            3    4     2         perm  Ljava/security/Permission;
    MethodParameters:
       Name  Flags
      perms  

  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 1224
            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 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 1324
            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 1325
            aconst_null
            astore 2 /* ex */
        start local 2 // java.lang.Throwable ex
         2: .line 1326
            aconst_null
            astore 3 /* wt */
        start local 3 // java.util.concurrent.ForkJoinWorkerThread wt
         3: .line 1328
            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 1329
            aload 3 /* wt */
            invokevirtual java.util.concurrent.ForkJoinWorkerThread.start:()V
         5: .line 1330
            iconst_1
            ireturn
         6: .line 1332
      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 1333
            aload 4 /* rex */
            astore 2 /* ex */
        end local 4 // java.lang.Throwable rex
         8: .line 1335
      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 1336
            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=5, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // long c
         0: .line 1349
      StackMap locals:
      StackMap stack:
            ldc -281474976710656
            lload 1 /* c */
            ldc 281474976710656
            ladd
            land
         1: .line 1350
            ldc 281470681743360
            lload 1 /* c */
            ldc 4294967296
            ladd
            land
         2: .line 1349
            lor
            lstore 3 /* nc */
        start local 3 // long nc
         3: .line 1351
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            lload 1 /* c */
            lcmp
            ifne 6
            getstatic java.util.concurrent.ForkJoinPool.CTL:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            lload 1 /* c */
            lload 3 /* nc */
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/ForkJoinPool;JJ)Z
            ifeq 6
         4: .line 1352
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.createWorker:()Z
            pop
         5: .line 1353
            goto 7
        end local 3 // long nc
         6: .line 1355
      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 7
            lload 1 /* c */
            l2i
            ifeq 0
         7: .line 1356
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long c
        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     c  J
            3    6     3    nc  J
    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=17, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinWorkerThread wt
         0: .line 1367
            aload 1 /* wt */
            iconst_1
            invokevirtual java.util.concurrent.ForkJoinWorkerThread.setDaemon:(Z)V
         1: .line 1368
            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 1369
            aload 1 /* wt */
            aload 2 /* handler */
            invokevirtual java.util.concurrent.ForkJoinWorkerThread.setUncaughtExceptionHandler:(Ljava/lang/Thread$UncaughtExceptionHandler;)V
         4: .line 1370
      StackMap locals: java.lang.Thread$UncaughtExceptionHandler
      StackMap stack:
            iconst_0
            istore 3 /* tid */
        start local 3 // int tid
         5: .line 1371
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.mode:I
            ldc 65536
            iand
            istore 4 /* idbits */
        start local 4 // int idbits
         6: .line 1372
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workerNamePrefix:Ljava/lang/String;
            astore 5 /* prefix */
        start local 5 // java.lang.String prefix
         7: .line 1373
            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 6 /* w */
        start local 6 // java.util.concurrent.ForkJoinPool$WorkQueue w
         8: .line 1374
            aload 5 /* prefix */
            ifnull 49
         9: .line 1375
            aload 5 /* prefix */
            dup
            astore 7
            monitorenter
        10: .line 1376
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            astore 8 /* ws */
        start local 8 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        11: .line 1377
            aload 0 /* this */
            dup
            getfield java.util.concurrent.ForkJoinPool.indexSeed:I
            ldc -1640531527
            iadd
            dup_x1
            putfield java.util.concurrent.ForkJoinPool.indexSeed:I
            istore 10 /* s */
        start local 10 // int s
        12: .line 1378
            iload 4 /* idbits */
            iload 10 /* s */
            ldc 1073610752
            iand
            ior
            istore 4 /* idbits */
        13: .line 1379
            aload 8 /* ws */
            ifnull 44
            aload 8 /* ws */
            arraylength
            dup
            istore 9 /* n */
        start local 9 // int n
        14: iconst_1
            if_icmple 44
        15: .line 1380
            iload 9 /* n */
            iconst_1
            isub
            istore 11 /* m */
        start local 11 // int m
        16: .line 1381
            iload 11 /* m */
            iload 10 /* s */
            iconst_1
            ishl
            iconst_1
            ior
            iand
            istore 3 /* tid */
        17: .line 1382
            iload 9 /* n */
            iconst_1
            iushr
            istore 12 /* probes */
        start local 12 // int probes
        18: .line 1384
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinWorkerThread java.lang.Thread$UncaughtExceptionHandler int int java.lang.String java.util.concurrent.ForkJoinPool$WorkQueue java.lang.String java.util.concurrent.ForkJoinPool$WorkQueue[] int int int int
      StackMap stack:
            aload 8 /* ws */
            iload 3 /* tid */
            aaload
            dup
            astore 13 /* q */
        start local 13 // java.util.concurrent.ForkJoinPool$WorkQueue q
        19: ifnull 26
            aload 13 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.phase:I
            ldc 1073741824
            if_icmpne 21
        20: .line 1385
            goto 26
        21: .line 1386
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue
      StackMap stack:
            iinc 12 /* probes */ -1
            iload 12 /* probes */
            ifne 24
        22: .line 1387
            iload 9 /* n */
            iconst_1
            ior
            istore 3 /* tid */
        23: .line 1388
            goto 26
        24: .line 1391
      StackMap locals:
      StackMap stack:
            iload 3 /* tid */
            iconst_2
            iadd
            iload 11 /* m */
            iand
            istore 3 /* tid */
        end local 13 // java.util.concurrent.ForkJoinPool$WorkQueue q
        25: .line 1382
            goto 18
        end local 12 // int probes
        26: .line 1393
      StackMap locals:
      StackMap stack:
            aload 6 /* w */
            aload 6 /* w */
            iload 3 /* tid */
            iload 4 /* idbits */
            ior
            dup_x1
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.id:I
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.phase:I
        27: .line 1395
            iload 3 /* tid */
            iload 9 /* n */
            if_icmpge 29
        28: .line 1396
            aload 8 /* ws */
            iload 3 /* tid */
            aload 6 /* w */
            aastore
            goto 44
        29: .line 1398
      StackMap locals:
      StackMap stack:
            iload 9 /* n */
            iconst_1
            ishl
            istore 12 /* an */
        start local 12 // int an
        30: .line 1399
            iload 12 /* an */
            anewarray java.util.concurrent.ForkJoinPool$WorkQueue
            astore 13 /* as */
        start local 13 // java.util.concurrent.ForkJoinPool$WorkQueue[] as
        31: .line 1400
            aload 13 /* as */
            iload 3 /* tid */
            aload 6 /* w */
            aastore
        32: .line 1401
            iload 12 /* an */
            iconst_1
            isub
            istore 14 /* am */
        start local 14 // int am
        33: .line 1402
            iconst_0
            istore 15 /* j */
        start local 15 // int j
        34: goto 42
        35: .line 1404
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinWorkerThread java.lang.Thread$UncaughtExceptionHandler int int java.lang.String java.util.concurrent.ForkJoinPool$WorkQueue java.lang.String java.util.concurrent.ForkJoinPool$WorkQueue[] int int int int java.util.concurrent.ForkJoinPool$WorkQueue[] int int
      StackMap stack:
            aload 8 /* ws */
            iload 15 /* j */
            aaload
            dup
            astore 16 /* v */
        start local 16 // java.util.concurrent.ForkJoinPool$WorkQueue v
        36: ifnull 38
        37: .line 1405
            aload 13 /* as */
            aload 16 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.id:I
            iload 14 /* am */
            iand
            bipush 126
            iand
            aload 16 /* v */
            aastore
        38: .line 1406
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue
      StackMap stack:
            iinc 15 /* j */ 1
            iload 15 /* j */
            iload 9 /* n */
            if_icmplt 40
        39: .line 1407
            goto 43
        40: .line 1408
      StackMap locals:
      StackMap stack:
            aload 13 /* as */
            iload 15 /* j */
            aload 8 /* ws */
            iload 15 /* j */
            aaload
            aastore
        end local 16 // java.util.concurrent.ForkJoinPool$WorkQueue v
        41: .line 1402
            iinc 15 /* j */ 1
      StackMap locals:
      StackMap stack:
        42: iload 15 /* j */
            iload 9 /* n */
            if_icmplt 35
        end local 15 // int j
        43: .line 1410
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 13 /* as */
            putfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
        end local 14 // int am
        end local 13 // java.util.concurrent.ForkJoinPool$WorkQueue[] as
        end local 12 // int an
        end local 11 // int m
        end local 10 // int s
        end local 9 // int n
        end local 8 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        44: .line 1375
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinWorkerThread java.lang.Thread$UncaughtExceptionHandler int int java.lang.String java.util.concurrent.ForkJoinPool$WorkQueue java.lang.String
      StackMap stack:
            aload 7
            monitorexit
        45: goto 48
      StackMap locals:
      StackMap stack: java.lang.Throwable
        46: aload 7
            monitorexit
        47: athrow
        48: .line 1414
      StackMap locals:
      StackMap stack:
            aload 1 /* wt */
            aload 5 /* prefix */
            iload 3 /* tid */
            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
        49: .line 1416
      StackMap locals:
      StackMap stack:
            aload 6 /* w */
            areturn
        end local 6 // java.util.concurrent.ForkJoinPool$WorkQueue w
        end local 5 // java.lang.String prefix
        end local 4 // int idbits
        end local 3 // int tid
        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   50     0     this  Ljava/util/concurrent/ForkJoinPool;
            0   50     1       wt  Ljava/util/concurrent/ForkJoinWorkerThread;
            2   50     2  handler  Ljava/lang/Thread$UncaughtExceptionHandler;
            5   50     3      tid  I
            6   50     4   idbits  I
            7   50     5   prefix  Ljava/lang/String;
            8   50     6        w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           11   44     8       ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           14   44     9        n  I
           12   44    10        s  I
           16   44    11        m  I
           18   26    12   probes  I
           19   25    13        q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           30   44    12       an  I
           31   44    13       as  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           33   44    14       am  I
           34   43    15        j  I
           36   41    16        v  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
      Exception table:
        from    to  target  type
          10    45      46  any
          46    47      46  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=12, locals=13, 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 1429
            aconst_null
            astore 3 /* w */
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue w
         1: .line 1430
            iconst_0
            istore 4 /* phase */
        start local 4 // int phase
         2: .line 1431
            aload 1 /* wt */
            ifnull 20
            aload 1 /* wt */
            getfield java.util.concurrent.ForkJoinWorkerThread.workQueue:Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 3 /* w */
            ifnull 20
         3: .line 1432
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workerNamePrefix:Ljava/lang/String;
            astore 5 /* lock */
        start local 5 // java.lang.Object lock
         4: .line 1433
            aload 3 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.id:I
            istore 6 /* wid */
        start local 6 // int wid
         5: .line 1434
            aload 3 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.nsteals:I
            i2l
            ldc 4294967295
            land
            lstore 7 /* ns */
        start local 7 // long ns
         6: .line 1435
            aload 5 /* lock */
            ifnull 19
         7: .line 1436
            aload 5 /* lock */
            dup
            astore 9
            monitorenter
         8: .line 1438
            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
         9: ifnull 14
            aload 10 /* ws */
            arraylength
            dup
            istore 11 /* n */
        start local 11 // int n
        10: ifle 14
        11: .line 1439
            aload 10 /* ws */
            iload 6 /* wid */
            iload 11 /* n */
            iconst_1
            isub
            iand
            dup
            istore 12 /* i */
        start local 12 // int i
        12: aaload
            aload 3 /* w */
            if_acmpne 14
        13: .line 1440
            aload 10 /* ws */
            iload 12 /* i */
            aconst_null
            aastore
        end local 12 // int i
        end local 11 // int n
        14: .line 1441
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinWorkerThread java.lang.Throwable java.util.concurrent.ForkJoinPool$WorkQueue int java.lang.Object int long java.lang.Object java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.util.concurrent.ForkJoinPool.stealCount:J
            lload 7 /* ns */
            ladd
            putfield java.util.concurrent.ForkJoinPool.stealCount:J
        end local 10 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        15: .line 1436
            aload 9
            monitorexit
        16: goto 19
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinWorkerThread java.lang.Throwable java.util.concurrent.ForkJoinPool$WorkQueue int java.lang.Object int long java.lang.Object
      StackMap stack: java.lang.Throwable
        17: aload 9
            monitorexit
        18: athrow
        19: .line 1444
      StackMap locals:
      StackMap stack:
            aload 3 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.phase:I
            istore 4 /* phase */
        end local 7 // long ns
        end local 6 // int wid
        end local 5 // java.lang.Object lock
        20: .line 1446
      StackMap locals:
      StackMap stack:
            iload 4 /* phase */
            ldc 1073741824
            if_icmpeq 28
        21: .line 1448
      StackMap locals:
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.CTL:Ljava/lang/invoke/VarHandle;
        22: .line 1449
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            dup2
            lstore 5 /* c */
        start local 5 // long c
        23: ldc -281474976710656
            lload 5 /* c */
            ldc 281474976710656
            lsub
            land
        24: .line 1450
            ldc 281470681743360
            lload 5 /* c */
            ldc 4294967296
            lsub
            land
            lor
        25: .line 1451
            ldc 4294967295
            lload 5 /* c */
            land
            lor
        26: .line 1448
            invokevirtual java.lang.invoke.VarHandle.weakCompareAndSet:(Ljava/util/concurrent/ForkJoinPool;JJ)Z
        27: .line 1451
            ifeq 21
        end local 5 // long c
        28: .line 1453
      StackMap locals:
      StackMap stack:
            aload 3 /* w */
            ifnull 30
        29: .line 1454
            aload 3 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.cancelAll:()V
        30: .line 1456
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual java.util.concurrent.ForkJoinPool.tryTerminate:(ZZ)Z
            ifne 33
        31: .line 1457
            aload 3 /* w */
            ifnull 33
            aload 3 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            ifnull 33
        32: .line 1458
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.signalWork:()V
        33: .line 1460
      StackMap locals:
      StackMap stack:
            aload 2 /* ex */
            ifnonnull 35
        34: .line 1461
            invokestatic java.util.concurrent.ForkJoinTask.helpExpungeStaleExceptions:()V
            goto 36
        35: .line 1463
      StackMap locals:
      StackMap stack:
            aload 2 /* ex */
            invokestatic java.util.concurrent.ForkJoinTask.rethrow:(Ljava/lang/Throwable;)V
        36: .line 1464
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int phase
        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   37     0   this  Ljava/util/concurrent/ForkJoinPool;
            0   37     1     wt  Ljava/util/concurrent/ForkJoinWorkerThread;
            0   37     2     ex  Ljava/lang/Throwable;
            1   37     3      w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            2   37     4  phase  I
            4   20     5   lock  Ljava/lang/Object;
            5   20     6    wid  I
            6   20     7     ns  J
            9   15    10     ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           10   14    11      n  I
           12   14    12      i  I
           23   28     5      c  J
      Exception table:
        from    to  target  type
           8    16      17  any
          17    18      17  any
    MethodParameters:
      Name  Flags
      wt    
      ex    

  final void signalWork();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=8, locals=12, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 1472
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            dup2
            lstore 1 /* c */
        start local 1 // long c
         1: lconst_0
            lcmp
            iflt 3
         2: .line 1473
            goto 25
         3: .line 1474
      StackMap locals: long
      StackMap stack:
            lload 1 /* c */
            l2i
            dup
            istore 3 /* sp */
        start local 3 // int sp
         4: ifne 8
         5: .line 1475
            lload 1 /* c */
            ldc 140737488355328
            land
            lconst_0
            lcmp
            ifeq 25
         6: .line 1476
            aload 0 /* this */
            lload 1 /* c */
            invokevirtual java.util.concurrent.ForkJoinPool.tryAddWorker:(J)V
         7: .line 1477
            goto 25
         8: .line 1479
      StackMap locals: int
      StackMap stack:
            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
         9: ifnonnull 11
        10: .line 1480
            goto 25
        11: .line 1481
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            aload 4 /* ws */
            arraylength
            iload 3 /* sp */
            ldc 65535
            iand
            dup
            istore 5 /* i */
        start local 5 // int i
        12: if_icmpgt 14
        13: .line 1482
            goto 25
        14: .line 1483
      StackMap locals: int
      StackMap stack:
            aload 4 /* ws */
            iload 5 /* i */
            aaload
            dup
            astore 6 /* v */
        start local 6 // java.util.concurrent.ForkJoinPool$WorkQueue v
        15: ifnonnull 17
        16: .line 1484
            goto 25
        17: .line 1486
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue
      StackMap stack:
            iload 3 /* sp */
            ldc 2147483647
            iand
            istore 7 /* np */
        start local 7 // int np
        18: .line 1487
            aload 6 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.phase:I
            istore 8 /* vp */
        start local 8 // int vp
        19: .line 1488
            aload 6 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.stackPred:I
            i2l
            ldc 4294967295
            land
            ldc -4294967296
            lload 1 /* c */
            ldc 281474976710656
            ladd
            land
            lor
            lstore 9 /* nc */
        start local 9 // long nc
        20: .line 1489
            aload 6 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.owner:Ljava/util/concurrent/ForkJoinWorkerThread;
            astore 11 /* vt */
        start local 11 // java.lang.Thread vt
        21: .line 1490
            iload 3 /* sp */
            iload 8 /* vp */
            if_icmpne 0
            getstatic java.util.concurrent.ForkJoinPool.CTL:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            lload 1 /* c */
            lload 9 /* nc */
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/ForkJoinPool;JJ)Z
            ifeq 0
        22: .line 1491
            aload 6 /* v */
            iload 7 /* np */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.phase:I
        23: .line 1492
            aload 11 /* vt */
            ifnull 25
            aload 6 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.source:I
            ifge 25
        24: .line 1493
            aload 11 /* vt */
            invokestatic java.util.concurrent.locks.LockSupport.unpark:(Ljava/lang/Thread;)V
        end local 11 // java.lang.Thread vt
        end local 9 // long nc
        end local 8 // int vp
        end local 7 // int np
        end local 6 // java.util.concurrent.ForkJoinPool$WorkQueue v
        end local 5 // int i
        end local 4 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 3 // int sp
        end local 1 // long c
        25: .line 1498
      StackMap locals: java.util.concurrent.ForkJoinPool
      StackMap stack:
            return
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   26     0  this  Ljava/util/concurrent/ForkJoinPool;
            1   25     1     c  J
            4   25     3    sp  I
            9   25     4    ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           12   25     5     i  I
           15   25     6     v  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           18   25     7    np  I
           19   25     8    vp  I
           20   25     9    nc  J
           21   25    11    vt  Ljava/lang/Thread;

  private int tryCompensate(java.util.concurrent.ForkJoinPool$WorkQueue);
    descriptor: (Ljava/util/concurrent/ForkJoinPool$WorkQueue;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=17, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
         0: .line 1517
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            lstore 5 /* c */
        start local 5 // long c
         1: .line 1518
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            astore 7 /* ws */
        start local 7 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         2: .line 1519
            lload 5 /* c */
            bipush 32
            lushr
            l2i
            i2s
            dup
            istore 2 /* t */
        start local 2 // int t
         3: iflt 67
         4: .line 1520
            aload 7 /* ws */
            ifnull 6
            aload 7 /* ws */
            arraylength
            dup
            istore 3 /* n */
        start local 3 // int n
         5: ifle 6
            aload 1 /* w */
            ifnonnull 7
        end local 3 // int n
         6: .line 1521
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int top top long java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            iconst_0
            ireturn
        start local 3 // int n
         7: .line 1522
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int int top long java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            lload 5 /* c */
            l2i
            dup
            istore 4 /* sp */
        start local 4 // int sp
         8: ifeq 27
         9: .line 1523
            aload 7 /* ws */
            iload 4 /* sp */
            iload 3 /* n */
            iconst_1
            isub
            iand
            aaload
            astore 8 /* v */
        start local 8 // java.util.concurrent.ForkJoinPool$WorkQueue v
        10: .line 1524
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.phase:I
            istore 9 /* wp */
        start local 9 // int wp
        11: .line 1525
            ldc -4294967296
            iload 9 /* wp */
            ifge 12
            lload 5 /* c */
            ldc 281474976710656
            ladd
            goto 13
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int int int long java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue int
      StackMap stack: long
        12: lload 5 /* c */
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int int int long java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue int
      StackMap stack: long long
        13: land
            lstore 10 /* uc */
        start local 10 // long uc
        14: .line 1526
            iload 4 /* sp */
            ldc 2147483647
            iand
            istore 12 /* np */
        start local 12 // int np
        15: .line 1527
            aload 8 /* v */
            ifnull 26
        16: .line 1528
            aload 8 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.phase:I
            istore 13 /* vp */
        start local 13 // int vp
        17: .line 1529
            aload 8 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.owner:Ljava/util/concurrent/ForkJoinWorkerThread;
            astore 14 /* vt */
        start local 14 // java.lang.Thread vt
        18: .line 1530
            aload 8 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.stackPred:I
            i2l
            ldc 4294967295
            land
            lload 10 /* uc */
            lor
            lstore 15 /* nc */
        start local 15 // long nc
        19: .line 1531
            iload 13 /* vp */
            iload 4 /* sp */
            if_icmpne 26
            getstatic java.util.concurrent.ForkJoinPool.CTL:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            lload 5 /* c */
            lload 15 /* nc */
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/ForkJoinPool;JJ)Z
            ifeq 26
        20: .line 1532
            aload 8 /* v */
            iload 12 /* np */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.phase:I
        21: .line 1533
            aload 14 /* vt */
            ifnull 23
            aload 8 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.source:I
            ifge 23
        22: .line 1534
            aload 14 /* vt */
            invokestatic java.util.concurrent.locks.LockSupport.unpark:(Ljava/lang/Thread;)V
        23: .line 1535
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int int int long java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue int long int int java.lang.Thread long
      StackMap stack:
            iload 9 /* wp */
            ifge 24
            iconst_m1
            goto 25
      StackMap locals:
      StackMap stack:
        24: iconst_1
      StackMap locals:
      StackMap stack: int
        25: ireturn
        end local 15 // long nc
        end local 14 // java.lang.Thread vt
        end local 13 // int vp
        26: .line 1538
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 12 // int np
        end local 10 // long uc
        end local 9 // int wp
        end local 8 // java.util.concurrent.ForkJoinPool$WorkQueue v
        27: .line 1540
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int int int long java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            lload 5 /* c */
            bipush 48
            lshr
            l2i
        28: .line 1541
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.bounds:I
            ldc 65535
            iand
            i2s
        29: .line 1540
            isub
            ifle 34
        30: .line 1542
            ldc -281474976710656
            lload 5 /* c */
            ldc 281474976710656
            lsub
            land
            ldc 281474976710655
            lload 5 /* c */
            land
            lor
            lstore 8 /* nc */
        start local 8 // long nc
        31: .line 1543
            getstatic java.util.concurrent.ForkJoinPool.CTL:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            lload 5 /* c */
            lload 8 /* nc */
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/ForkJoinPool;JJ)Z
            ifeq 32
            iconst_1
            goto 33
      StackMap locals: long
      StackMap stack:
        32: iconst_0
      StackMap locals:
      StackMap stack: int
        33: ireturn
        end local 8 // long nc
        34: .line 1546
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.mode:I
            istore 8 /* md */
        start local 8 // int md
        35: iload 8 /* md */
            ldc 65535
            iand
            istore 9 /* pc */
        start local 9 // int pc
        36: iload 9 /* pc */
            iload 2 /* t */
            iadd
            istore 10 /* tc */
        start local 10 // int tc
        37: iconst_0
            istore 11 /* bc */
        start local 11 // int bc
        38: .line 1547
            iconst_0
            istore 12 /* unstable */
        start local 12 // boolean unstable
        39: .line 1548
            iconst_1
            istore 13 /* i */
        start local 13 // int i
        40: goto 54
        41: .line 1550
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int int int long java.util.concurrent.ForkJoinPool$WorkQueue[] int int int int int int
      StackMap stack:
            aload 7 /* ws */
            iload 13 /* i */
            aaload
            dup
            astore 14 /* q */
        start local 14 // java.util.concurrent.ForkJoinPool$WorkQueue q
        42: ifnull 53
        43: .line 1551
            aload 14 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.source:I
            ifne 46
        44: .line 1552
            iconst_1
            istore 12 /* unstable */
        45: .line 1553
            goto 55
        46: .line 1556
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue
      StackMap stack:
            iinc 10 /* tc */ -1
        47: .line 1557
            aload 14 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.owner:Ljava/util/concurrent/ForkJoinWorkerThread;
            dup
            astore 15 /* wt */
        start local 15 // java.lang.Thread wt
        48: ifnull 53
        49: .line 1558
            aload 15 /* wt */
            invokevirtual java.lang.Thread.getState:()Ljava/lang/Thread$State;
            dup
            astore 16 /* ts */
        start local 16 // java.lang.Thread$State ts
        50: getstatic java.lang.Thread$State.BLOCKED:Ljava/lang/Thread$State;
            if_acmpeq 52
        51: .line 1559
            aload 16 /* ts */
            getstatic java.lang.Thread$State.WAITING:Ljava/lang/Thread$State;
            if_acmpne 53
        52: .line 1560
      StackMap locals: java.lang.Thread java.lang.Thread$State
      StackMap stack:
            iinc 11 /* bc */ 1
        end local 16 // java.lang.Thread$State ts
        end local 15 // java.lang.Thread wt
        end local 14 // java.util.concurrent.ForkJoinPool$WorkQueue q
        53: .line 1548
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 2
      StackMap locals:
      StackMap stack:
        54: iload 13 /* i */
            iload 3 /* n */
            if_icmplt 41
        end local 13 // int i
        55: .line 1564
      StackMap locals:
      StackMap stack:
            iload 12 /* unstable */
            ifne 56
            iload 10 /* tc */
            ifne 56
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            lload 5 /* c */
            lcmp
            ifeq 57
        56: .line 1565
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        57: .line 1566
      StackMap locals:
      StackMap stack:
            iload 2 /* t */
            iload 9 /* pc */
            iadd
            sipush 32767
            if_icmpge 58
            iload 2 /* t */
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.bounds:I
            bipush 16
            iushr
            if_icmplt 67
        58: .line 1568
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.saturate:Ljava/util/function/Predicate;
            dup
            astore 13 /* sat */
        start local 13 // java.util.function.Predicate sat
        59: ifnull 61
            aload 13 /* sat */
            aload 0 /* this */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 61
        60: .line 1569
            iconst_m1
            ireturn
        61: .line 1570
      StackMap locals: java.util.function.Predicate
      StackMap stack:
            iload 11 /* bc */
            iload 9 /* pc */
            if_icmpge 64
        62: .line 1571
            invokestatic java.lang.Thread.yield:()V
        63: .line 1572
            iconst_0
            ireturn
        64: .line 1575
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.RejectedExecutionException
            dup
        65: .line 1576
            ldc "Thread limit exceeded replacing blocked worker"
        66: .line 1575
            invokespecial java.util.concurrent.RejectedExecutionException.<init>:(Ljava/lang/String;)V
            athrow
        end local 13 // java.util.function.Predicate sat
        end local 12 // boolean unstable
        end local 11 // int bc
        end local 10 // int tc
        end local 9 // int pc
        end local 8 // int md
        end local 4 // int sp
        end local 3 // int n
        67: .line 1581
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int top top long java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            lload 5 /* c */
            ldc 4294967296
            ladd
            ldc 281470681743360
            land
            lload 5 /* c */
            ldc -281470681743361
            land
            lor
            lstore 8 /* nc */
        start local 8 // long nc
        68: .line 1582
            getstatic java.util.concurrent.ForkJoinPool.CTL:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            lload 5 /* c */
            lload 8 /* nc */
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/ForkJoinPool;JJ)Z
            ifeq 69
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.createWorker:()Z
            ifeq 69
            iconst_1
            goto 70
      StackMap locals: long
      StackMap stack:
        69: iconst_0
      StackMap locals:
      StackMap stack: int
        70: ireturn
        end local 8 // long nc
        end local 7 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 5 // long c
        end local 2 // int 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   71     0      this  Ljava/util/concurrent/ForkJoinPool;
            0   71     1         w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            3   71     2         t  I
            5    6     3         n  I
            7   67     3         n  I
            8   67     4        sp  I
            1   71     5         c  J
            2   71     7        ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           10   27     8         v  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           11   27     9        wp  I
           14   27    10        uc  J
           15   27    12        np  I
           17   26    13        vp  I
           18   26    14        vt  Ljava/lang/Thread;
           19   26    15        nc  J
           31   34     8        nc  J
           35   67     8        md  I
           36   67     9        pc  I
           37   67    10        tc  I
           38   67    11        bc  I
           39   67    12  unstable  Z
           40   55    13         i  I
           42   53    14         q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           48   53    15        wt  Ljava/lang/Thread;
           50   53    16        ts  Ljava/lang/Thread$State;
           59   67    13       sat  Ljava/util/function/Predicate<-Ljava/util/concurrent/ForkJoinPool;>;
           68   71     8        nc  J
    MethodParameters:
      Name  Flags
      w     

  final void runWorker(java.util.concurrent.ForkJoinPool$WorkQueue);
    descriptor: (Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=13, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
         0: .line 1590
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.id:I
            invokestatic java.util.concurrent.ThreadLocalRandom.nextSecondarySeed:()I
            ixor
            ldc 65536
            ior
            istore 2 /* r */
        start local 2 // int r
         1: .line 1591
            aload 1 /* w */
            sipush 8192
            anewarray java.util.concurrent.ForkJoinTask
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
         2: .line 1594
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* w */
            iload 2 /* r */
            invokevirtual java.util.concurrent.ForkJoinPool.scan:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)Z
            ifeq 5
         3: .line 1595
            iload 2 /* r */
            iload 2 /* r */
            bipush 13
            ishl
            ixor
            istore 2 /* r */
            iload 2 /* r */
            iload 2 /* r */
            bipush 17
            iushr
            ixor
            istore 2 /* r */
            iload 2 /* r */
            iload 2 /* r */
            iconst_5
            ishl
            ixor
            istore 2 /* r */
         4: .line 1596
            goto 2
         5: .line 1597
      StackMap locals:
      StackMap stack:
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.phase:I
            dup
            istore 3 /* phase */
        start local 3 // int phase
         6: iflt 13
         7: .line 1598
            aload 1 /* w */
            iload 3 /* phase */
            ldc 65536
            iadd
            ldc -2147483648
            ior
            dup_x1
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.phase:I
            i2l
            ldc 4294967295
            land
            lstore 4 /* np */
        start local 4 // long np
         8: .line 1601
      StackMap locals: int long
      StackMap stack:
            aload 1 /* w */
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            dup2
            lstore 6 /* c */
        start local 6 // long c
         9: l2i
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.stackPred:I
        10: .line 1602
            lload 6 /* c */
            ldc 281474976710656
            lsub
            ldc -4294967296
            land
            lload 4 /* np */
            lor
            lstore 8 /* nc */
        start local 8 // long nc
        11: .line 1603
            getstatic java.util.concurrent.ForkJoinPool.CTL:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            lload 6 /* c */
            lload 8 /* nc */
            invokevirtual java.lang.invoke.VarHandle.weakCompareAndSet:(Ljava/util/concurrent/ForkJoinPool;JJ)Z
            ifeq 8
        end local 8 // long nc
        end local 6 // long c
        end local 4 // long np
        12: .line 1604
            goto 2
        13: .line 1606
      StackMap locals:
      StackMap stack:
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.stackPred:I
            istore 4 /* pred */
        start local 4 // int pred
        14: .line 1607
            invokestatic java.lang.Thread.interrupted:()Z
            pop
        15: .line 1608
            aload 1 /* w */
            ldc -1073741824
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.source:I
        16: .line 1609
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            lstore 5 /* c */
        start local 5 // long c
        17: .line 1610
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.mode:I
            istore 7 /* md */
        start local 7 // int md
        18: iload 7 /* md */
            ldc 65535
            iand
            lload 5 /* c */
            bipush 48
            lshr
            l2i
            iadd
            istore 8 /* rc */
        start local 8 // int rc
        19: .line 1611
            iload 7 /* md */
            ifge 21
        20: .line 1612
            goto 37
        21: .line 1613
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int int int long int int
      StackMap stack:
            iload 8 /* rc */
            ifgt 24
            iload 7 /* md */
            ldc 262144
            iand
            ifeq 24
        22: .line 1614
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual java.util.concurrent.ForkJoinPool.tryTerminate:(ZZ)Z
            ifeq 24
        23: .line 1615
            goto 37
        24: .line 1616
      StackMap locals:
      StackMap stack:
            iload 8 /* rc */
            ifgt 33
            iload 4 /* pred */
            ifeq 33
            iload 3 /* phase */
            lload 5 /* c */
            l2i
            if_icmpne 33
        25: .line 1617
            ldc -4294967296
            lload 5 /* c */
            ldc 4294967296
            lsub
            land
            ldc 4294967295
            iload 4 /* pred */
            i2l
            land
            lor
            lstore 9 /* nc */
        start local 9 // long nc
        26: .line 1618
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.keepAlive:J
            invokestatic java.lang.System.currentTimeMillis:()J
            ladd
            lstore 11 /* d */
        start local 11 // long d
        27: .line 1619
            aload 0 /* this */
            lload 11 /* d */
            invokestatic java.util.concurrent.locks.LockSupport.parkUntil:(Ljava/lang/Object;J)V
        28: .line 1620
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            lload 5 /* c */
            lcmp
            ifne 35
        29: .line 1621
            lload 11 /* d */
            invokestatic java.lang.System.currentTimeMillis:()J
            lsub
            ldc 20
            lcmp
            ifgt 35
        30: .line 1622
            getstatic java.util.concurrent.ForkJoinPool.CTL:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            lload 5 /* c */
            lload 9 /* nc */
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/ForkJoinPool;JJ)Z
            ifeq 35
        31: .line 1623
            aload 1 /* w */
            ldc 1073741824
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.phase:I
        32: .line 1624
            goto 37
        end local 11 // long d
        end local 9 // long nc
        33: .line 1627
      StackMap locals:
      StackMap stack:
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.phase:I
            ifge 35
        34: .line 1628
            aload 0 /* this */
            invokestatic java.util.concurrent.locks.LockSupport.park:(Ljava/lang/Object;)V
        35: .line 1629
      StackMap locals:
      StackMap stack:
            aload 1 /* w */
            iconst_0
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.source:I
        end local 8 // int rc
        end local 7 // int md
        end local 5 // long c
        end local 4 // int pred
        end local 3 // int phase
        36: .line 1592
            goto 2
        37: .line 1632
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int
      StackMap stack:
            return
        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   38     0   this  Ljava/util/concurrent/ForkJoinPool;
            0   38     1      w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            1   38     2      r  I
            6   36     3  phase  I
            8   12     4     np  J
            9   12     6      c  J
           11   12     8     nc  J
           14   36     4   pred  I
           17   36     5      c  J
           18   36     7     md  I
           19   36     8     rc  I
           26   33     9     nc  J
           27   33    11      d  J
    MethodParameters:
      Name  Flags
      w     

  private boolean scan(java.util.concurrent.ForkJoinPool$WorkQueue, int);
    descriptor: (Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=14, 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 1642
            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 27
            aload 3 /* ws */
            arraylength
            dup
            istore 4 /* n */
        start local 4 // int n
         2: ifle 27
            aload 1 /* w */
            ifnull 27
         3: .line 1643
            iload 4 /* n */
            iconst_1
            isub
            istore 5 /* m */
        start local 5 // int m
         4: iload 2 /* r */
            iload 5 /* m */
            iand
            istore 6 /* j */
        start local 6 // int j
         5: .line 1645
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int java.util.concurrent.ForkJoinPool$WorkQueue[] int int int
      StackMap stack:
            aload 3 /* ws */
            iload 6 /* j */
            aaload
            dup
            astore 7 /* q */
        start local 7 // java.util.concurrent.ForkJoinPool$WorkQueue q
         6: ifnull 24
            aload 7 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            aload 7 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            dup
            istore 8 /* b */
        start local 8 // int b
         7: if_icmpeq 24
         8: .line 1646
            aload 7 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.id:I
            istore 9 /* qid */
        start local 9 // int qid
         9: .line 1648
            aload 7 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 10 /* a */
        start local 10 // java.util.concurrent.ForkJoinTask[] a
        10: ifnull 23
            aload 10 /* a */
            arraylength
            dup
            istore 11 /* cap */
        start local 11 // int cap
        11: ifle 23
        12: .line 1649
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 10 /* a */
            iload 11 /* cap */
            iconst_1
            isub
            iload 8 /* b */
            iand
            dup
            istore 12 /* k */
        start local 12 // int k
        13: invokevirtual java.lang.invoke.VarHandle.getAcquire:([Ljava/util/concurrent/ForkJoinTask;I)Ljava/util/concurrent/ForkJoinTask;
            astore 13 /* t */
        start local 13 // java.util.concurrent.ForkJoinTask t
        14: .line 1650
            aload 7 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            iload 8 /* b */
            iinc 8 /* b */ 1
            if_icmpne 23
            aload 13 /* t */
            ifnull 23
        15: .line 1651
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 10 /* a */
            iload 12 /* k */
            aload 13 /* t */
            aconst_null
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:([Ljava/util/concurrent/ForkJoinTask;ILjava/util/concurrent/ForkJoinTask;Ljava/lang/Void;)Z
            ifeq 23
        16: .line 1652
            aload 7 /* q */
            iload 8 /* b */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
        17: .line 1653
            aload 1 /* w */
            iload 9 /* qid */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.source:I
        18: .line 1654
            aload 7 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            iload 8 /* b */
            isub
            ifle 20
        19: .line 1655
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.signalWork:()V
        20: .line 1656
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int java.util.concurrent.ForkJoinPool$WorkQueue[] int int int java.util.concurrent.ForkJoinPool$WorkQueue int int java.util.concurrent.ForkJoinTask[] int int java.util.concurrent.ForkJoinTask
      StackMap stack:
            aload 1 /* w */
            aload 13 /* t */
            aload 7 /* q */
        21: .line 1657
            iload 2 /* r */
            iload 4 /* n */
            bipush 10
            ishl
            iconst_1
            isub
            iand
        22: .line 1656
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec:(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)V
        end local 13 // java.util.concurrent.ForkJoinTask t
        end local 12 // int k
        end local 11 // int cap
        23: .line 1660
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 10 // java.util.concurrent.ForkJoinTask[] a
        end local 9 // int qid
        end local 8 // int b
        24: .line 1662
      StackMap locals:
      StackMap stack:
            iinc 4 /* n */ -1
            iload 4 /* n */
            ifle 27
        25: .line 1663
            iload 6 /* j */
            iconst_1
            iadd
            iload 5 /* m */
            iand
            istore 6 /* j */
        end local 7 // java.util.concurrent.ForkJoinPool$WorkQueue q
        26: .line 1643
            goto 5
        end local 6 // int j
        end local 5 // int m
        end local 4 // int n
        27: .line 1668
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            iconst_0
            ireturn
        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   28     0  this  Ljava/util/concurrent/ForkJoinPool;
            0   28     1     w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   28     2     r  I
            1   28     3    ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            2   27     4     n  I
            4   27     5     m  I
            5   27     6     j  I
            6   26     7     q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            7   24     8     b  I
            9   24     9   qid  I
           10   24    10     a  [Ljava/util/concurrent/ForkJoinTask;
           11   23    11   cap  I
           13   23    12     k  I
           14   23    13     t  Ljava/util/concurrent/ForkJoinTask<*>;
    MethodParameters:
      Name  Flags
      w     
      r     

  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=5, locals=21, 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 1683
            iconst_0
            istore 5 /* s */
        start local 5 // int s
         1: .line 1684
            invokestatic java.util.concurrent.ThreadLocalRandom.nextSecondarySeed:()I
            istore 6 /* seed */
        start local 6 // int seed
         2: .line 1685
            aload 1 /* w */
            ifnull 59
            aload 2 /* task */
            ifnull 59
         3: .line 1686
            aload 2 /* task */
            instanceof java.util.concurrent.CountedCompleter
            ifeq 5
         4: .line 1687
            aload 1 /* w */
            aload 2 /* task */
            checkcast java.util.concurrent.CountedCompleter
            iconst_0
            iconst_0
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.helpCC:(Ljava/util/concurrent/CountedCompleter;IZ)I
            dup
            istore 5 /* s */
            iflt 59
         5: .line 1688
      StackMap locals: int int
      StackMap stack:
            aload 1 /* w */
            aload 2 /* task */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.tryRemoveAndExec:(Ljava/util/concurrent/ForkJoinTask;)V
         6: .line 1689
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.source:I
            istore 7 /* src */
        start local 7 // int src
         7: aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.id:I
            istore 8 /* id */
        start local 8 // int id
         8: .line 1690
            iload 6 /* seed */
            bipush 16
            iushr
            iconst_1
            ior
            istore 9 /* r */
        start local 9 // int r
         9: iload 6 /* seed */
            bipush -2
            iand
            iconst_2
            ior
            istore 10 /* step */
        start local 10 // int step
        10: .line 1691
            aload 2 /* task */
            getfield java.util.concurrent.ForkJoinTask.status:I
            istore 5 /* s */
        11: .line 1692
            goto 58
        12: .line 1694
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask long int int int int int int
      StackMap stack:
            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
        13: ifnonnull 14
            iconst_0
            goto 15
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
        14: aload 11 /* ws */
            arraylength
      StackMap locals:
      StackMap stack: int
        15: istore 12 /* n */
        start local 12 // int n
        16: iload 12 /* n */
            iconst_1
            isub
            istore 13 /* m */
        start local 13 // int m
        17: .line 1695
            goto 38
        18: .line 1697
      StackMap locals: int int
      StackMap stack:
            aload 11 /* ws */
            iload 9 /* r */
            iload 13 /* m */
            iand
            aaload
            dup
            astore 14 /* q */
        start local 14 // java.util.concurrent.ForkJoinPool$WorkQueue q
        19: ifnull 36
            aload 14 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.source:I
            iload 8 /* id */
            if_icmpne 36
        20: .line 1698
            aload 14 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            aload 14 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            dup
            istore 15 /* b */
        start local 15 // int b
        21: if_icmpeq 36
        22: .line 1700
            aload 14 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.id:I
            istore 19 /* qid */
        start local 19 // int qid
        23: .line 1701
            aload 14 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 16 /* a */
        start local 16 // java.util.concurrent.ForkJoinTask[] a
        24: ifnull 39
            aload 16 /* a */
            arraylength
            dup
            istore 17 /* cap */
        start local 17 // int cap
        25: ifle 39
        26: .line 1703
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 16 /* a */
            iload 17 /* cap */
            iconst_1
            isub
            iload 15 /* b */
            iand
            dup
            istore 18 /* k */
        start local 18 // int k
        27: invokevirtual java.lang.invoke.VarHandle.getAcquire:([Ljava/util/concurrent/ForkJoinTask;I)Ljava/util/concurrent/ForkJoinTask;
        28: .line 1702
            astore 20 /* t */
        start local 20 // java.util.concurrent.ForkJoinTask t
        29: .line 1704
            aload 14 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.source:I
            iload 8 /* id */
            if_icmpne 39
            aload 14 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            iload 15 /* b */
            iinc 15 /* b */ 1
            if_icmpne 39
        30: .line 1705
            aload 20 /* t */
            ifnull 39
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 16 /* a */
            iload 18 /* k */
            aload 20 /* t */
            aconst_null
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:([Ljava/util/concurrent/ForkJoinTask;ILjava/util/concurrent/ForkJoinTask;Ljava/lang/Void;)Z
            ifeq 39
        31: .line 1706
            aload 14 /* q */
            iload 15 /* b */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
        32: .line 1707
            aload 1 /* w */
            iload 19 /* qid */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.source:I
        33: .line 1708
            aload 20 /* t */
            invokevirtual java.util.concurrent.ForkJoinTask.doExec:()I
            pop
        34: .line 1709
            aload 1 /* w */
            iload 7 /* src */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.source:I
        end local 20 // java.util.concurrent.ForkJoinTask t
        end local 18 // int k
        end local 17 // int cap
        35: .line 1712
            goto 39
        end local 19 // int qid
        end local 16 // java.util.concurrent.ForkJoinTask[] a
        end local 15 // int b
        36: .line 1715
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue
      StackMap stack:
            iload 9 /* r */
            iload 10 /* step */
            iadd
            istore 9 /* r */
        37: .line 1716
            iinc 12 /* n */ -1
        end local 14 // java.util.concurrent.ForkJoinPool$WorkQueue q
        38: .line 1695
      StackMap locals:
      StackMap stack:
            iload 12 /* n */
            ifgt 18
        39: .line 1719
      StackMap locals:
      StackMap stack:
            aload 2 /* task */
            getfield java.util.concurrent.ForkJoinTask.status:I
            dup
            istore 5 /* s */
            ifge 41
        40: .line 1720
            goto 59
        41: .line 1721
      StackMap locals:
      StackMap stack:
            iload 12 /* n */
            ifne 58
        42: .line 1723
            lload 3 /* deadline */
            lconst_0
            lcmp
            ifne 45
        43: .line 1724
            lconst_0
            lstore 14 /* ms */
        start local 14 // long ms
        44: goto 51
        end local 14 // long ms
        45: .line 1725
      StackMap locals:
      StackMap stack:
            lload 3 /* deadline */
            invokestatic java.lang.System.nanoTime:()J
            lsub
            dup2
            lstore 16 /* ns */
        start local 16 // long ns
        46: lconst_0
            lcmp
            ifgt 48
        47: .line 1726
            goto 59
        48: .line 1727
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask long int int int int int int java.util.concurrent.ForkJoinPool$WorkQueue[] int int top top long
      StackMap stack:
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            lload 16 /* ns */
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            dup2
            lstore 14 /* ms */
        start local 14 // long ms
        49: lconst_0
            lcmp
            ifgt 51
        50: .line 1728
            lconst_1
            lstore 14 /* ms */
        end local 16 // long ns
        51: .line 1729
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask long int int int int int int java.util.concurrent.ForkJoinPool$WorkQueue[] int int long
      StackMap stack:
            aload 0 /* this */
            aload 1 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool.tryCompensate:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)I
            dup
            istore 18 /* block */
        start local 18 // int block
        52: ifeq 57
        53: .line 1730
            aload 2 /* task */
            lload 14 /* ms */
            invokevirtual java.util.concurrent.ForkJoinTask.internalWait:(J)V
        54: .line 1731
            getstatic java.util.concurrent.ForkJoinPool.CTL:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            iload 18 /* block */
            ifle 55
            ldc 281474976710656
            goto 56
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask long int int int int int int java.util.concurrent.ForkJoinPool$WorkQueue[] int int long top top int
      StackMap stack: java.lang.invoke.VarHandle java.util.concurrent.ForkJoinPool
        55: lconst_0
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask long int int int int int int java.util.concurrent.ForkJoinPool$WorkQueue[] int int long top top int
      StackMap stack: java.lang.invoke.VarHandle java.util.concurrent.ForkJoinPool long
        56: invokevirtual java.lang.invoke.VarHandle.getAndAdd:(Ljava/util/concurrent/ForkJoinPool;J)V
        57: .line 1733
      StackMap locals:
      StackMap stack:
            aload 2 /* task */
            getfield java.util.concurrent.ForkJoinTask.status:I
            istore 5 /* s */
        end local 18 // int block
        end local 14 // long ms
        end local 13 // int m
        end local 12 // int n
        end local 11 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        58: .line 1692
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask long int int int int int int
      StackMap stack:
            iload 5 /* s */
            ifge 12
        end local 10 // int step
        end local 9 // int r
        end local 8 // int id
        end local 7 // int src
        59: .line 1737
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask long int int
      StackMap stack:
            iload 5 /* s */
            ireturn
        end local 6 // int seed
        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   60     0      this  Ljava/util/concurrent/ForkJoinPool;
            0   60     1         w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0   60     2      task  Ljava/util/concurrent/ForkJoinTask<*>;
            0   60     3  deadline  J
            1   60     5         s  I
            2   60     6      seed  I
            7   59     7       src  I
            8   59     8        id  I
            9   59     9         r  I
           10   59    10      step  I
           13   58    11        ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           16   58    12         n  I
           17   58    13         m  I
           19   38    14         q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           21   36    15         b  I
           24   36    16         a  [Ljava/util/concurrent/ForkJoinTask;
           25   35    17       cap  I
           27   35    18         k  I
           23   36    19       qid  I
           29   35    20         t  Ljava/util/concurrent/ForkJoinTask<*>;
           44   45    14        ms  J
           49   58    14        ms  J
           46   51    16        ns  J
           52   58    18     block  I
    Signature: (Ljava/util/concurrent/ForkJoinPool$WorkQueue;Ljava/util/concurrent/ForkJoinTask<*>;J)I
    MethodParameters:
          Name  Flags
      w         
      task      
      deadline  

  final void helpQuiescePool(java.util.concurrent.ForkJoinPool$WorkQueue);
    descriptor: (Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=22, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
         0: .line 1746
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.source:I
            istore 2 /* prevSrc */
        start local 2 // int prevSrc
         1: .line 1747
            invokestatic java.util.concurrent.ThreadLocalRandom.nextSecondarySeed:()I
            istore 3 /* seed */
        start local 3 // int seed
         2: .line 1748
            iload 3 /* seed */
            bipush 16
            iushr
            istore 4 /* r */
        start local 4 // int r
         3: iload 4 /* r */
            iconst_1
            ior
            istore 5 /* step */
        start local 5 // int step
         4: .line 1749
            iload 2 /* prevSrc */
            istore 6 /* source */
        start local 6 // int source
         5: iconst_m1
            istore 7 /* released */
        start local 7 // int released
         6: .line 1751
            goto 8
        start local 8 // java.util.concurrent.ForkJoinTask localTask
         7: .line 1752
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int int int int int int java.util.concurrent.ForkJoinTask
      StackMap stack:
            aload 8 /* localTask */
            invokevirtual java.util.concurrent.ForkJoinTask.doExec:()I
            pop
        end local 8 // java.util.concurrent.ForkJoinTask localTask
         8: .line 1751
      StackMap locals:
      StackMap stack:
            aload 1 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.nextLocalTask:()Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 8 /* localTask */
        start local 8 // java.util.concurrent.ForkJoinTask localTask
         9: ifnonnull 7
        10: .line 1753
            aload 1 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.phase:I
            iflt 12
            iload 7 /* released */
            iconst_m1
            if_icmpne 12
        11: .line 1754
            iconst_1
            istore 7 /* released */
        12: .line 1755
      StackMap locals: java.util.concurrent.ForkJoinTask
      StackMap stack:
            iconst_1
            istore 10 /* quiet */
        start local 10 // boolean quiet
        13: iconst_1
            istore 11 /* empty */
        start local 11 // boolean empty
        14: .line 1756
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 9 /* ws */
        start local 9 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        15: ifnonnull 16
            iconst_0
            goto 17
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue[] int int
      StackMap stack:
        16: aload 9 /* ws */
            arraylength
      StackMap locals:
      StackMap stack: int
        17: istore 12 /* n */
        start local 12 // int n
        18: .line 1757
            iload 12 /* n */
            iconst_1
            isub
            istore 13 /* m */
        start local 13 // int m
        19: goto 46
        20: .line 1759
      StackMap locals: int int
      StackMap stack:
            aload 9 /* ws */
            iload 4 /* r */
            iload 13 /* m */
            iand
            aaload
            dup
            astore 14 /* q */
        start local 14 // java.util.concurrent.ForkJoinPool$WorkQueue q
        21: ifnull 45
        22: .line 1760
            aload 14 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.source:I
            istore 16 /* qs */
        start local 16 // int qs
        23: .line 1761
            aload 14 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            aload 14 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            dup
            istore 15 /* b */
        start local 15 // int b
        24: if_icmpeq 43
        25: .line 1762
            iconst_0
            dup
            istore 11 /* empty */
            istore 10 /* quiet */
        26: .line 1764
            aload 14 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.id:I
            istore 20 /* qid */
        start local 20 // int qid
        27: .line 1765
            aload 14 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 17 /* a */
        start local 17 // java.util.concurrent.ForkJoinTask[] a
        28: ifnull 47
            aload 17 /* a */
            arraylength
            dup
            istore 18 /* cap */
        start local 18 // int cap
        29: ifle 47
        30: .line 1766
            iload 7 /* released */
            ifne 33
        31: .line 1767
            iconst_1
            istore 7 /* released */
        32: .line 1768
            getstatic java.util.concurrent.ForkJoinPool.CTL:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            ldc 281474976710656
            invokevirtual java.lang.invoke.VarHandle.getAndAdd:(Ljava/util/concurrent/ForkJoinPool;J)V
        33: .line 1771
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int int int int int int java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool$WorkQueue[] int int int int java.util.concurrent.ForkJoinPool$WorkQueue int int java.util.concurrent.ForkJoinTask[] int top int
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 17 /* a */
            iload 18 /* cap */
            iconst_1
            isub
            iload 15 /* b */
            iand
            dup
            istore 19 /* k */
        start local 19 // int k
        34: invokevirtual java.lang.invoke.VarHandle.getAcquire:([Ljava/util/concurrent/ForkJoinTask;I)Ljava/util/concurrent/ForkJoinTask;
        35: .line 1770
            astore 21 /* t */
        start local 21 // java.util.concurrent.ForkJoinTask t
        36: .line 1772
            aload 14 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            iload 15 /* b */
            iinc 15 /* b */ 1
            if_icmpne 47
            aload 21 /* t */
            ifnull 47
        37: .line 1773
            getstatic java.util.concurrent.ForkJoinPool.QA:Ljava/lang/invoke/VarHandle;
            aload 17 /* a */
            iload 19 /* k */
            aload 21 /* t */
            aconst_null
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:([Ljava/util/concurrent/ForkJoinTask;ILjava/util/concurrent/ForkJoinTask;Ljava/lang/Void;)Z
            ifeq 47
        38: .line 1774
            aload 14 /* q */
            iload 15 /* b */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
        39: .line 1775
            aload 1 /* w */
            iload 20 /* qid */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.source:I
        40: .line 1776
            aload 21 /* t */
            invokevirtual java.util.concurrent.ForkJoinTask.doExec:()I
            pop
        41: .line 1777
            aload 1 /* w */
            iload 2 /* prevSrc */
            dup
            istore 6 /* source */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.source:I
        end local 21 // java.util.concurrent.ForkJoinTask t
        end local 19 // int k
        end local 18 // int cap
        42: .line 1780
            goto 47
        end local 20 // int qid
        end local 17 // java.util.concurrent.ForkJoinTask[] a
        43: .line 1782
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int int int int int int java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool$WorkQueue[] int int int int java.util.concurrent.ForkJoinPool$WorkQueue int int
      StackMap stack:
            iload 16 /* qs */
            ldc 1073741824
            iand
            ifne 45
        44: .line 1783
            iconst_0
            istore 10 /* quiet */
        end local 16 // int qs
        end local 15 // int b
        end local 14 // java.util.concurrent.ForkJoinPool$WorkQueue q
        45: .line 1757
      StackMap locals:
      StackMap stack:
            iload 4 /* r */
            iload 5 /* step */
            iadd
            istore 4 /* r */
            iinc 12 /* n */ -1
      StackMap locals:
      StackMap stack:
        46: iload 12 /* n */
            ifgt 20
        end local 13 // int m
        47: .line 1786
      StackMap locals:
      StackMap stack:
            iload 10 /* quiet */
            ifeq 52
        48: .line 1787
            iload 7 /* released */
            ifne 50
        49: .line 1788
            getstatic java.util.concurrent.ForkJoinPool.CTL:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            ldc 281474976710656
            invokevirtual java.lang.invoke.VarHandle.getAndAdd:(Ljava/util/concurrent/ForkJoinPool;J)V
        50: .line 1789
      StackMap locals:
      StackMap stack:
            aload 1 /* w */
            iload 2 /* prevSrc */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.source:I
        51: .line 1790
            goto 59
        52: .line 1792
      StackMap locals:
      StackMap stack:
            iload 11 /* empty */
            ifeq 58
        53: .line 1793
            iload 6 /* source */
            ldc 1073741824
            if_icmpeq 55
        54: .line 1794
            aload 1 /* w */
            ldc 1073741824
            dup
            istore 6 /* source */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.source:I
        55: .line 1795
      StackMap locals:
      StackMap stack:
            iload 7 /* released */
            iconst_1
            if_icmpne 58
        56: .line 1796
            iconst_0
            istore 7 /* released */
        57: .line 1797
            getstatic java.util.concurrent.ForkJoinPool.CTL:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            ldc -281474976710656
            invokevirtual java.lang.invoke.VarHandle.getAndAdd:(Ljava/util/concurrent/ForkJoinPool;J)V
        end local 12 // int n
        end local 11 // boolean empty
        end local 10 // boolean quiet
        end local 9 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 8 // java.util.concurrent.ForkJoinTask localTask
        58: .line 1749
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue int int int int int int
      StackMap stack:
            goto 8
        end local 7 // int released
        end local 6 // int source
        59: .line 1801
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int step
        end local 4 // int r
        end local 3 // int seed
        end local 2 // int prevSrc
        end local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   60     0       this  Ljava/util/concurrent/ForkJoinPool;
            0   60     1          w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            1   60     2    prevSrc  I
            2   60     3       seed  I
            3   60     4          r  I
            4   60     5       step  I
            5   59     6     source  I
            6   59     7   released  I
            7    8     8  localTask  Ljava/util/concurrent/ForkJoinTask<*>;
            9   58     8  localTask  Ljava/util/concurrent/ForkJoinTask<*>;
           15   58     9         ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           13   58    10      quiet  Z
           14   58    11      empty  Z
           18   58    12          n  I
           19   47    13          m  I
           21   45    14          q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           24   45    15          b  I
           23   45    16         qs  I
           28   43    17          a  [Ljava/util/concurrent/ForkJoinTask;
           29   42    18        cap  I
           34   42    19          k  I
           27   43    20        qid  I
           36   42    21          t  Ljava/util/concurrent/ForkJoinTask<*>;
    MethodParameters:
      Name  Flags
      w     

  private java.util.concurrent.ForkJoinTask<?> pollScan(boolean);
    descriptor: (Z)Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=16, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // boolean submissionsOnly
         0: .line 1811
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.mode:I
            ldc -2147483648
            iand
            ifne 32
            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
         1: ifnull 32
         2: .line 1812
            aload 2 /* ws */
            arraylength
            dup
            istore 3 /* n */
        start local 3 // int n
         3: ifle 32
         4: .line 1813
            iload 3 /* n */
            iconst_1
            isub
            istore 4 /* m */
        start local 4 // int m
         5: .line 1814
            invokestatic java.util.concurrent.ThreadLocalRandom.nextSecondarySeed:()I
            istore 5 /* r */
        start local 5 // int r
         6: .line 1815
            iload 5 /* r */
            bipush 16
            iushr
            istore 6 /* h */
        start local 6 // int h
         7: .line 1817
            iload 1 /* submissionsOnly */
            ifeq 11
         8: .line 1818
            iload 5 /* r */
            bipush -2
            iand
            iload 4 /* m */
            iand
            istore 7 /* origin */
        start local 7 // int origin
         9: .line 1819
            iload 6 /* h */
            bipush -2
            iand
            iconst_2
            ior
            istore 8 /* step */
        start local 8 // int step
        10: .line 1820
            goto 13
        end local 8 // int step
        end local 7 // int origin
        11: .line 1822
      StackMap locals: java.util.concurrent.ForkJoinPool int java.util.concurrent.ForkJoinPool$WorkQueue[] int int int int
      StackMap stack:
            iload 5 /* r */
            iload 4 /* m */
            iand
            istore 7 /* origin */
        start local 7 // int origin
        12: .line 1823
            iload 6 /* h */
            iconst_1
            ior
            istore 8 /* step */
        start local 8 // int step
        13: .line 1825
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 9 /* nonempty */
        start local 9 // boolean nonempty
        14: .line 1826
            iload 7 /* origin */
            istore 10 /* i */
        start local 10 // int i
        15: iconst_0
            istore 11 /* oldSum */
        start local 11 // int oldSum
        16: iconst_0
            istore 12 /* checkSum */
        start local 12 // int checkSum
        17: .line 1828
      StackMap locals: java.util.concurrent.ForkJoinPool int java.util.concurrent.ForkJoinPool$WorkQueue[] int int int int int int int int int int
      StackMap stack:
            aload 2 /* ws */
            iload 10 /* i */
            aaload
            dup
            astore 13 /* q */
        start local 13 // java.util.concurrent.ForkJoinPool$WorkQueue q
        18: ifnull 26
        19: .line 1830
            aload 13 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            aload 13 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            dup
            istore 14 /* b */
        start local 14 // int b
        20: isub
            ifle 25
        21: .line 1831
            iconst_1
            istore 9 /* nonempty */
        22: .line 1832
            aload 13 /* q */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.poll:()Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 15 /* t */
        start local 15 // java.util.concurrent.ForkJoinTask t
        23: ifnull 26
        24: .line 1833
            aload 15 /* t */
            areturn
        end local 15 // java.util.concurrent.ForkJoinTask t
        25: .line 1836
      StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue int
      StackMap stack:
            iload 12 /* checkSum */
            iload 14 /* b */
            aload 13 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.id:I
            iadd
            iadd
            istore 12 /* checkSum */
        end local 14 // int b
        26: .line 1838
      StackMap locals:
      StackMap stack:
            iload 10 /* i */
            iload 8 /* step */
            iadd
            iload 4 /* m */
            iand
            dup
            istore 10 /* i */
            iload 7 /* origin */
            if_icmpne 17
        27: .line 1839
            iload 9 /* nonempty */
            ifne 29
            iload 11 /* oldSum */
            iload 12 /* checkSum */
            dup
            istore 11 /* oldSum */
            if_icmpne 29
        28: .line 1840
            goto 32
        29: .line 1841
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* checkSum */
        30: .line 1842
            iconst_0
            istore 9 /* nonempty */
        end local 13 // java.util.concurrent.ForkJoinPool$WorkQueue q
        31: .line 1826
            goto 17
        end local 12 // int checkSum
        end local 11 // int oldSum
        end local 10 // int i
        end local 9 // boolean nonempty
        end local 8 // int step
        end local 7 // int origin
        end local 6 // int h
        end local 5 // int r
        end local 4 // int m
        end local 3 // int n
        end local 2 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        32: .line 1846
      StackMap locals: java.util.concurrent.ForkJoinPool int
      StackMap stack:
            aconst_null
            areturn
        end local 1 // boolean submissionsOnly
        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  submissionsOnly  Z
            1   32     2               ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            3   32     3                n  I
            5   32     4                m  I
            6   32     5                r  I
            7   32     6                h  I
            9   11     7           origin  I
           12   32     7           origin  I
           10   11     8             step  I
           13   32     8             step  I
           14   32     9         nonempty  Z
           15   32    10                i  I
           16   32    11           oldSum  I
           17   32    12         checkSum  I
           18   31    13                q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           20   26    14                b  I
           23   25    15                t  Ljava/util/concurrent/ForkJoinTask<*>;
    Signature: (Z)Ljava/util/concurrent/ForkJoinTask<*>;
    MethodParameters:
                 Name  Flags
      submissionsOnly  

  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=3, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinPool$WorkQueue w
         0: .line 1856
            aload 1 /* w */
            ifnull 2
            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: ifnonnull 3
        end local 2 // java.util.concurrent.ForkJoinTask t
         2: .line 1857
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.util.concurrent.ForkJoinPool.pollScan:(Z)Ljava/util/concurrent/ForkJoinTask;
            astore 2 /* t */
        start local 2 // java.util.concurrent.ForkJoinTask t
         3: .line 1858
      StackMap locals: java.util.concurrent.ForkJoinTask
      StackMap stack:
            aload 2 /* t */
            areturn
        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    4     0  this  Ljava/util/concurrent/ForkJoinPool;
            0    4     1     w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            1    2     2     t  Ljava/util/concurrent/ForkJoinTask<*>;
            3    4     2     t  Ljava/util/concurrent/ForkJoinTask<*>;
    Signature: (Ljava/util/concurrent/ForkJoinPool$WorkQueue;)Ljava/util/concurrent/ForkJoinTask<*>;
    MethodParameters:
      Name  Flags
      w     

  final void externalPush(java.util.concurrent.ForkJoinTask<?>);
    descriptor: (Ljava/util/concurrent/ForkJoinTask;)V
    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.ForkJoinTask task
         0: .line 1871
            invokestatic java.util.concurrent.ThreadLocalRandom.getProbe:()I
            dup
            istore 2 /* r */
        start local 2 // int r
         1: ifne 4
         2: .line 1872
            invokestatic java.util.concurrent.ThreadLocalRandom.localInit:()V
         3: .line 1873
            invokestatic java.util.concurrent.ThreadLocalRandom.getProbe:()I
            istore 2 /* r */
         4: .line 1877
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.mode:I
            istore 4 /* md */
        start local 4 // int md
         5: .line 1878
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            astore 6 /* ws */
        start local 6 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
         6: .line 1879
            iload 4 /* md */
            ldc 262144
            iand
            ifne 8
            aload 6 /* ws */
            ifnull 8
            aload 6 /* ws */
            arraylength
            dup
            istore 5 /* n */
        start local 5 // int n
         7: ifgt 9
        end local 5 // int n
         8: .line 1880
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinTask int top int top java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            new java.util.concurrent.RejectedExecutionException
            dup
            invokespecial java.util.concurrent.RejectedExecutionException.<init>:()V
            athrow
        start local 5 // int n
         9: .line 1881
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinTask int top int int java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            aload 6 /* ws */
            iload 5 /* n */
            iconst_1
            isub
            iload 2 /* r */
            iand
            bipush 126
            iand
            aaload
            dup
            astore 3 /* q */
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue q
        10: ifnonnull 31
        11: .line 1882
            iload 2 /* r */
            ldc 1073741824
            ior
            ldc -65538
            iand
            istore 7 /* qid */
        start local 7 // int qid
        12: .line 1883
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workerNamePrefix:Ljava/lang/String;
            astore 8 /* lock */
        start local 8 // java.lang.Object lock
        13: .line 1885
            sipush 8192
            anewarray java.util.concurrent.ForkJoinTask
        14: .line 1884
            astore 9 /* qa */
        start local 9 // java.util.concurrent.ForkJoinTask[] qa
        15: .line 1886
            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 3 /* q */
        16: .line 1887
            aload 3 /* q */
            aload 9 /* qa */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.array:[Ljava/util/concurrent/ForkJoinTask;
        17: .line 1888
            aload 3 /* q */
            iload 7 /* qid */
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.id:I
        18: .line 1889
            aload 3 /* q */
            ldc 1073741824
            putfield java.util.concurrent.ForkJoinPool$WorkQueue.source:I
        19: .line 1890
            aload 8 /* lock */
            ifnull 4
        20: .line 1891
            aload 8 /* lock */
            dup
            astore 10
            monitorenter
        21: .line 1893
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 11 /* vs */
        start local 11 // java.util.concurrent.ForkJoinPool$WorkQueue[] vs
        22: ifnull 27
            aload 11 /* vs */
            arraylength
            dup
            istore 13 /* vn */
        start local 13 // int vn
        23: ifle 27
        24: .line 1894
            aload 11 /* vs */
            iload 7 /* qid */
            iload 13 /* vn */
            iconst_1
            isub
            iand
            bipush 126
            iand
            dup
            istore 12 /* i */
        start local 12 // int i
        25: aaload
            ifnonnull 27
        26: .line 1895
            aload 11 /* vs */
            iload 12 /* i */
            aload 3 /* q */
            aastore
        end local 13 // int vn
        end local 12 // int i
        end local 11 // java.util.concurrent.ForkJoinPool$WorkQueue[] vs
        27: .line 1891
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinTask int java.util.concurrent.ForkJoinPool$WorkQueue int int java.util.concurrent.ForkJoinPool$WorkQueue[] int java.lang.Object java.util.concurrent.ForkJoinTask[] java.lang.Object
      StackMap stack:
            aload 10
            monitorexit
        28: goto 4
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: aload 10
            monitorexit
        30: athrow
        end local 9 // java.util.concurrent.ForkJoinTask[] qa
        end local 8 // java.lang.Object lock
        end local 7 // int qid
        31: .line 1899
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinTask int java.util.concurrent.ForkJoinPool$WorkQueue int int java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            aload 3 /* q */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.tryLockPhase:()Z
            ifne 33
        32: .line 1900
            iload 2 /* r */
            invokestatic java.util.concurrent.ThreadLocalRandom.advanceProbe:(I)I
            istore 2 /* r */
            goto 4
        33: .line 1902
      StackMap locals:
      StackMap stack:
            aload 3 /* q */
            aload 1 /* task */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.lockedPush:(Ljava/util/concurrent/ForkJoinTask;)Z
            ifeq 35
        34: .line 1903
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.signalWork:()V
        35: .line 1904
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 5 // int n
        end local 4 // int md
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue q
        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   36     0  this  Ljava/util/concurrent/ForkJoinPool;
            0   36     1  task  Ljava/util/concurrent/ForkJoinTask<*>;
            1   36     2     r  I
           10   36     3     q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            5   36     4    md  I
            7    8     5     n  I
            9   36     5     n  I
            6   36     6    ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           12   31     7   qid  I
           13   31     8  lock  Ljava/lang/Object;
           15   31     9    qa  [Ljava/util/concurrent/ForkJoinTask;
           22   27    11    vs  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           25   27    12     i  I
           23   27    13    vn  I
      Exception table:
        from    to  target  type
          21    28      29  any
          29    30      29  any
    Signature: (Ljava/util/concurrent/ForkJoinTask<*>;)V
    MethodParameters:
      Name  Flags
      task  

  private <T> java.util.concurrent.ForkJoinTask<T> externalSubmit(java.util.concurrent.ForkJoinTask<T>);
    descriptor: (Ljava/util/concurrent/ForkJoinTask;)Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinTask task
         0: .line 1914
            aload 1 /* task */
            ifnonnull 2
         1: .line 1915
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 1916
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            dup
            astore 2 /* t */
        start local 2 // java.lang.Thread t
         3: instanceof java.util.concurrent.ForkJoinWorkerThread
            ifeq 9
         4: .line 1917
            aload 2 /* t */
            checkcast java.util.concurrent.ForkJoinWorkerThread
            dup
            astore 3 /* w */
        start local 3 // java.util.concurrent.ForkJoinWorkerThread w
         5: getfield java.util.concurrent.ForkJoinWorkerThread.pool:Ljava/util/concurrent/ForkJoinPool;
            aload 0 /* this */
            if_acmpne 9
         6: .line 1918
            aload 3 /* w */
            getfield java.util.concurrent.ForkJoinWorkerThread.workQueue:Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 4 /* q */
        start local 4 // java.util.concurrent.ForkJoinPool$WorkQueue q
         7: ifnull 9
         8: .line 1919
            aload 4 /* q */
            aload 1 /* task */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.push:(Ljava/util/concurrent/ForkJoinTask;)V
            goto 10
        end local 4 // java.util.concurrent.ForkJoinPool$WorkQueue q
        end local 3 // java.util.concurrent.ForkJoinWorkerThread w
         9: .line 1921
      StackMap locals: java.lang.Thread
      StackMap stack:
            aload 0 /* this */
            aload 1 /* task */
            invokevirtual java.util.concurrent.ForkJoinPool.externalPush:(Ljava/util/concurrent/ForkJoinTask;)V
        10: .line 1922
      StackMap locals:
      StackMap stack:
            aload 1 /* task */
            areturn
        end local 2 // java.lang.Thread t
        end local 1 // java.util.concurrent.ForkJoinTask task
        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  task  Ljava/util/concurrent/ForkJoinTask<TT;>;
            3   11     2     t  Ljava/lang/Thread;
            5    9     3     w  Ljava/util/concurrent/ForkJoinWorkerThread;
            7    9     4     q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/concurrent/ForkJoinTask<TT;>;)Ljava/util/concurrent/ForkJoinTask<TT;>;
    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 1929
            getstatic java.util.concurrent.ForkJoinPool.common:Ljava/util/concurrent/ForkJoinPool;
            astore 0 /* p */
        start local 0 // java.util.concurrent.ForkJoinPool p
         1: .line 1930
            invokestatic java.util.concurrent.ThreadLocalRandom.getProbe:()I
            istore 1 /* r */
        start local 1 // int r
         2: .line 1932
            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 1933
            aload 2 /* ws */
            arraylength
            dup
            istore 3 /* n */
        start local 3 // int n
         5: ifle 7
         6: .line 1934
            aload 2 /* ws */
            iload 3 /* n */
            iconst_1
            isub
            iload 1 /* r */
            iand
            bipush 126
            iand
            aaload
            goto 8
        end local 3 // int n
        end local 2 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
      StackMap locals: java.util.concurrent.ForkJoinPool int
      StackMap stack:
         7: aconst_null
         8: .line 1932
      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     n  I

  final boolean tryExternalUnpush(java.util.concurrent.ForkJoinTask<?>);
    descriptor: (Ljava/util/concurrent/ForkJoinTask;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.ForkJoinTask task
         0: .line 1941
            invokestatic java.util.concurrent.ThreadLocalRandom.getProbe:()I
            istore 2 /* r */
        start local 2 // int r
         1: .line 1943
            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 9
         3: .line 1944
            aload 3 /* ws */
            arraylength
            dup
            istore 5 /* n */
        start local 5 // int n
         4: ifle 9
         5: .line 1945
            aload 3 /* ws */
            iload 5 /* n */
            iconst_1
            isub
            iload 2 /* r */
            iand
            bipush 126
            iand
            aaload
            dup
            astore 4 /* w */
        start local 4 // java.util.concurrent.ForkJoinPool$WorkQueue w
         6: ifnull 9
         7: .line 1946
            aload 4 /* w */
            aload 1 /* task */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.tryLockedUnpush:(Ljava/util/concurrent/ForkJoinTask;)Z
            ifeq 9
        end local 5 // int n
        end local 4 // java.util.concurrent.ForkJoinPool$WorkQueue w
         8: .line 1943
            iconst_1
            ireturn
      StackMap locals: int java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
         9: iconst_0
            ireturn
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        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   10     0  this  Ljava/util/concurrent/ForkJoinPool;
            0   10     1  task  Ljava/util/concurrent/ForkJoinTask<*>;
            1   10     2     r  I
            2   10     3    ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            6    8     4     w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            4    8     5     n  I
    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=7, 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 1953
            invokestatic java.util.concurrent.ThreadLocalRandom.getProbe:()I
            istore 3 /* r */
        start local 3 // int r
         1: .line 1955
            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 7
            aload 4 /* ws */
            arraylength
            dup
            istore 6 /* n */
        start local 6 // int n
         3: ifle 7
         4: .line 1956
            aload 4 /* ws */
            iload 6 /* n */
            iconst_1
            isub
            iload 3 /* r */
            iand
            bipush 126
            iand
            aaload
            dup
            astore 5 /* w */
        start local 5 // java.util.concurrent.ForkJoinPool$WorkQueue w
         5: ifnull 7
         6: .line 1957
            aload 5 /* w */
            aload 1 /* task */
            iload 2 /* maxTasks */
            iconst_1
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.helpCC:(Ljava/util/concurrent/CountedCompleter;IZ)I
            goto 8
        end local 6 // int n
        end local 5 // java.util.concurrent.ForkJoinPool$WorkQueue w
      StackMap locals: int java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
         7: iconst_0
         8: .line 1955
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 4 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 3 // int r
        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    9     0      this  Ljava/util/concurrent/ForkJoinPool;
            0    9     1      task  Ljava/util/concurrent/CountedCompleter<*>;
            0    9     2  maxTasks  I
            1    9     3         r  I
            2    9     4        ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            5    7     5         w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            3    7     6         n  I
    Signature: (Ljava/util/concurrent/CountedCompleter<*>;I)I
    MethodParameters:
          Name  Flags
      task      
      maxTasks  

  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=4, locals=4, 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 1972
            aload 1 /* w */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* w */
            aload 2 /* task */
            iload 3 /* maxTasks */
            iconst_0
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.helpCC:(Ljava/util/concurrent/CountedCompleter;IZ)I
      StackMap locals:
      StackMap stack: int
         2: ireturn
        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    3     0      this  Ljava/util/concurrent/ForkJoinPool;
            0    3     1         w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            0    3     2      task  Ljava/util/concurrent/CountedCompleter<*>;
            0    3     3  maxTasks  I
    Signature: (Ljava/util/concurrent/ForkJoinPool$WorkQueue;Ljava/util/concurrent/CountedCompleter<*>;I)I
    MethodParameters:
          Name  Flags
      w         
      task      
      maxTasks  

  static int getSurplusQueuedTaskCount();
    descriptor: ()I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=7, args_size=0
         0: .line 2019
            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 16
         2: .line 2020
            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: ifnull 16
         5: .line 2021
            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
         6: ifnull 16
         7: .line 2022
            aload 2 /* pool */
            getfield java.util.concurrent.ForkJoinPool.mode:I
            ldc 65535
            iand
            istore 4 /* p */
        start local 4 // int p
         8: .line 2023
            iload 4 /* p */
            aload 2 /* pool */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            bipush 48
            lshr
            l2i
            iadd
            istore 5 /* a */
        start local 5 // int a
         9: .line 2024
            aload 3 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            aload 3 /* q */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            isub
            istore 6 /* n */
        start local 6 // int n
        10: .line 2025
            iload 6 /* n */
            iload 5 /* a */
            iload 4 /* p */
            iconst_1
            iushr
            dup
            istore 4 /* p */
            if_icmple 11
            iconst_0
            goto 15
        11: .line 2026
      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 5 /* a */
            iload 4 /* p */
            iconst_1
            iushr
            dup
            istore 4 /* p */
            if_icmple 12
            iconst_1
            goto 15
        12: .line 2027
      StackMap locals:
      StackMap stack: int
            iload 5 /* a */
            iload 4 /* p */
            iconst_1
            iushr
            dup
            istore 4 /* p */
            if_icmple 13
            iconst_2
            goto 15
        13: .line 2028
      StackMap locals:
      StackMap stack: int
            iload 5 /* a */
            iload 4 /* p */
            iconst_1
            iushr
            dup
            istore 4 /* p */
            if_icmple 14
            iconst_4
            goto 15
        14: .line 2029
      StackMap locals:
      StackMap stack: int
            bipush 8
        15: .line 2025
      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 n
        end local 5 // int a
        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
        16: .line 2031
      StackMap locals: java.lang.Thread
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.Thread t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1   17     0     t  Ljava/lang/Thread;
            3   16     1    wt  Ljava/util/concurrent/ForkJoinWorkerThread;
            4   16     2  pool  Ljava/util/concurrent/ForkJoinPool;
            6   16     3     q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            8   16     4     p  I
            9   16     5     a  I
           10   16     6     n  I

  private boolean tryTerminate(boolean, boolean);
    descriptor: (ZZ)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=16, args_size=3
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // boolean now
        start local 2 // boolean enable
         0: .line 2047
            goto 4
        start local 3 // int md
         1: .line 2048
      StackMap locals: int
      StackMap stack:
            iload 2 /* enable */
            ifeq 2
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.common:Ljava/util/concurrent/ForkJoinPool;
            if_acmpne 3
         2: .line 2049
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         3: .line 2051
      StackMap locals:
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.MODE:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            iload 3 /* md */
            iload 3 /* md */
            ldc 262144
            ior
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/ForkJoinPool;II)V
        end local 3 // int md
         4: .line 2047
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.mode:I
            dup
            istore 3 /* md */
        start local 3 // int md
         5: ldc 262144
            iand
            ifeq 1
         6: .line 2054
            goto 41
         7: .line 2055
      StackMap locals: int
      StackMap stack:
            iload 1 /* now */
            ifne 39
         8: .line 2056
            lconst_0
            lstore 4 /* oldSum */
        start local 4 // long oldSum
         9: .line 2057
      StackMap locals: long
      StackMap stack:
            iconst_0
            istore 6 /* running */
        start local 6 // boolean running
        10: .line 2058
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            lstore 7 /* checkSum */
        start local 7 // long checkSum
        11: .line 2059
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            astore 9 /* ws */
        start local 9 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        12: .line 2060
            iload 3 /* md */
            ldc 65535
            iand
            lload 7 /* checkSum */
            bipush 48
            lshr
            l2i
            iadd
            ifle 14
        13: .line 2061
            iconst_1
            istore 6 /* running */
            goto 34
        14: .line 2062
      StackMap locals: int long java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            aload 9 /* ws */
            ifnull 34
        15: .line 2064
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        16: goto 33
        17: .line 2065
      StackMap locals: java.util.concurrent.ForkJoinPool int int int long int long java.util.concurrent.ForkJoinPool$WorkQueue[] top int
      StackMap stack:
            aload 9 /* ws */
            iload 11 /* i */
            aaload
            dup
            astore 10 /* w */
        start local 10 // java.util.concurrent.ForkJoinPool$WorkQueue w
        18: ifnull 32
        19: .line 2066
            aload 10 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.source:I
            istore 12 /* s */
        start local 12 // int s
        20: aload 10 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.phase:I
            istore 13 /* p */
        start local 13 // int p
        21: .line 2067
            aload 10 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.id:I
            istore 14 /* d */
        start local 14 // int d
        22: aload 10 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            istore 15 /* b */
        start local 15 // int b
        23: .line 2068
            iload 15 /* b */
            aload 10 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.top:I
            if_icmpne 25
        24: .line 2069
            iload 14 /* d */
            iconst_1
            iand
            iconst_1
            if_icmpne 27
            iload 12 /* s */
            ifge 25
            iload 13 /* p */
            iflt 27
        25: .line 2070
      StackMap locals: java.util.concurrent.ForkJoinPool int int int long int long java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue int int int int int
      StackMap stack:
            iconst_1
            istore 6 /* running */
        26: .line 2071
            goto 34
        27: .line 2073
      StackMap locals:
      StackMap stack:
            lload 7 /* checkSum */
            iload 12 /* s */
            i2l
            bipush 48
            lshl
            iload 13 /* p */
            i2l
            bipush 32
            lshl
            ladd
        28: .line 2074
            iload 15 /* b */
            i2l
            bipush 16
            lshl
        29: .line 2073
            ladd
        30: .line 2074
            iload 14 /* d */
            i2l
        31: .line 2073
            ladd
            ladd
            lstore 7 /* checkSum */
        end local 15 // int b
        end local 14 // int d
        end local 13 // int p
        end local 12 // int s
        32: .line 2064
      StackMap locals: java.util.concurrent.ForkJoinPool int int int long int long java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue int
      StackMap stack:
            iinc 11 /* i */ 1
        end local 10 // java.util.concurrent.ForkJoinPool$WorkQueue w
      StackMap locals: java.util.concurrent.ForkJoinPool int int int long int long java.util.concurrent.ForkJoinPool$WorkQueue[] top int
      StackMap stack:
        33: iload 11 /* i */
            aload 9 /* ws */
            arraylength
            if_icmplt 17
        end local 11 // int i
        34: .line 2078
      StackMap locals: java.util.concurrent.ForkJoinPool int int int long int long java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.mode:I
            dup
            istore 3 /* md */
            ldc -2147483648
            iand
            ifeq 36
        35: .line 2079
            goto 39
        36: .line 2080
      StackMap locals:
      StackMap stack:
            iload 6 /* running */
            ifeq 38
        37: .line 2081
            iconst_0
            ireturn
        38: .line 2082
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            aload 9 /* ws */
            if_acmpne 9
            lload 4 /* oldSum */
            lload 7 /* checkSum */
            dup2
            lstore 4 /* oldSum */
            lcmp
            ifne 9
        end local 9 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 7 // long checkSum
        end local 6 // boolean running
        end local 4 // long oldSum
        39: .line 2086
      StackMap locals: java.util.concurrent.ForkJoinPool int int int
      StackMap stack:
            iload 3 /* md */
            ldc -2147483648
            iand
            ifne 41
        40: .line 2087
            getstatic java.util.concurrent.ForkJoinPool.MODE:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            iload 3 /* md */
            iload 3 /* md */
            ldc -2147483648
            ior
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/ForkJoinPool;II)V
        41: .line 2054
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.mode:I
            dup
            istore 3 /* md */
            ldc -2147483648
            iand
            ifeq 7
        42: .line 2090
            goto 73
        43: .line 2091
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 4 /* oldSum */
        start local 4 // long oldSum
        44: .line 2093
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            lstore 8 /* checkSum */
        start local 8 // long checkSum
        45: .line 2094
            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
        46: ifnull 60
        47: .line 2095
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        48: goto 59
        49: .line 2096
      StackMap locals: java.util.concurrent.ForkJoinPool int int int long java.util.concurrent.ForkJoinPool$WorkQueue[] top long int
      StackMap stack:
            aload 6 /* ws */
            iload 10 /* i */
            aaload
            dup
            astore 7 /* w */
        start local 7 // java.util.concurrent.ForkJoinPool$WorkQueue w
        50: ifnull 58
        51: .line 2097
            aload 7 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.owner:Ljava/util/concurrent/ForkJoinWorkerThread;
            astore 11 /* wt */
        start local 11 // java.util.concurrent.ForkJoinWorkerThread wt
        52: .line 2098
            aload 7 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.cancelAll:()V
        53: .line 2099
            aload 11 /* wt */
            ifnull 57
        54: .line 2101
            aload 11 /* wt */
            invokevirtual java.util.concurrent.ForkJoinWorkerThread.interrupt:()V
        55: .line 2102
            goto 57
      StackMap locals: java.util.concurrent.ForkJoinPool int int int long java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue long int java.util.concurrent.ForkJoinWorkerThread
      StackMap stack: java.lang.Throwable
        56: pop
        57: .line 2105
      StackMap locals:
      StackMap stack:
            lload 8 /* checkSum */
            aload 7 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.phase:I
            i2l
            bipush 32
            lshl
            aload 7 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.base:I
            i2l
            ladd
            ladd
            lstore 8 /* checkSum */
        end local 11 // java.util.concurrent.ForkJoinWorkerThread wt
        58: .line 2095
      StackMap locals:
      StackMap stack:
            iinc 10 /* 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 long int
      StackMap stack:
        59: iload 10 /* i */
            aload 6 /* ws */
            arraylength
            if_icmplt 49
        end local 10 // int i
        60: .line 2109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.mode:I
            dup
            istore 3 /* md */
            ldc 524288
            iand
            ifne 62
        61: .line 2110
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            aload 6 /* ws */
            if_acmpne 44
            lload 4 /* oldSum */
            lload 8 /* checkSum */
            dup2
            lstore 4 /* oldSum */
            lcmp
            ifne 44
        end local 8 // long checkSum
        end local 6 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 4 // long oldSum
        62: .line 2113
      StackMap locals: java.util.concurrent.ForkJoinPool int int int
      StackMap stack:
            iload 3 /* md */
            ldc 524288
            iand
            ifeq 64
        63: .line 2114
            goto 74
        64: .line 2115
      StackMap locals:
      StackMap stack:
            iload 3 /* md */
            ldc 65535
            iand
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            bipush 32
            lushr
            l2i
            i2s
            iadd
            ifle 66
        65: .line 2116
            goto 74
        66: .line 2117
      StackMap locals:
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.MODE:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            iload 3 /* md */
            iload 3 /* md */
            ldc 524288
            ior
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/ForkJoinPool;II)Z
            ifeq 73
        67: .line 2118
            aload 0 /* this */
            dup
            astore 4
            monitorenter
        68: .line 2119
            aload 0 /* this */
            invokevirtual java.lang.Object.notifyAll:()V
        69: .line 2118
            aload 4
            monitorexit
        70: goto 74
      StackMap locals: java.util.concurrent.ForkJoinPool int int int java.util.concurrent.ForkJoinPool
      StackMap stack: java.lang.Throwable
        71: aload 4
            monitorexit
        72: athrow
        73: .line 2090
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.mode:I
            dup
            istore 3 /* md */
            ldc 524288
            iand
            ifeq 43
        74: .line 2124
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // int md
        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   75     0      this  Ljava/util/concurrent/ForkJoinPool;
            0   75     1       now  Z
            0   75     2    enable  Z
            1    4     3        md  I
            5   75     3        md  I
            9   39     4    oldSum  J
           10   39     6   running  Z
           11   39     7  checkSum  J
           12   39     9        ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           18   33    10         w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           16   34    11         i  I
           20   32    12         s  I
           21   32    13         p  I
           22   32    14         d  I
           23   32    15         b  I
           44   62     4    oldSum  J
           46   62     6        ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           50   59     7         w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           45   62     8  checkSum  J
           48   60    10         i  I
           52   58    11        wt  Ljava/util/concurrent/ForkJoinWorkerThread;
      Exception table:
        from    to  target  type
          54    55      56  Class java.lang.Throwable
          68    70      71  any
          71    72      71  any
    MethodParameters:
        Name  Flags
      now     
      enable  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=1, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2144
            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 2145
            getstatic java.util.concurrent.ForkJoinPool.defaultForkJoinWorkerThreadFactory:Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
            aconst_null
            iconst_0
         2: .line 2146
            iconst_0
            sipush 32767
            iconst_1
            aconst_null
            ldc 60000
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokespecial java.util.concurrent.ForkJoinPool.<init>:(ILjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;Ljava/lang/Thread$UncaughtExceptionHandler;ZIIILjava/util/function/Predicate;JLjava/util/concurrent/TimeUnit;)V
         3: .line 2147
            return
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/concurrent/ForkJoinPool;

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=2, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // int parallelism
         0: .line 2165
            aload 0 /* this */
            iload 1 /* parallelism */
            getstatic java.util.concurrent.ForkJoinPool.defaultForkJoinWorkerThreadFactory:Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
            aconst_null
            iconst_0
         1: .line 2166
            iconst_0
            sipush 32767
            iconst_1
            aconst_null
            ldc 60000
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokespecial java.util.concurrent.ForkJoinPool.<init>:(ILjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;Ljava/lang/Thread$UncaughtExceptionHandler;ZIIILjava/util/function/Predicate;JLjava/util/concurrent/TimeUnit;)V
         2: .line 2167
            return
        end local 1 // int parallelism
        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  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=12, 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 2200
            aload 0 /* this */
            iload 1 /* parallelism */
            aload 2 /* factory */
            aload 3 /* handler */
            iload 4 /* asyncMode */
         1: .line 2201
            iconst_0
            sipush 32767
            iconst_1
            aconst_null
            ldc 60000
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokespecial java.util.concurrent.ForkJoinPool.<init>:(ILjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;Ljava/lang/Thread$UncaughtExceptionHandler;ZIIILjava/util/function/Predicate;JLjava/util/concurrent/TimeUnit;)V
         2: .line 2202
            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    3     0         this  Ljava/util/concurrent/ForkJoinPool;
            0    3     1  parallelism  I
            0    3     2      factory  Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
            0    3     3      handler  Ljava/lang/Thread$UncaughtExceptionHandler;
            0    3     4    asyncMode  Z
    MethodParameters:
             Name  Flags
      parallelism  
      factory      
      handler      
      asyncMode    

  public void <init>(int, java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory, java.lang.Thread$UncaughtExceptionHandler, boolean, int, int, int, java.util.function.Predicate<? super java.util.concurrent.ForkJoinPool>, long, java.util.concurrent.TimeUnit);
    descriptor: (ILjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;Ljava/lang/Thread$UncaughtExceptionHandler;ZIIILjava/util/function/Predicate;JLjava/util/concurrent/TimeUnit;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=22, args_size=11
        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
        start local 5 // int corePoolSize
        start local 6 // int maximumPoolSize
        start local 7 // int minimumRunnable
        start local 8 // java.util.function.Predicate saturate
        start local 9 // long keepAliveTime
        start local 11 // java.util.concurrent.TimeUnit unit
         0: .line 2282
            aload 0 /* this */
            invokespecial java.util.concurrent.AbstractExecutorService.<init>:()V
         1: .line 2293
            iload 1 /* parallelism */
            ifle 3
            iload 1 /* parallelism */
            sipush 32767
            if_icmpgt 3
         2: .line 2294
            iload 6 /* maximumPoolSize */
            iload 1 /* parallelism */
            if_icmplt 3
            lload 9 /* keepAliveTime */
            lconst_0
            lcmp
            ifgt 4
         3: .line 2295
      StackMap locals: java.util.concurrent.ForkJoinPool int java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory java.lang.Thread$UncaughtExceptionHandler int int int int java.util.function.Predicate long java.util.concurrent.TimeUnit
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         4: .line 2296
      StackMap locals:
      StackMap stack:
            aload 2 /* factory */
            ifnonnull 6
         5: .line 2297
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         6: .line 2298
      StackMap locals:
      StackMap stack:
            aload 11 /* unit */
            lload 9 /* keepAliveTime */
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            ldc 20
            invokestatic java.lang.Math.max:(JJ)J
            lstore 12 /* ms */
        start local 12 // long ms
         7: .line 2300
            iload 5 /* corePoolSize */
            iload 1 /* parallelism */
            invokestatic java.lang.Math.max:(II)I
            sipush 32767
            invokestatic java.lang.Math.min:(II)I
            istore 14 /* corep */
        start local 14 // int corep
         8: .line 2301
            iload 14 /* corep */
            ineg
            i2l
            bipush 32
            lshl
            ldc 281470681743360
            land
         9: .line 2302
            iload 1 /* parallelism */
            ineg
            i2l
            bipush 48
            lshl
            ldc -281474976710656
            land
        10: .line 2301
            lor
            lstore 15 /* c */
        start local 15 // long c
        11: .line 2303
            iload 1 /* parallelism */
            iload 4 /* asyncMode */
            ifeq 12
            ldc 65536
            goto 13
      StackMap locals: java.util.concurrent.ForkJoinPool int java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory java.lang.Thread$UncaughtExceptionHandler int int int int java.util.function.Predicate long java.util.concurrent.TimeUnit long int long
      StackMap stack: int
        12: iconst_0
      StackMap locals: java.util.concurrent.ForkJoinPool int java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory java.lang.Thread$UncaughtExceptionHandler int int int int java.util.function.Predicate long java.util.concurrent.TimeUnit long int long
      StackMap stack: int int
        13: ior
            istore 17 /* m */
        start local 17 // int m
        14: .line 2304
            iload 6 /* maximumPoolSize */
            sipush 32767
            invokestatic java.lang.Math.min:(II)I
            iload 1 /* parallelism */
            isub
            istore 18 /* maxSpares */
        start local 18 // int maxSpares
        15: .line 2305
            iload 7 /* minimumRunnable */
            iconst_0
            invokestatic java.lang.Math.max:(II)I
            sipush 32767
            invokestatic java.lang.Math.min:(II)I
            istore 19 /* minAvail */
        start local 19 // int minAvail
        16: .line 2306
            iload 19 /* minAvail */
            iload 1 /* parallelism */
            isub
            ldc 65535
            iand
            iload 18 /* maxSpares */
            bipush 16
            ishl
            ior
            istore 20 /* b */
        start local 20 // int b
        17: .line 2307
            iload 1 /* parallelism */
            iconst_1
            if_icmple 18
            iload 1 /* parallelism */
            iconst_1
            isub
            goto 19
      StackMap locals: java.util.concurrent.ForkJoinPool int java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory java.lang.Thread$UncaughtExceptionHandler int int int int java.util.function.Predicate long java.util.concurrent.TimeUnit long int long int int int int
      StackMap stack:
        18: iconst_1
      StackMap locals:
      StackMap stack: int
        19: istore 21 /* n */
        start local 21 // int n
        20: .line 2308
            iload 21 /* n */
            iload 21 /* n */
            iconst_1
            iushr
            ior
            istore 21 /* n */
            iload 21 /* n */
            iload 21 /* n */
            iconst_2
            iushr
            ior
            istore 21 /* n */
            iload 21 /* n */
            iload 21 /* n */
            iconst_4
            iushr
            ior
            istore 21 /* n */
            iload 21 /* n */
            iload 21 /* n */
            bipush 8
            iushr
            ior
            istore 21 /* n */
            iload 21 /* n */
            iload 21 /* n */
            bipush 16
            iushr
            ior
            istore 21 /* n */
        21: .line 2309
            iload 21 /* n */
            iconst_1
            iadd
            iconst_1
            ishl
            istore 21 /* n */
        22: .line 2311
            aload 0 /* this */
            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;
            putfield java.util.concurrent.ForkJoinPool.workerNamePrefix:Ljava/lang/String;
        23: .line 2312
            aload 0 /* this */
            iload 21 /* n */
            anewarray java.util.concurrent.ForkJoinPool$WorkQueue
            putfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
        24: .line 2313
            aload 0 /* this */
            aload 2 /* factory */
            putfield java.util.concurrent.ForkJoinPool.factory:Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
        25: .line 2314
            aload 0 /* this */
            aload 3 /* handler */
            putfield java.util.concurrent.ForkJoinPool.ueh:Ljava/lang/Thread$UncaughtExceptionHandler;
        26: .line 2315
            aload 0 /* this */
            aload 8 /* saturate */
            putfield java.util.concurrent.ForkJoinPool.saturate:Ljava/util/function/Predicate;
        27: .line 2316
            aload 0 /* this */
            lload 12 /* ms */
            putfield java.util.concurrent.ForkJoinPool.keepAlive:J
        28: .line 2317
            aload 0 /* this */
            iload 20 /* b */
            putfield java.util.concurrent.ForkJoinPool.bounds:I
        29: .line 2318
            aload 0 /* this */
            iload 17 /* m */
            putfield java.util.concurrent.ForkJoinPool.mode:I
        30: .line 2319
            aload 0 /* this */
            lload 15 /* c */
            putfield java.util.concurrent.ForkJoinPool.ctl:J
        31: .line 2320
            invokestatic java.util.concurrent.ForkJoinPool.checkPermission:()V
        32: .line 2321
            return
        end local 21 // int n
        end local 20 // int b
        end local 19 // int minAvail
        end local 18 // int maxSpares
        end local 17 // int m
        end local 15 // long c
        end local 14 // int corep
        end local 12 // long ms
        end local 11 // java.util.concurrent.TimeUnit unit
        end local 9 // long keepAliveTime
        end local 8 // java.util.function.Predicate saturate
        end local 7 // int minimumRunnable
        end local 6 // int maximumPoolSize
        end local 5 // int corePoolSize
        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   33     0             this  Ljava/util/concurrent/ForkJoinPool;
            0   33     1      parallelism  I
            0   33     2          factory  Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
            0   33     3          handler  Ljava/lang/Thread$UncaughtExceptionHandler;
            0   33     4        asyncMode  Z
            0   33     5     corePoolSize  I
            0   33     6  maximumPoolSize  I
            0   33     7  minimumRunnable  I
            0   33     8         saturate  Ljava/util/function/Predicate<-Ljava/util/concurrent/ForkJoinPool;>;
            0   33     9    keepAliveTime  J
            0   33    11             unit  Ljava/util/concurrent/TimeUnit;
            7   33    12               ms  J
            8   33    14            corep  I
           11   33    15                c  J
           14   33    17                m  I
           15   33    18        maxSpares  I
           16   33    19         minAvail  I
           17   33    20                b  I
           20   33    21                n  I
    Signature: (ILjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;Ljava/lang/Thread$UncaughtExceptionHandler;ZIIILjava/util/function/Predicate<-Ljava/util/concurrent/ForkJoinPool;>;JLjava/util/concurrent/TimeUnit;)V
    MethodParameters:
                 Name  Flags
      parallelism      
      factory          
      handler          
      asyncMode        
      corePoolSize     
      maximumPoolSize  
      minimumRunnable  
      saturate         
      keepAliveTime    
      unit             

  private static java.lang.Object newInstanceFromSystemProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String property
         0: .line 2325
            aload 0 /* property */
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* className */
        start local 1 // java.lang.String className
         1: .line 2326
            aload 1 /* className */
            ifnonnull 3
         2: .line 2327
            aconst_null
            goto 5
         3: .line 2328
      StackMap locals: java.lang.String
      StackMap stack:
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            aload 1 /* className */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            iconst_0
            anewarray java.lang.Class
         4: .line 2329
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
         5: .line 2326
      StackMap locals:
      StackMap stack: java.lang.Object
            areturn
        end local 1 // java.lang.String className
        end local 0 // java.lang.String property
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0   property  Ljava/lang/String;
            1    6     1  className  Ljava/lang/String;
    Exceptions:
      throws java.lang.ReflectiveOperationException
    MethodParameters:
          Name  Flags
      property  

  private void <init>(byte);
    descriptor: (B)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // byte forCommonPoolOnly
         0: .line 2336
            aload 0 /* this */
            invokespecial java.util.concurrent.AbstractExecutorService.<init>:()V
         1: .line 2337
            iconst_m1
            istore 2 /* parallelism */
        start local 2 // int parallelism
         2: .line 2338
            aconst_null
            astore 3 /* fac */
        start local 3 // java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory fac
         3: .line 2339
            aconst_null
            astore 4 /* handler */
        start local 4 // java.lang.Thread$UncaughtExceptionHandler handler
         4: .line 2342
            ldc "java.util.concurrent.ForkJoinPool.common.parallelism"
         5: .line 2341
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* pp */
        start local 5 // java.lang.String pp
         6: .line 2343
            aload 5 /* pp */
            ifnull 8
         7: .line 2344
            aload 5 /* pp */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 2 /* parallelism */
         8: .line 2346
      StackMap locals: java.util.concurrent.ForkJoinPool int int java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory java.lang.Thread$UncaughtExceptionHandler java.lang.String
      StackMap stack:
            ldc "java.util.concurrent.ForkJoinPool.common.threadFactory"
         9: .line 2345
            invokestatic java.util.concurrent.ForkJoinPool.newInstanceFromSystemProperty:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory
            astore 3 /* fac */
        10: .line 2348
            ldc "java.util.concurrent.ForkJoinPool.common.exceptionHandler"
        11: .line 2347
            invokestatic java.util.concurrent.ForkJoinPool.newInstanceFromSystemProperty:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Thread$UncaughtExceptionHandler
            astore 4 /* handler */
        end local 5 // java.lang.String pp
        12: .line 2349
            goto 14
      StackMap locals: java.util.concurrent.ForkJoinPool int int java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory java.lang.Thread$UncaughtExceptionHandler
      StackMap stack: java.lang.Exception
        13: pop
        14: .line 2352
      StackMap locals:
      StackMap stack:
            aload 3 /* fac */
            ifnonnull 18
        15: .line 2353
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            ifnonnull 17
        16: .line 2354
            getstatic java.util.concurrent.ForkJoinPool.defaultForkJoinWorkerThreadFactory:Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
            astore 3 /* fac */
            goto 18
        17: .line 2356
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.ForkJoinPool$InnocuousForkJoinWorkerThreadFactory
            dup
            invokespecial java.util.concurrent.ForkJoinPool$InnocuousForkJoinWorkerThreadFactory.<init>:()V
            astore 3 /* fac */
        18: .line 2358
      StackMap locals:
      StackMap stack:
            iload 2 /* parallelism */
            ifge 21
        19: .line 2359
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.availableProcessors:()I
            iconst_1
            isub
            dup
            istore 2 /* parallelism */
            ifgt 21
        20: .line 2360
            iconst_1
            istore 2 /* parallelism */
        21: .line 2361
      StackMap locals:
      StackMap stack:
            iload 2 /* parallelism */
            sipush 32767
            if_icmple 23
        22: .line 2362
            sipush 32767
            istore 2 /* parallelism */
        23: .line 2364
      StackMap locals:
      StackMap stack:
            iload 2 /* parallelism */
            ineg
            i2l
            bipush 32
            lshl
            ldc 281470681743360
            land
        24: .line 2365
            iload 2 /* parallelism */
            ineg
            i2l
            bipush 48
            lshl
            ldc -281474976710656
            land
        25: .line 2364
            lor
            lstore 5 /* c */
        start local 5 // long c
        26: .line 2366
            iconst_1
            iload 2 /* parallelism */
            isub
            ldc 65535
            iand
            getstatic java.util.concurrent.ForkJoinPool.COMMON_MAX_SPARES:I
            bipush 16
            ishl
            ior
            istore 7 /* b */
        start local 7 // int b
        27: .line 2367
            iload 2 /* parallelism */
            iconst_1
            if_icmple 28
            iload 2 /* parallelism */
            iconst_1
            isub
            goto 29
      StackMap locals: long int
      StackMap stack:
        28: iconst_1
      StackMap locals:
      StackMap stack: int
        29: istore 8 /* n */
        start local 8 // int n
        30: .line 2368
            iload 8 /* n */
            iload 8 /* n */
            iconst_1
            iushr
            ior
            istore 8 /* n */
            iload 8 /* n */
            iload 8 /* n */
            iconst_2
            iushr
            ior
            istore 8 /* n */
            iload 8 /* n */
            iload 8 /* n */
            iconst_4
            iushr
            ior
            istore 8 /* n */
            iload 8 /* n */
            iload 8 /* n */
            bipush 8
            iushr
            ior
            istore 8 /* n */
            iload 8 /* n */
            iload 8 /* n */
            bipush 16
            iushr
            ior
            istore 8 /* n */
        31: .line 2369
            iload 8 /* n */
            iconst_1
            iadd
            iconst_1
            ishl
            istore 8 /* n */
        32: .line 2371
            aload 0 /* this */
            ldc "ForkJoinPool.commonPool-worker-"
            putfield java.util.concurrent.ForkJoinPool.workerNamePrefix:Ljava/lang/String;
        33: .line 2372
            aload 0 /* this */
            iload 8 /* n */
            anewarray java.util.concurrent.ForkJoinPool$WorkQueue
            putfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
        34: .line 2373
            aload 0 /* this */
            aload 3 /* fac */
            putfield java.util.concurrent.ForkJoinPool.factory:Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
        35: .line 2374
            aload 0 /* this */
            aload 4 /* handler */
            putfield java.util.concurrent.ForkJoinPool.ueh:Ljava/lang/Thread$UncaughtExceptionHandler;
        36: .line 2375
            aload 0 /* this */
            aconst_null
            putfield java.util.concurrent.ForkJoinPool.saturate:Ljava/util/function/Predicate;
        37: .line 2376
            aload 0 /* this */
            ldc 60000
            putfield java.util.concurrent.ForkJoinPool.keepAlive:J
        38: .line 2377
            aload 0 /* this */
            iload 7 /* b */
            putfield java.util.concurrent.ForkJoinPool.bounds:I
        39: .line 2378
            aload 0 /* this */
            iload 2 /* parallelism */
            putfield java.util.concurrent.ForkJoinPool.mode:I
        40: .line 2379
            aload 0 /* this */
            lload 5 /* c */
            putfield java.util.concurrent.ForkJoinPool.ctl:J
        41: .line 2380
            return
        end local 8 // int n
        end local 7 // int b
        end local 5 // long c
        end local 4 // java.lang.Thread$UncaughtExceptionHandler handler
        end local 3 // java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory fac
        end local 2 // int parallelism
        end local 1 // byte forCommonPoolOnly
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   42     0               this  Ljava/util/concurrent/ForkJoinPool;
            0   42     1  forCommonPoolOnly  B
            2   42     2        parallelism  I
            3   42     3                fac  Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;
            4   42     4            handler  Ljava/lang/Thread$UncaughtExceptionHandler;
            6   12     5                 pp  Ljava/lang/String;
           26   42     5                  c  J
           27   42     7                  b  I
           30   42     8                  n  I
      Exception table:
        from    to  target  type
           4    12      13  Class java.lang.Exception
    MethodParameters:
                   Name  Flags
      forCommonPoolOnly  

  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 2397
            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 2420
            aload 1 /* task */
            ifnonnull 2
         1: .line 2421
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 2422
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* task */
            invokevirtual java.util.concurrent.ForkJoinPool.externalSubmit:(Ljava/util/concurrent/ForkJoinTask;)Ljava/util/concurrent/ForkJoinTask;
            pop
         3: .line 2423
            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 2435
            aload 0 /* this */
            aload 1 /* task */
            invokevirtual java.util.concurrent.ForkJoinPool.externalSubmit:(Ljava/util/concurrent/ForkJoinTask;)Ljava/util/concurrent/ForkJoinTask;
            pop
         1: .line 2436
            return
        end local 1 // java.util.concurrent.ForkJoinTask task
        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  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 2446
            aload 1 /* task */
            ifnonnull 2
         1: .line 2447
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 2449
      StackMap locals:
      StackMap stack:
            aload 1 /* task */
            instanceof java.util.concurrent.ForkJoinTask
            ifeq 5
         3: .line 2450
            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 2452
      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 2453
      StackMap locals: java.util.concurrent.ForkJoinTask
      StackMap stack:
            aload 0 /* this */
            aload 2 /* job */
            invokevirtual java.util.concurrent.ForkJoinPool.externalSubmit:(Ljava/util/concurrent/ForkJoinTask;)Ljava/util/concurrent/ForkJoinTask;
            pop
         7: .line 2454
            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 2467
            aload 0 /* this */
            aload 1 /* task */
            invokevirtual java.util.concurrent.ForkJoinPool.externalSubmit:(Ljava/util/concurrent/ForkJoinTask;)Ljava/util/concurrent/ForkJoinTask;
            areturn
        end local 1 // java.util.concurrent.ForkJoinTask task
        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  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=4, locals=2, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.concurrent.Callable task
         0: .line 2476
            aload 0 /* this */
            new java.util.concurrent.ForkJoinTask$AdaptedCallable
            dup
            aload 1 /* task */
            invokespecial java.util.concurrent.ForkJoinTask$AdaptedCallable.<init>:(Ljava/util/concurrent/Callable;)V
            invokevirtual java.util.concurrent.ForkJoinPool.externalSubmit:(Ljava/util/concurrent/ForkJoinTask;)Ljava/util/concurrent/ForkJoinTask;
            areturn
        end local 1 // java.util.concurrent.Callable task
        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  task  Ljava/util/concurrent/Callable<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=5, locals=3, 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 2485
            aload 0 /* this */
            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
            invokevirtual java.util.concurrent.ForkJoinPool.externalSubmit:(Ljava/util/concurrent/ForkJoinTask;)Ljava/util/concurrent/ForkJoinTask;
            areturn
        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    1     0    this  Ljava/util/concurrent/ForkJoinPool;
            0    1     1    task  Ljava/lang/Runnable;
            0    1     2  result  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=4, locals=2, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.lang.Runnable task
         0: .line 2495
            aload 1 /* task */
            ifnonnull 2
         1: .line 2496
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 2497
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* task */
            instanceof java.util.concurrent.ForkJoinTask
            ifeq 4
         3: .line 2498
            aload 1 /* task */
            checkcast java.util.concurrent.ForkJoinTask
            goto 5
         4: .line 2499
      StackMap locals:
      StackMap stack: java.util.concurrent.ForkJoinPool
            new java.util.concurrent.ForkJoinTask$AdaptedRunnableAction
            dup
            aload 1 /* task */
            invokespecial java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.<init>:(Ljava/lang/Runnable;)V
         5: .line 2497
      StackMap locals: java.util.concurrent.ForkJoinPool java.lang.Runnable
      StackMap stack: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinTask
            invokevirtual java.util.concurrent.ForkJoinPool.externalSubmit:(Ljava/util/concurrent/ForkJoinTask;)Ljava/util/concurrent/ForkJoinTask;
            areturn
        end local 1 // java.lang.Runnable task
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/util/concurrent/ForkJoinPool;
            0    6     1  task  Ljava/lang/Runnable;
    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=6, args_size=2
        start local 0 // java.util.concurrent.ForkJoinPool this
        start local 1 // java.util.Collection tasks
         0: .line 2510
            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 2513
            aload 1 /* tasks */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.Collection java.util.ArrayList top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.concurrent.Callable
            astore 3 /* t */
        start local 3 // java.util.concurrent.Callable t
         3: .line 2514
            new java.util.concurrent.ForkJoinTask$AdaptedCallable
            dup
            aload 3 /* t */
            invokespecial java.util.concurrent.ForkJoinTask$AdaptedCallable.<init>:(Ljava/util/concurrent/Callable;)V
            astore 5 /* f */
        start local 5 // java.util.concurrent.ForkJoinTask f
         4: .line 2515
            aload 2 /* futures */
            aload 5 /* f */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 2516
            aload 0 /* this */
            aload 5 /* f */
            invokevirtual java.util.concurrent.ForkJoinPool.externalSubmit:(Ljava/util/concurrent/ForkJoinTask;)Ljava/util/concurrent/ForkJoinTask;
            pop
        end local 5 // java.util.concurrent.ForkJoinTask f
        end local 3 // java.util.concurrent.Callable t
         6: .line 2513
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 2518
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: aload 2 /* futures */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* size */
        start local 4 // int size
         9: goto 12
        10: .line 2519
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.Collection java.util.ArrayList int int
      StackMap stack:
            aload 2 /* futures */
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.util.concurrent.ForkJoinTask
            invokevirtual java.util.concurrent.ForkJoinTask.quietlyJoin:()V
        11: .line 2518
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 4 /* size */
            if_icmplt 10
        end local 4 // int size
        end local 3 // int i
        13: .line 2520
            aload 2 /* futures */
        14: areturn
        15: .line 2521
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.Collection java.util.ArrayList
      StackMap stack: java.lang.Throwable
            astore 3 /* t */
        start local 3 // java.lang.Throwable t
        16: .line 2522
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        17: aload 2 /* futures */
            invokevirtual java.util.ArrayList.size:()I
            istore 5 /* size */
        start local 5 // int size
        18: goto 21
        19: .line 2523
      StackMap locals: java.lang.Throwable int int
      StackMap stack:
            aload 2 /* futures */
            iload 4 /* 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
        20: .line 2522
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 4 /* i */
            iload 5 /* size */
            if_icmplt 19
        end local 5 // int size
        end local 4 // int i
        22: .line 2524
            aload 3 /* t */
            athrow
        end local 3 // java.lang.Throwable t
        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   23     0     this  Ljava/util/concurrent/ForkJoinPool;
            0   23     1    tasks  Ljava/util/Collection<+Ljava/util/concurrent/Callable<TT;>;>;
            1   23     2  futures  Ljava/util/ArrayList<Ljava/util/concurrent/Future<TT;>;>;
            3    6     3        t  Ljava/util/concurrent/Callable<TT;>;
            4    6     5        f  Ljava/util/concurrent/ForkJoinTask<TT;>;
            8   13     3        i  I
            9   13     4     size  I
           16   23     3        t  Ljava/lang/Throwable;
           17   22     4        i  I
           18   22     5     size  I
      Exception table:
        from    to  target  type
           1    14      15  Class java.lang.Throwable
    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 2534
            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 2544
            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 2553
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.mode:I
            ldc 65535
            iand
            istore 1 /* par */
        start local 1 // int par
         1: .line 2554
            iload 1 /* par */
            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 2564
            getstatic java.util.concurrent.ForkJoinPool.COMMON_PARALLELISM: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 2576
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.mode: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 2586
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.mode: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 2599
            invokestatic java.lang.invoke.VarHandle.acquireFence:()V
         1: .line 2600
            iconst_0
            istore 3 /* rc */
        start local 3 // int rc
         2: .line 2601
            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
         3: ifnull 11
         4: .line 2602
            iconst_1
            istore 4 /* i */
        start local 4 // int i
         5: goto 10
         6: .line 2603
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue[] top int int
      StackMap stack:
            aload 1 /* ws */
            iload 4 /* i */
            aaload
            dup
            astore 2 /* w */
        start local 2 // java.util.concurrent.ForkJoinPool$WorkQueue w
         7: ifnull 9
            aload 2 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.isApparentlyUnblocked:()Z
            ifeq 9
         8: .line 2604
            iinc 3 /* rc */ 1
         9: .line 2602
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue int 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 int int
      StackMap stack:
        10: iload 4 /* i */
            aload 1 /* ws */
            arraylength
            if_icmplt 6
        end local 4 // int i
        11: .line 2607
      StackMap locals:
      StackMap stack:
            iload 3 /* rc */
            ireturn
        end local 3 // int rc
        end local 1 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljava/util/concurrent/ForkJoinPool;
            3   12     1    ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            7   10     2     w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            2   12     3    rc  I
            5   11     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 2618
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.mode: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 2619
            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=10, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2635
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            lstore 1 /* c */
        start local 1 // long c
         1: .line 2636
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.mode:I
            istore 3 /* md */
        start local 3 // int md
         2: iload 3 /* md */
            ldc 65535
            iand
            istore 4 /* pc */
        start local 4 // int pc
         3: .line 2637
            iload 4 /* pc */
            lload 1 /* c */
            bipush 32
            lushr
            l2i
            i2s
            iadd
            istore 5 /* tc */
        start local 5 // int tc
         4: .line 2638
            iload 4 /* pc */
            lload 1 /* c */
            bipush 48
            lshr
            l2i
            iadd
            istore 6 /* rc */
        start local 6 // int rc
         5: .line 2639
            iload 3 /* md */
            ldc -2146959360
            iand
            ifeq 7
         6: .line 2640
            iconst_1
            ireturn
         7: .line 2641
      StackMap locals: java.util.concurrent.ForkJoinPool long int int int int
      StackMap stack:
            iload 6 /* rc */
            ifle 9
         8: .line 2642
            iconst_0
            ireturn
         9: .line 2645
      StackMap locals:
      StackMap stack:
            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
        10: ifnull 20
        11: .line 2646
            iconst_1
            istore 9 /* i */
        start local 9 // int i
        12: goto 19
        13: .line 2647
      StackMap locals: java.util.concurrent.ForkJoinPool long int int int int java.util.concurrent.ForkJoinPool$WorkQueue[] top int
      StackMap stack:
            aload 7 /* ws */
            iload 9 /* i */
            aaload
            dup
            astore 8 /* v */
        start local 8 // java.util.concurrent.ForkJoinPool$WorkQueue v
        14: ifnull 18
        15: .line 2648
            aload 8 /* v */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.source:I
            ifle 17
        16: .line 2649
            iconst_0
            ireturn
        17: .line 2650
      StackMap locals: java.util.concurrent.ForkJoinPool long int int int int java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue int
      StackMap stack:
            iinc 5 /* tc */ -1
        18: .line 2646
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 2
        end local 8 // java.util.concurrent.ForkJoinPool$WorkQueue v
      StackMap locals: java.util.concurrent.ForkJoinPool long int int int int java.util.concurrent.ForkJoinPool$WorkQueue[] top int
      StackMap stack:
        19: iload 9 /* i */
            aload 7 /* ws */
            arraylength
            if_icmplt 13
        end local 9 // int i
        20: .line 2654
      StackMap locals: java.util.concurrent.ForkJoinPool long int int int int java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            iload 5 /* tc */
            ifne 0
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            lload 1 /* c */
            lcmp
            ifne 0
        21: .line 2655
            iconst_1
            ireturn
        end local 7 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 6 // int rc
        end local 5 // int tc
        end local 4 // int pc
        end local 3 // int md
        end local 1 // long c
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Ljava/util/concurrent/ForkJoinPool;
            1   22     1     c  J
            2   22     3    md  I
            3   22     4    pc  I
            4   22     5    tc  I
            5   22     6    rc  I
           10   22     7    ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           14   19     8     v  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           12   20     9     i  I

  public long getStealCount();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2672
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.stealCount:J
            lstore 1 /* count */
        start local 1 // long count
         1: .line 2674
            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 2675
            iconst_1
            istore 5 /* i */
        start local 5 // int i
         4: goto 9
         5: .line 2676
      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 2677
            lload 1 /* count */
            aload 4 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.nsteals:I
            i2l
            ldc 4294967295
            land
            ladd
            lstore 1 /* count */
         8: .line 2675
      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 2680
      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 long getQueuedTaskCount();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2695
            invokestatic java.lang.invoke.VarHandle.acquireFence:()V
         1: .line 2696
            iconst_0
            istore 3 /* count */
        start local 3 // int count
         2: .line 2697
            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
         3: ifnull 11
         4: .line 2698
            iconst_1
            istore 4 /* i */
        start local 4 // int i
         5: goto 10
         6: .line 2699
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue[] top int int
      StackMap stack:
            aload 1 /* ws */
            iload 4 /* i */
            aaload
            dup
            astore 2 /* w */
        start local 2 // java.util.concurrent.ForkJoinPool$WorkQueue w
         7: ifnull 9
         8: .line 2700
            iload 3 /* count */
            aload 2 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.queueSize:()I
            iadd
            istore 3 /* count */
         9: .line 2698
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue int 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 int int
      StackMap stack:
        10: iload 4 /* i */
            aload 1 /* ws */
            arraylength
            if_icmplt 6
        end local 4 // int i
        11: .line 2703
      StackMap locals:
      StackMap stack:
            iload 3 /* count */
            i2l
            lreturn
        end local 3 // int count
        end local 1 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Ljava/util/concurrent/ForkJoinPool;
            3   12     1     ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            7   10     2      w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            2   12     3  count  I
            5   11     4      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 2715
            invokestatic java.lang.invoke.VarHandle.acquireFence:()V
         1: .line 2716
            iconst_0
            istore 3 /* count */
        start local 3 // int count
         2: .line 2717
            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
         3: ifnull 11
         4: .line 2718
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 10
         6: .line 2719
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue[] top int int
      StackMap stack:
            aload 1 /* ws */
            iload 4 /* i */
            aaload
            dup
            astore 2 /* w */
        start local 2 // java.util.concurrent.ForkJoinPool$WorkQueue w
         7: ifnull 9
         8: .line 2720
            iload 3 /* count */
            aload 2 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.queueSize:()I
            iadd
            istore 3 /* count */
         9: .line 2718
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue int 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 int int
      StackMap stack:
        10: iload 4 /* i */
            aload 1 /* ws */
            arraylength
            if_icmplt 6
        end local 4 // int i
        11: .line 2723
      StackMap locals:
      StackMap stack:
            iload 3 /* count */
            ireturn
        end local 3 // int count
        end local 1 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Ljava/util/concurrent/ForkJoinPool;
            3   12     1     ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            7   10     2      w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            2   12     3  count  I
            5   11     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 2734
            invokestatic java.lang.invoke.VarHandle.acquireFence:()V
         1: .line 2735
            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 10
         3: .line 2736
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 2737
      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
         6: ifnull 8
            aload 2 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.isEmpty:()Z
            ifne 8
         7: .line 2738
            iconst_1
            ireturn
         8: .line 2736
      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:
         9: iload 3 /* i */
            aload 1 /* ws */
            arraylength
            if_icmplt 5
        end local 3 // int i
        10: .line 2741
      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   11     0  this  Ljava/util/concurrent/ForkJoinPool;
            2   11     1    ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            6    9     2     w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            4   10     3     i  I

  protected java.util.concurrent.ForkJoinTask<?> pollSubmission();
    descriptor: ()Ljava/util/concurrent/ForkJoinTask;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2752
            aload 0 /* this */
            iconst_1
            invokevirtual java.util.concurrent.ForkJoinPool.pollScan:(Z)Ljava/util/concurrent/ForkJoinTask;
            areturn
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/concurrent/ForkJoinPool;
    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 2774
            invokestatic java.lang.invoke.VarHandle.acquireFence:()V
         1: .line 2775
            iconst_0
            istore 5 /* count */
        start local 5 // int count
         2: .line 2776
            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 15
         4: .line 2777
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 14
         6: .line 2778
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.Collection java.util.concurrent.ForkJoinPool$WorkQueue[] top top int int
      StackMap stack:
            aload 2 /* ws */
            iload 6 /* i */
            aaload
            dup
            astore 3 /* w */
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue w
         7: ifnull 13
         8: .line 2779
            goto 11
        start local 4 // java.util.concurrent.ForkJoinTask t
         9: .line 2780
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.Collection java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinTask int int
      StackMap stack:
            aload 1 /* c */
            aload 4 /* t */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        10: .line 2781
            iinc 5 /* count */ 1
        end local 4 // java.util.concurrent.ForkJoinTask t
        11: .line 2779
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.Collection java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue top int int
      StackMap stack:
            aload 3 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.poll:()Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 4 /* t */
        start local 4 // java.util.concurrent.ForkJoinTask t
        12: ifnonnull 9
        end local 4 // java.util.concurrent.ForkJoinTask t
        13: .line 2777
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue w
      StackMap locals: java.util.concurrent.ForkJoinPool java.util.Collection java.util.concurrent.ForkJoinPool$WorkQueue[] top top int int
      StackMap stack:
        14: iload 6 /* i */
            aload 2 /* ws */
            arraylength
            if_icmplt 6
        end local 6 // int i
        15: .line 2786
      StackMap locals:
      StackMap stack:
            iload 5 /* count */
            ireturn
        end local 5 // int count
        end local 2 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 1 // java.util.Collection c
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0   this  Ljava/util/concurrent/ForkJoinPool;
            0   16     1      c  Ljava/util/Collection<-Ljava/util/concurrent/ForkJoinTask<*>;>;
            3   16     2     ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            7   14     3      w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            9   11     4      t  Ljava/util/concurrent/ForkJoinTask<*>;
           12   13     4      t  Ljava/util/concurrent/ForkJoinTask<*>;
            2   16     5  count  I
            5   15     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=6, locals=17, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool this
         0: .line 2798
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.mode:I
            istore 1 /* md */
        start local 1 // int md
         1: .line 2799
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.ctl:J
            lstore 2 /* c */
        start local 2 // long c
         2: .line 2800
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.stealCount:J
            lstore 4 /* st */
        start local 4 // long st
         3: .line 2801
            lconst_0
            lstore 6 /* qt */
        start local 6 // long qt
         4: lconst_0
            lstore 8 /* qs */
        start local 8 // long qs
         5: iconst_0
            istore 10 /* rc */
        start local 10 // int rc
         6: .line 2803
            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
         7: ifnull 21
         8: .line 2804
            iconst_0
            istore 13 /* i */
        start local 13 // int i
         9: goto 20
        10: .line 2805
      StackMap locals: java.util.concurrent.ForkJoinPool int long long long long int 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
        11: ifnull 19
        12: .line 2806
            aload 12 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.queueSize:()I
            istore 14 /* size */
        start local 14 // int size
        13: .line 2807
            iload 13 /* i */
            iconst_1
            iand
            ifne 15
        14: .line 2808
            lload 8 /* qs */
            iload 14 /* size */
            i2l
            ladd
            lstore 8 /* qs */
            goto 19
        15: .line 2810
      StackMap locals: java.util.concurrent.ForkJoinPool int long long long long int java.util.concurrent.ForkJoinPool$WorkQueue[] java.util.concurrent.ForkJoinPool$WorkQueue int int
      StackMap stack:
            lload 6 /* qt */
            iload 14 /* size */
            i2l
            ladd
            lstore 6 /* qt */
        16: .line 2811
            lload 4 /* st */
            aload 12 /* w */
            getfield java.util.concurrent.ForkJoinPool$WorkQueue.nsteals:I
            i2l
            ldc 4294967295
            land
            ladd
            lstore 4 /* st */
        17: .line 2812
            aload 12 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.isApparentlyUnblocked:()Z
            ifeq 19
        18: .line 2813
            iinc 10 /* rc */ 1
        end local 14 // int size
        19: .line 2804
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
        end local 12 // java.util.concurrent.ForkJoinPool$WorkQueue w
      StackMap locals: java.util.concurrent.ForkJoinPool int long long long long int java.util.concurrent.ForkJoinPool$WorkQueue[] top int
      StackMap stack:
        20: iload 13 /* i */
            aload 11 /* ws */
            arraylength
            if_icmplt 10
        end local 13 // int i
        21: .line 2819
      StackMap locals: java.util.concurrent.ForkJoinPool int long long long long int java.util.concurrent.ForkJoinPool$WorkQueue[]
      StackMap stack:
            iload 1 /* md */
            ldc 65535
            iand
            istore 13 /* pc */
        start local 13 // int pc
        22: .line 2820
            iload 13 /* pc */
            lload 2 /* c */
            bipush 32
            lushr
            l2i
            i2s
            iadd
            istore 14 /* tc */
        start local 14 // int tc
        23: .line 2821
            iload 13 /* pc */
            lload 2 /* c */
            bipush 48
            lshr
            l2i
            iadd
            istore 15 /* ac */
        start local 15 // int ac
        24: .line 2822
            iload 15 /* ac */
            ifge 26
        25: .line 2823
            iconst_0
            istore 15 /* ac */
        26: .line 2824
      StackMap locals: java.util.concurrent.ForkJoinPool int long long long long int java.util.concurrent.ForkJoinPool$WorkQueue[] top int int int
      StackMap stack:
            iload 1 /* md */
            ldc 524288
            iand
            ifeq 27
            ldc "Terminated"
            goto 30
        27: .line 2825
      StackMap locals:
      StackMap stack:
            iload 1 /* md */
            ldc -2147483648
            iand
            ifeq 28
            ldc "Terminating"
            goto 30
        28: .line 2826
      StackMap locals:
      StackMap stack:
            iload 1 /* md */
            ldc 262144
            iand
            ifeq 29
            ldc "Shutting down"
            goto 30
        29: .line 2827
      StackMap locals:
      StackMap stack:
            ldc "Running"
        30: .line 2824
      StackMap locals:
      StackMap stack: java.lang.String
            astore 16 /* level */
        start local 16 // java.lang.String level
        31: .line 2828
            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
        32: .line 2829
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 16 /* level */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        33: .line 2830
            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;
        34: .line 2831
            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;
        35: .line 2832
            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;
        36: .line 2833
            ldc ", running = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 10 /* rc */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        37: .line 2834
            ldc ", steals = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 4 /* st */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        38: .line 2835
            ldc ", tasks = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 6 /* qt */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        39: .line 2836
            ldc ", submissions = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 8 /* qs */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        40: .line 2837
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        41: .line 2828
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 16 // java.lang.String level
        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 10 // int rc
        end local 8 // long qs
        end local 6 // long qt
        end local 4 // long st
        end local 2 // long c
        end local 1 // int md
        end local 0 // java.util.concurrent.ForkJoinPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   42     0   this  Ljava/util/concurrent/ForkJoinPool;
            1   42     1     md  I
            2   42     2      c  J
            3   42     4     st  J
            4   42     6     qt  J
            5   42     8     qs  J
            6   42    10     rc  I
            7   42    11     ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           11   20    12      w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            9   21    13      i  I
           13   19    14   size  I
           22   42    13     pc  I
           23   42    14     tc  I
           24   42    15     ac  I
           31   42    16  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 2855
            invokestatic java.util.concurrent.ForkJoinPool.checkPermission:()V
         1: .line 2856
            aload 0 /* this */
            iconst_0
            iconst_1
            invokevirtual java.util.concurrent.ForkJoinPool.tryTerminate:(ZZ)Z
            pop
         2: .line 2857
            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 2878
            invokestatic java.util.concurrent.ForkJoinPool.checkPermission:()V
         1: .line 2879
            aload 0 /* this */
            iconst_1
            iconst_1
            invokevirtual java.util.concurrent.ForkJoinPool.tryTerminate:(ZZ)Z
            pop
         2: .line 2880
            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 2889
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.mode:I
            ldc 524288
            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 2906
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.mode:I
            istore 1 /* md */
        start local 1 // int md
         1: .line 2907
            iload 1 /* md */
            ldc -2147483648
            iand
            ifeq 2
            iload 1 /* md */
            ldc 524288
            iand
            ifne 2
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // int md
        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    md  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 2916
            aload 0 /* this */
            getfield java.util.concurrent.ForkJoinPool.mode:I
            ldc 262144
            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 2935
            invokestatic java.lang.Thread.interrupted:()Z
            ifeq 2
         1: .line 2936
            new java.lang.InterruptedException
            dup
            invokespecial java.lang.InterruptedException.<init>:()V
            athrow
         2: .line 2937
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic java.util.concurrent.ForkJoinPool.common:Ljava/util/concurrent/ForkJoinPool;
            if_acmpne 5
         3: .line 2938
            aload 0 /* this */
            lload 1 /* timeout */
            aload 3 /* unit */
            invokevirtual java.util.concurrent.ForkJoinPool.awaitQuiescence:(JLjava/util/concurrent/TimeUnit;)Z
            pop
         4: .line 2939
            iconst_0
            ireturn
         5: .line 2941
      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 2942
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.isTerminated:()Z
            ifeq 8
         7: .line 2943
            iconst_1
            ireturn
         8: .line 2944
      StackMap locals: long
      StackMap stack:
            lload 4 /* nanos */
            lconst_0
            lcmp
            ifgt 10
         9: .line 2945
            iconst_0
            ireturn
        10: .line 2946
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.nanoTime:()J
            lload 4 /* nanos */
            ladd
            lstore 6 /* deadline */
        start local 6 // long deadline
        11: .line 2947
            aload 0 /* this */
            dup
            astore 8
            monitorenter
        12: .line 2949
      StackMap locals: long java.util.concurrent.ForkJoinPool
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.isTerminated:()Z
            ifeq 15
        13: .line 2950
            aload 8
            monitorexit
        14: iconst_1
            ireturn
        15: .line 2951
      StackMap locals:
      StackMap stack:
            lload 4 /* nanos */
            lconst_0
            lcmp
            ifgt 18
        16: .line 2952
            aload 8
            monitorexit
        17: iconst_0
            ireturn
        18: .line 2953
      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 2954
            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 2955
            lload 6 /* deadline */
            invokestatic java.lang.System.nanoTime:()J
            lsub
            lstore 4 /* nanos */
        end local 9 // long millis
        23: .line 2948
            goto 12
        24: .line 2947
      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=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 2972
            aload 3 /* unit */
            lload 1 /* timeout */
            invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
            lstore 4 /* nanos */
        start local 4 // long nanos
         1: .line 2974
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            astore 7 /* thread */
        start local 7 // java.lang.Thread thread
         2: .line 2975
            aload 7 /* thread */
            instanceof java.util.concurrent.ForkJoinWorkerThread
            ifeq 7
         3: .line 2976
            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 2977
            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 2978
            iconst_1
            ireturn
        end local 6 // java.util.concurrent.ForkJoinWorkerThread wt
         7: .line 2981
      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 2983
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.util.concurrent.ForkJoinPool.pollScan:(Z)Ljava/util/concurrent/ForkJoinTask;
            dup
            astore 10 /* t */
        start local 10 // java.util.concurrent.ForkJoinTask t
         9: ifnull 11
        10: .line 2984
            aload 10 /* t */
            invokevirtual java.util.concurrent.ForkJoinTask.doExec:()I
            pop
            goto 8
        11: .line 2985
      StackMap locals: java.util.concurrent.ForkJoinTask
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.ForkJoinPool.isQuiescent:()Z
            ifeq 13
        12: .line 2986
            iconst_1
            ireturn
        13: .line 2987
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.nanoTime:()J
            lload 8 /* startTime */
            lsub
            lload 4 /* nanos */
            lcmp
            ifle 15
        14: .line 2988
            iconst_0
            ireturn
        15: .line 2990
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.yield:()V
        end local 10 // java.util.concurrent.ForkJoinTask t
        16: .line 2981
            goto 8
        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   17     0       this  Ljava/util/concurrent/ForkJoinPool;
            0   17     1    timeout  J
            0   17     3       unit  Ljava/util/concurrent/TimeUnit;
            1   17     4      nanos  J
            4    7     6         wt  Ljava/util/concurrent/ForkJoinWorkerThread;
            2   17     7     thread  Ljava/lang/Thread;
            8   17     8  startTime  J
            9   16    10          t  Ljava/util/concurrent/ForkJoinTask<*>;
    MethodParameters:
         Name  Flags
      timeout  
      unit     

  static void quiesceCommonPool();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 3000
            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 3001
            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=4, locals=7, args_size=1
        start local 0 // java.util.concurrent.ForkJoinPool$ManagedBlocker blocker
         0: .line 3105
            aload 0 /* blocker */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 3109
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            astore 4 /* t */
        start local 4 // java.lang.Thread t
         2: .line 3110
            aload 4 /* t */
            instanceof java.util.concurrent.ForkJoinWorkerThread
            ifeq 25
         3: .line 3111
            aload 4 /* t */
            checkcast java.util.concurrent.ForkJoinWorkerThread
            dup
            astore 2 /* wt */
        start local 2 // java.util.concurrent.ForkJoinWorkerThread wt
         4: getfield java.util.concurrent.ForkJoinWorkerThread.pool:Ljava/util/concurrent/ForkJoinPool;
            dup
            astore 1 /* p */
        start local 1 // java.util.concurrent.ForkJoinPool p
         5: ifnull 25
         6: .line 3112
            aload 2 /* wt */
            getfield java.util.concurrent.ForkJoinWorkerThread.workQueue:Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 3 /* w */
        start local 3 // java.util.concurrent.ForkJoinPool$WorkQueue w
         7: ifnull 25
         8: .line 3114
            goto 23
         9: .line 3115
      StackMap locals: java.util.concurrent.ForkJoinPool$ManagedBlocker java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinWorkerThread java.util.concurrent.ForkJoinPool$WorkQueue java.lang.Thread
      StackMap stack:
            aload 1 /* p */
            aload 3 /* w */
            invokevirtual java.util.concurrent.ForkJoinPool.tryCompensate:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)I
            dup
            istore 5 /* block */
        start local 5 // int block
        10: ifeq 23
        11: .line 3117
      StackMap locals: int
      StackMap stack:
            aload 0 /* blocker */
            invokeinterface java.util.concurrent.ForkJoinPool$ManagedBlocker.isReleasable:()Z
            ifne 19
        12: .line 3118
            aload 0 /* blocker */
            invokeinterface java.util.concurrent.ForkJoinPool$ManagedBlocker.block:()Z
            ifeq 11
        13: .line 3119
            goto 19
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 6
        15: .line 3120
            getstatic java.util.concurrent.ForkJoinPool.CTL:Ljava/lang/invoke/VarHandle;
            aload 1 /* p */
            iload 5 /* block */
            ifle 16
            ldc 281474976710656
            goto 17
      StackMap locals: java.util.concurrent.ForkJoinPool$ManagedBlocker java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinWorkerThread java.util.concurrent.ForkJoinPool$WorkQueue java.lang.Thread int java.lang.Throwable
      StackMap stack: java.lang.invoke.VarHandle java.util.concurrent.ForkJoinPool
        16: lconst_0
      StackMap locals: java.util.concurrent.ForkJoinPool$ManagedBlocker java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinWorkerThread java.util.concurrent.ForkJoinPool$WorkQueue java.lang.Thread int java.lang.Throwable
      StackMap stack: java.lang.invoke.VarHandle java.util.concurrent.ForkJoinPool long
        17: invokevirtual java.lang.invoke.VarHandle.getAndAdd:(Ljava/util/concurrent/ForkJoinPool;J)V
        18: .line 3121
            aload 6
            athrow
        19: .line 3120
      StackMap locals:
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.CTL:Ljava/lang/invoke/VarHandle;
            aload 1 /* p */
            iload 5 /* block */
            ifle 20
            ldc 281474976710656
            goto 21
      StackMap locals: java.util.concurrent.ForkJoinPool$ManagedBlocker java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinWorkerThread java.util.concurrent.ForkJoinPool$WorkQueue java.lang.Thread int
      StackMap stack: java.lang.invoke.VarHandle java.util.concurrent.ForkJoinPool
        20: lconst_0
      StackMap locals: java.util.concurrent.ForkJoinPool$ManagedBlocker java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinWorkerThread java.util.concurrent.ForkJoinPool$WorkQueue java.lang.Thread int
      StackMap stack: java.lang.invoke.VarHandle java.util.concurrent.ForkJoinPool long
        21: invokevirtual java.lang.invoke.VarHandle.getAndAdd:(Ljava/util/concurrent/ForkJoinPool;J)V
        22: .line 3122
            goto 27
        end local 5 // int block
        23: .line 3114
      StackMap locals:
      StackMap stack:
            aload 0 /* blocker */
            invokeinterface java.util.concurrent.ForkJoinPool$ManagedBlocker.isReleasable:()Z
            ifeq 9
        24: .line 3125
            goto 27
        end local 3 // java.util.concurrent.ForkJoinPool$WorkQueue w
        end local 2 // java.util.concurrent.ForkJoinWorkerThread wt
        end local 1 // java.util.concurrent.ForkJoinPool p
        25: .line 3127
      StackMap locals: java.util.concurrent.ForkJoinPool$ManagedBlocker top top top java.lang.Thread
      StackMap stack:
            aload 0 /* blocker */
            invokeinterface java.util.concurrent.ForkJoinPool$ManagedBlocker.isReleasable:()Z
            ifne 27
        26: .line 3128
            aload 0 /* blocker */
            invokeinterface java.util.concurrent.ForkJoinPool$ManagedBlocker.block:()Z
            ifeq 25
        27: .line 3130
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.Thread t
        end local 0 // java.util.concurrent.ForkJoinPool$ManagedBlocker blocker
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   28     0  blocker  Ljava/util/concurrent/ForkJoinPool$ManagedBlocker;
            5   25     1        p  Ljava/util/concurrent/ForkJoinPool;
            4   25     2       wt  Ljava/util/concurrent/ForkJoinWorkerThread;
            7   25     3        w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            2   28     4        t  Ljava/lang/Thread;
           10   23     5    block  I
      Exception table:
        from    to  target  type
          11    14      14  any
    Exceptions:
      throws java.lang.InterruptedException
    MethodParameters:
         Name  Flags
      blocker  

  static void helpAsyncBlocker(java.util.concurrent.Executor, java.util.concurrent.ForkJoinPool$ManagedBlocker);
    descriptor: (Ljava/util/concurrent/Executor;Ljava/util/concurrent/ForkJoinPool$ManagedBlocker;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // java.util.concurrent.Executor e
        start local 1 // java.util.concurrent.ForkJoinPool$ManagedBlocker blocker
         0: .line 3138
            aload 0 /* e */
            instanceof java.util.concurrent.ForkJoinPool
            ifeq 18
         1: .line 3140
            aload 0 /* e */
            checkcast java.util.concurrent.ForkJoinPool
            astore 7 /* p */
        start local 7 // java.util.concurrent.ForkJoinPool p
         2: .line 3141
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            astore 8 /* thread */
        start local 8 // java.lang.Thread thread
         3: .line 3142
            aload 8 /* thread */
            instanceof java.util.concurrent.ForkJoinWorkerThread
            ifeq 8
         4: .line 3143
            aload 8 /* thread */
            checkcast java.util.concurrent.ForkJoinWorkerThread
            dup
            astore 3 /* wt */
        start local 3 // java.util.concurrent.ForkJoinWorkerThread wt
         5: getfield java.util.concurrent.ForkJoinWorkerThread.pool:Ljava/util/concurrent/ForkJoinPool;
            aload 7 /* p */
            if_acmpne 8
         6: .line 3144
            aload 3 /* wt */
            getfield java.util.concurrent.ForkJoinWorkerThread.workQueue:Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            astore 2 /* w */
        start local 2 // java.util.concurrent.ForkJoinPool$WorkQueue w
         7: goto 16
        end local 3 // java.util.concurrent.ForkJoinWorkerThread wt
        end local 2 // java.util.concurrent.ForkJoinPool$WorkQueue w
         8: .line 3145
      StackMap locals: java.util.concurrent.Executor java.util.concurrent.ForkJoinPool$ManagedBlocker top top top top top java.util.concurrent.ForkJoinPool java.lang.Thread
      StackMap stack:
            invokestatic java.util.concurrent.ThreadLocalRandom.getProbe:()I
            dup
            istore 5 /* r */
        start local 5 // int r
         9: ifeq 15
        10: .line 3146
            aload 7 /* p */
            getfield java.util.concurrent.ForkJoinPool.workQueues:[Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            dup
            astore 4 /* ws */
        start local 4 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        11: ifnull 15
            aload 4 /* ws */
            arraylength
            dup
            istore 6 /* n */
        start local 6 // int n
        12: ifle 15
        13: .line 3147
            aload 4 /* ws */
            iload 6 /* n */
            iconst_1
            isub
            iload 5 /* r */
            iand
            bipush 126
            iand
            aaload
            astore 2 /* w */
        start local 2 // java.util.concurrent.ForkJoinPool$WorkQueue w
        14: goto 16
        end local 6 // int n
        end local 4 // java.util.concurrent.ForkJoinPool$WorkQueue[] ws
        end local 2 // java.util.concurrent.ForkJoinPool$WorkQueue w
        15: .line 3149
      StackMap locals: java.util.concurrent.Executor java.util.concurrent.ForkJoinPool$ManagedBlocker top top top int top java.util.concurrent.ForkJoinPool java.lang.Thread
      StackMap stack:
            aconst_null
            astore 2 /* w */
        end local 5 // int r
        start local 2 // java.util.concurrent.ForkJoinPool$WorkQueue w
        16: .line 3150
      StackMap locals: java.util.concurrent.Executor java.util.concurrent.ForkJoinPool$ManagedBlocker java.util.concurrent.ForkJoinPool$WorkQueue top top top top java.util.concurrent.ForkJoinPool java.lang.Thread
      StackMap stack:
            aload 2 /* w */
            ifnull 18
        17: .line 3151
            aload 2 /* w */
            aload 1 /* blocker */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.helpAsyncBlocker:(Ljava/util/concurrent/ForkJoinPool$ManagedBlocker;)V
        end local 8 // java.lang.Thread thread
        end local 7 // java.util.concurrent.ForkJoinPool p
        end local 2 // java.util.concurrent.ForkJoinPool$WorkQueue w
        18: .line 3153
      StackMap locals: java.util.concurrent.Executor java.util.concurrent.ForkJoinPool$ManagedBlocker
      StackMap stack:
            return
        end local 1 // java.util.concurrent.ForkJoinPool$ManagedBlocker blocker
        end local 0 // java.util.concurrent.Executor e
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0        e  Ljava/util/concurrent/Executor;
            0   19     1  blocker  Ljava/util/concurrent/ForkJoinPool$ManagedBlocker;
            7    8     2        w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           14   15     2        w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
           16   18     2        w  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            5    8     3       wt  Ljava/util/concurrent/ForkJoinWorkerThread;
           11   15     4       ws  [Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            9   16     5        r  I
           12   15     6        n  I
            2   18     7        p  Ljava/util/concurrent/ForkJoinPool;
            3   18     8   thread  Ljava/lang/Thread;
    MethodParameters:
         Name  Flags
      e        
      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 3160
            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 3164
            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  

  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$DefaultForkJoinWorkerThreadFactory$1  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 final State = java.lang.Thread$State of java.lang.Thread
  public abstract UncaughtExceptionHandler = java.lang.Thread$UncaughtExceptionHandler of java.lang.Thread
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  java.util.concurrent.ForkJoinPool$1
  private final DefaultForkJoinWorkerThreadFactory = java.util.concurrent.ForkJoinPool$DefaultForkJoinWorkerThreadFactory of java.util.concurrent.ForkJoinPool
  public abstract ForkJoinWorkerThreadFactory = java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory of java.util.concurrent.ForkJoinPool
  private 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