public abstract class java.util.concurrent.ForkJoinTask<V> implements java.util.concurrent.Future<V>, java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: java.util.concurrent.ForkJoinTask
super_class: java.lang.Object
{
private static final int DONE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -2147483648
private static final int ABNORMAL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 65536
private static final int THROWN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 131072
private static final int SMASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 65535
private static final int UNCOMPENSATE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 65536
volatile int status;
descriptor: I
flags: (0x0040) ACC_VOLATILE
private volatile transient java.util.concurrent.ForkJoinTask$Aux aux;
descriptor: Ljava/util/concurrent/ForkJoinTask$Aux;
flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT
private static final java.lang.invoke.VarHandle STATUS;
descriptor: Ljava/lang/invoke/VarHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.VarHandle AUX;
descriptor: Ljava/lang/invoke/VarHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -7721805057305804111
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
astore 0
start local 0 1: aload 0
ldc Ljava/util/concurrent/ForkJoinTask;
ldc "status"
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.ForkJoinTask.STATUS:Ljava/lang/invoke/VarHandle;
2: aload 0
ldc Ljava/util/concurrent/ForkJoinTask;
ldc "aux"
ldc Ljava/util/concurrent/ForkJoinTask$Aux;
invokevirtual java.lang.invoke.MethodHandles$Lookup.findVarHandle:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
putstatic java.util.concurrent.ForkJoinTask.AUX:Ljava/lang/invoke/VarHandle;
end local 0 3: goto 6
StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
4: astore 0
start local 0 5: new java.lang.ExceptionInInitializerError
dup
aload 0
invokespecial java.lang.ExceptionInInitializerError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 0 6: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
1 3 0 l Ljava/lang/invoke/MethodHandles$Lookup;
5 6 0 e Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
0 3 4 Class java.lang.ReflectiveOperationException
private int getAndBitwiseOrStatus(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.util.concurrent.ForkJoinTask.STATUS:Ljava/lang/invoke/VarHandle;
aload 0
iload 1
invokevirtual java.lang.invoke.VarHandle.getAndBitwiseOr:(Ljava/util/concurrent/ForkJoinTask;I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 1 1 v I
MethodParameters:
Name Flags
v
private boolean casStatus(int, int);
descriptor: (II)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.util.concurrent.ForkJoinTask.STATUS:Ljava/lang/invoke/VarHandle;
aload 0
iload 1
iload 2
invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/ForkJoinTask;II)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 1 1 c I
0 1 2 v I
MethodParameters:
Name Flags
c
v
private boolean casAux(java.util.concurrent.ForkJoinTask$Aux, java.util.concurrent.ForkJoinTask$Aux);
descriptor: (Ljava/util/concurrent/ForkJoinTask$Aux;Ljava/util/concurrent/ForkJoinTask$Aux;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.util.concurrent.ForkJoinTask.AUX:Ljava/lang/invoke/VarHandle;
aload 0
aload 1
aload 2
invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinTask$Aux;Ljava/util/concurrent/ForkJoinTask$Aux;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 1 1 c Ljava/util/concurrent/ForkJoinTask$Aux;
0 1 2 v Ljava/util/concurrent/ForkJoinTask$Aux;
MethodParameters:
Name Flags
c
v
private void signalWaiters();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: goto 9
start local 1 1: StackMap locals: java.util.concurrent.ForkJoinTask$Aux
StackMap stack:
aload 0
aload 1
aconst_null
invokevirtual java.util.concurrent.ForkJoinTask.casAux:(Ljava/util/concurrent/ForkJoinTask$Aux;Ljava/util/concurrent/ForkJoinTask$Aux;)Z
ifeq 9
2: goto 7
3: StackMap locals:
StackMap stack:
aload 1
getfield java.util.concurrent.ForkJoinTask$Aux.thread:Ljava/lang/Thread;
dup
astore 2
start local 2 4: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
if_acmpeq 6
aload 2
ifnull 6
5: aload 2
invokestatic java.util.concurrent.locks.LockSupport.unpark:(Ljava/lang/Thread;)V
6: StackMap locals: java.lang.Thread
StackMap stack:
aload 1
getfield java.util.concurrent.ForkJoinTask$Aux.next:Ljava/util/concurrent/ForkJoinTask$Aux;
astore 1
end local 2 StackMap locals:
StackMap stack:
7: aload 1
ifnonnull 3
8: goto 11
end local 1 9: StackMap locals:
StackMap stack:
aload 0
getfield java.util.concurrent.ForkJoinTask.aux:Ljava/util/concurrent/ForkJoinTask$Aux;
dup
astore 1
start local 1 10: ifnull 11
aload 1
getfield java.util.concurrent.ForkJoinTask$Aux.ex:Ljava/lang/Throwable;
ifnull 1
end local 1 11: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
1 9 1 a Ljava/util/concurrent/ForkJoinTask$Aux;
10 11 1 a Ljava/util/concurrent/ForkJoinTask$Aux;
4 7 2 t Ljava/lang/Thread;
private int setDone();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ldc -2147483648
invokevirtual java.util.concurrent.ForkJoinTask.getAndBitwiseOrStatus:(I)I
ldc -2147483648
ior
istore 1
start local 1 1: aload 0
invokevirtual java.util.concurrent.ForkJoinTask.signalWaiters:()V
2: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
1 3 1 s I
private int trySetCancelled();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
getfield java.util.concurrent.ForkJoinTask.status:I
dup
istore 1
start local 1 1: iflt 2
aload 0
iload 1
iload 1
ldc -2147418112
ior
dup
istore 1
invokevirtual java.util.concurrent.ForkJoinTask.casStatus:(II)Z
ifeq 0
2: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.util.concurrent.ForkJoinTask.signalWaiters:()V
3: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
1 4 1 s I
final int trySetThrown(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)I
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: new java.util.concurrent.ForkJoinTask$Aux
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 1
invokespecial java.util.concurrent.ForkJoinTask$Aux.<init>:(Ljava/lang/Thread;Ljava/lang/Throwable;)V
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 10
start local 5 4: StackMap locals: java.util.concurrent.ForkJoinTask java.lang.Throwable java.util.concurrent.ForkJoinTask$Aux java.util.concurrent.ForkJoinTask$Aux int int
StackMap stack:
iload 4
ifne 8
aload 0
getfield java.util.concurrent.ForkJoinTask.aux:Ljava/util/concurrent/ForkJoinTask$Aux;
dup
astore 6
start local 6 5: ifnull 6
aload 6
getfield java.util.concurrent.ForkJoinTask$Aux.ex:Ljava/lang/Throwable;
ifnonnull 8
6: StackMap locals: java.util.concurrent.ForkJoinTask$Aux
StackMap stack:
aload 0
aload 6
aload 2
invokevirtual java.util.concurrent.ForkJoinTask.casAux:(Ljava/util/concurrent/ForkJoinTask$Aux;Ljava/util/concurrent/ForkJoinTask$Aux;)Z
dup
istore 4
ifeq 8
7: aload 6
astore 3
end local 6 8: StackMap locals:
StackMap stack:
iload 4
ifeq 10
aload 0
iload 5
iload 5
ldc -2147287040
ior
dup
istore 5
invokevirtual java.util.concurrent.ForkJoinTask.casStatus:(II)Z
ifeq 10
9: goto 15
end local 5 10: StackMap locals:
StackMap stack:
aload 0
getfield java.util.concurrent.ForkJoinTask.status:I
dup
istore 5
start local 5 11: ifge 4
12: goto 15
13: StackMap locals: int
StackMap stack:
aload 3
getfield java.util.concurrent.ForkJoinTask$Aux.thread:Ljava/lang/Thread;
invokestatic java.util.concurrent.locks.LockSupport.unpark:(Ljava/lang/Thread;)V
14: aload 3
getfield java.util.concurrent.ForkJoinTask$Aux.next:Ljava/util/concurrent/ForkJoinTask$Aux;
astore 3
StackMap locals:
StackMap stack:
15: aload 3
ifnonnull 13
16: iload 5
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 17 1 ex Ljava/lang/Throwable;
1 17 2 h Ljava/util/concurrent/ForkJoinTask$Aux;
2 17 3 p Ljava/util/concurrent/ForkJoinTask$Aux;
3 17 4 installed Z
4 10 5 s I
11 17 5 s I
5 8 6 a Ljava/util/concurrent/ForkJoinTask$Aux;
MethodParameters:
Name Flags
ex
int trySetException(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)I
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.util.concurrent.ForkJoinTask.trySetThrown:(Ljava/lang/Throwable;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 1 1 ex Ljava/lang/Throwable;
MethodParameters:
Name Flags
ex
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
static boolean isExceptionalStatus(int);
descriptor: (I)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
ldc 131072
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 s I
MethodParameters:
Name Flags
s
final int doExec();
descriptor: ()I
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield java.util.concurrent.ForkJoinTask.status:I
dup
istore 1
start local 1 1: iflt 9
2: aload 0
invokevirtual java.util.concurrent.ForkJoinTask.exec:()Z
istore 2
start local 2 3: goto 7
end local 2 StackMap locals: java.util.concurrent.ForkJoinTask int
StackMap stack: java.lang.Throwable
4: astore 3
start local 3 5: aload 0
aload 3
invokevirtual java.util.concurrent.ForkJoinTask.trySetException:(Ljava/lang/Throwable;)I
istore 1
6: iconst_0
istore 2
end local 3 start local 2 7: StackMap locals: int
StackMap stack:
iload 2
ifeq 9
8: aload 0
invokevirtual java.util.concurrent.ForkJoinTask.setDone:()I
istore 1
end local 2 9: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
1 10 1 s I
3 4 2 completed Z
7 9 2 completed Z
5 7 3 rex Ljava/lang/Throwable;
Exception table:
from to target type
2 3 4 Class java.lang.Throwable
private int awaitDone(java.util.concurrent.ForkJoinPool, boolean, boolean, boolean, long);
descriptor: (Ljava/util/concurrent/ForkJoinPool;ZZZJ)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=23, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aconst_null
astore 11
start local 11 1: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
dup
astore 10
start local 10 2: instanceof java.util.concurrent.ForkJoinWorkerThread
ifeq 13
3: aload 10
checkcast java.util.concurrent.ForkJoinWorkerThread
astore 12
start local 12 4: aload 12
getfield java.util.concurrent.ForkJoinWorkerThread.pool:Ljava/util/concurrent/ForkJoinPool;
astore 7
start local 7 5: aload 1
ifnonnull 7
6: aload 7
astore 1
7: StackMap locals: java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool int int int long java.util.concurrent.ForkJoinPool top top java.lang.Thread java.util.concurrent.ForkJoinPool$WorkQueue java.util.concurrent.ForkJoinWorkerThread
StackMap stack:
aload 1
aload 7
if_acmpne 8
iconst_1
goto 9
StackMap locals:
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: dup
istore 8
start local 8 10: ifeq 19
11: aload 12
getfield java.util.concurrent.ForkJoinWorkerThread.workQueue:Ljava/util/concurrent/ForkJoinPool$WorkQueue;
astore 11
end local 12 12: goto 19
end local 8 end local 7 13: StackMap locals: java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool int int int long top top top java.lang.Thread java.util.concurrent.ForkJoinPool$WorkQueue
StackMap stack:
iconst_0
istore 8
start local 8 14: getstatic java.util.concurrent.ForkJoinPool.common:Ljava/util/concurrent/ForkJoinPool;
astore 7
start local 7 15: aload 1
ifnonnull 17
16: aload 7
astore 1
17: StackMap locals: java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool int int int long java.util.concurrent.ForkJoinPool int top java.lang.Thread java.util.concurrent.ForkJoinPool$WorkQueue
StackMap stack:
aload 1
aload 7
if_acmpne 19
aload 7
ifnull 19
18: aload 7
invokevirtual java.util.concurrent.ForkJoinPool.externalQueue:()Ljava/util/concurrent/ForkJoinPool$WorkQueue;
astore 11
19: StackMap locals:
StackMap stack:
iload 3
ifeq 21
invokestatic java.lang.Thread.interrupted:()Z
ifeq 21
20: ldc 65536
ireturn
21: StackMap locals:
StackMap stack:
aload 0
getfield java.util.concurrent.ForkJoinTask.status:I
dup
istore 9
start local 9 22: ifge 24
23: iload 9
ireturn
24: StackMap locals: java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool int int int long java.util.concurrent.ForkJoinPool int int java.lang.Thread java.util.concurrent.ForkJoinPool$WorkQueue
StackMap stack:
lconst_0
lstore 12
start local 12 25: iload 4
ifeq 30
26: lload 5
lconst_0
lcmp
ifgt 28
27: iconst_0
ireturn
28: StackMap locals: long
StackMap stack:
lload 5
invokestatic java.lang.System.nanoTime:()J
ladd
dup2
lstore 12
lconst_0
lcmp
ifne 30
29: lconst_1
lstore 12
30: StackMap locals:
StackMap stack:
iconst_0
istore 14
start local 14 31: aload 11
ifnull 48
aload 7
ifnull 48
32: iload 4
ifeq 33
aload 7
getfield java.util.concurrent.ForkJoinPool.mode:I
ldc 65535
iand
ifeq 33
iconst_0
goto 34
StackMap locals: int
StackMap stack:
33: iconst_1
StackMap locals:
StackMap stack: int
34: istore 15
start local 15 35: iload 15
ifeq 43
36: aload 0
instanceof java.util.concurrent.CountedCompleter
ifeq 39
37: aload 7
aload 0
aload 11
iload 8
invokevirtual java.util.concurrent.ForkJoinPool.helpComplete:(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinPool$WorkQueue;Z)I
dup
istore 9
ifge 39
38: iload 9
ireturn
39: StackMap locals: int
StackMap stack:
iload 2
ifne 43
iload 8
ifne 40
aload 11
aload 0
invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.externalTryUnpush:(Ljava/util/concurrent/ForkJoinTask;)Z
ifne 41
40: StackMap locals:
StackMap stack:
aload 11
aload 0
iload 8
invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.tryRemove:(Ljava/util/concurrent/ForkJoinTask;Z)Z
ifeq 43
StackMap locals:
StackMap stack:
41: aload 0
invokevirtual java.util.concurrent.ForkJoinTask.doExec:()I
dup
istore 9
ifge 43
42: iload 9
ireturn
43: StackMap locals:
StackMap stack:
iload 8
ifeq 48
44: aload 7
aload 0
aload 11
iload 15
invokevirtual java.util.concurrent.ForkJoinPool.helpJoin:(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinPool$WorkQueue;Z)I
dup
istore 9
ifge 46
45: iload 9
ireturn
46: StackMap locals:
StackMap stack:
iload 9
ldc 65536
if_icmpne 48
47: iconst_1
istore 14
end local 15 48: StackMap locals:
StackMap stack:
iconst_0
istore 15
start local 15 49: iconst_0
istore 16
start local 16 50: iconst_0
istore 17
start local 17 51: iconst_0
istore 18
start local 18 52: aconst_null
astore 19
start local 19 53: goto 85
54: StackMap locals: java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool int int int long java.util.concurrent.ForkJoinPool int int java.lang.Thread java.util.concurrent.ForkJoinPool$WorkQueue long int int int int int java.util.concurrent.ForkJoinTask$Aux
StackMap stack:
iload 18
ifne 57
aload 1
ifnull 55
aload 1
getfield java.util.concurrent.ForkJoinPool.mode:I
ifge 55
iconst_1
goto 56
StackMap locals:
StackMap stack:
55: iconst_0
StackMap locals:
StackMap stack: int
56: dup
istore 18
ifeq 58
57: StackMap locals:
StackMap stack:
aload 0
iload 9
iload 9
ldc -2147418112
ior
invokevirtual java.util.concurrent.ForkJoinTask.casStatus:(II)Z
pop
goto 85
58: StackMap locals:
StackMap stack:
iload 17
ifeq 64
invokestatic java.lang.Thread.interrupted:()Z
ifeq 64
59: iload 3
ifeq 62
60: ldc 65536
istore 9
61: goto 86
62: StackMap locals:
StackMap stack:
iconst_1
istore 15
63: goto 85
64: StackMap locals:
StackMap stack:
iload 16
ifeq 74
65: lload 12
lconst_0
lcmp
ifeq 71
66: lload 12
invokestatic java.lang.System.nanoTime:()J
lsub
dup2
lstore 21
start local 21 67: lconst_0
lcmp
ifgt 69
68: goto 86
69: StackMap locals: java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool int int int long java.util.concurrent.ForkJoinPool int int java.lang.Thread java.util.concurrent.ForkJoinPool$WorkQueue long int int int int int java.util.concurrent.ForkJoinTask$Aux top long
StackMap stack:
lload 21
invokestatic java.util.concurrent.locks.LockSupport.parkNanos:(J)V
70: goto 72
end local 21 71: StackMap locals: java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinPool int int int long java.util.concurrent.ForkJoinPool int int java.lang.Thread java.util.concurrent.ForkJoinPool$WorkQueue long int int int int int java.util.concurrent.ForkJoinTask$Aux
StackMap stack:
invokestatic java.util.concurrent.locks.LockSupport.park:()V
72: StackMap locals:
StackMap stack:
iconst_1
istore 17
73: goto 85
74: StackMap locals:
StackMap stack:
aload 19
ifnull 81
75: aload 0
getfield java.util.concurrent.ForkJoinTask.aux:Ljava/util/concurrent/ForkJoinTask$Aux;
dup
astore 20
start local 20 76: ifnull 78
aload 20
getfield java.util.concurrent.ForkJoinTask$Aux.ex:Ljava/lang/Throwable;
ifnull 78
77: invokestatic java.lang.Thread.onSpinWait:()V
goto 85
78: StackMap locals: java.util.concurrent.ForkJoinTask$Aux
StackMap stack:
aload 0
aload 19
aload 20
dup_x1
putfield java.util.concurrent.ForkJoinTask$Aux.next:Ljava/util/concurrent/ForkJoinTask$Aux;
aload 19
invokevirtual java.util.concurrent.ForkJoinTask.casAux:(Ljava/util/concurrent/ForkJoinTask$Aux;Ljava/util/concurrent/ForkJoinTask$Aux;)Z
dup
istore 16
ifeq 85
79: aload 0
invokestatic java.util.concurrent.locks.LockSupport.setCurrentBlocker:(Ljava/lang/Object;)V
80: goto 85
end local 20 81: StackMap locals:
StackMap stack:
new java.util.concurrent.ForkJoinTask$Aux
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aconst_null
invokespecial java.util.concurrent.ForkJoinTask$Aux.<init>:(Ljava/lang/Thread;Ljava/lang/Throwable;)V
astore 19
82: goto 85
StackMap locals:
StackMap stack: java.lang.Throwable
83: pop
84: iconst_1
istore 18
85: StackMap locals:
StackMap stack:
aload 0
getfield java.util.concurrent.ForkJoinTask.status:I
dup
istore 9
ifge 54
86: StackMap locals:
StackMap stack:
aload 1
ifnull 88
iload 14
ifeq 88
87: aload 1
invokevirtual java.util.concurrent.ForkJoinPool.uncompensate:()V
88: StackMap locals:
StackMap stack:
iload 16
ifeq 108
89: aconst_null
invokestatic java.util.concurrent.locks.LockSupport.setCurrentBlocker:(Ljava/lang/Object;)V
90: iload 9
iflt 105
91: goto 102
start local 20 92: StackMap locals: java.util.concurrent.ForkJoinTask$Aux
StackMap stack:
aconst_null
astore 21
start local 21 93: StackMap locals: java.util.concurrent.ForkJoinTask$Aux
StackMap stack:
aload 20
getfield java.util.concurrent.ForkJoinTask$Aux.next:Ljava/util/concurrent/ForkJoinTask$Aux;
astore 22
start local 22 94: aload 20
aload 19
if_acmpne 99
95: aload 21
ifnull 97
96: aload 21
aload 21
aload 22
invokevirtual java.util.concurrent.ForkJoinTask$Aux.casNext:(Ljava/util/concurrent/ForkJoinTask$Aux;Ljava/util/concurrent/ForkJoinTask$Aux;)Z
pop
goto 102
97: StackMap locals: java.util.concurrent.ForkJoinTask$Aux
StackMap stack:
aload 0
aload 20
aload 22
invokevirtual java.util.concurrent.ForkJoinTask.casAux:(Ljava/util/concurrent/ForkJoinTask$Aux;Ljava/util/concurrent/ForkJoinTask$Aux;)Z
ifeq 102
98: goto 108
99: StackMap locals:
StackMap stack:
aload 20
astore 21
100: aload 22
dup
astore 20
ifnonnull 93
101: goto 108
end local 22 end local 21 end local 20 102: StackMap locals:
StackMap stack:
aload 0
getfield java.util.concurrent.ForkJoinTask.aux:Ljava/util/concurrent/ForkJoinTask$Aux;
dup
astore 20
start local 20 103: ifnull 108
aload 20
getfield java.util.concurrent.ForkJoinTask$Aux.ex:Ljava/lang/Throwable;
ifnull 92
end local 20 104: goto 108
105: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.concurrent.ForkJoinTask.signalWaiters:()V
106: iload 15
ifeq 108
107: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
108: StackMap locals:
StackMap stack:
iload 9
ireturn
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 109 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 109 1 pool Ljava/util/concurrent/ForkJoinPool;
0 109 2 ran Z
0 109 3 interruptible Z
0 109 4 timed Z
0 109 5 nanos J
5 13 7 p Ljava/util/concurrent/ForkJoinPool;
15 109 7 p Ljava/util/concurrent/ForkJoinPool;
10 13 8 internal Z
14 109 8 internal Z
22 109 9 s I
2 109 10 t Ljava/lang/Thread;
1 109 11 q Ljava/util/concurrent/ForkJoinPool$WorkQueue;
4 12 12 wt Ljava/util/concurrent/ForkJoinWorkerThread;
25 109 12 deadline J
31 109 14 uncompensate Z
35 48 15 canHelp Z
49 109 15 interrupted Z
50 109 16 queued Z
51 109 17 parked Z
52 109 18 fail Z
53 109 19 node Ljava/util/concurrent/ForkJoinTask$Aux;
76 81 20 a Ljava/util/concurrent/ForkJoinTask$Aux;
67 71 21 ns J
92 102 20 a Ljava/util/concurrent/ForkJoinTask$Aux;
103 104 20 a Ljava/util/concurrent/ForkJoinTask$Aux;
93 102 21 trail Ljava/util/concurrent/ForkJoinTask$Aux;
94 102 22 next Ljava/util/concurrent/ForkJoinTask$Aux;
Exception table:
from to target type
81 82 83 Class java.lang.Throwable
MethodParameters:
Name Flags
pool
ran
interruptible
timed
nanos
static final void cancelIgnoringExceptions(java.util.concurrent.Future<?>);
descriptor: (Ljava/util/concurrent/Future;)V
flags: (0x0018) ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 4
1: aload 0
iconst_1
invokeinterface java.util.concurrent.Future.cancel:(Z)Z
pop
2: goto 4
StackMap locals:
StackMap stack: java.lang.Throwable
3: pop
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 t Ljava/util/concurrent/Future<*>;
Exception table:
from to target type
1 2 3 Class java.lang.Throwable
Signature: (Ljava/util/concurrent/Future<*>;)V
MethodParameters:
Name Flags
t
private java.lang.Throwable getThrowableException();
descriptor: ()Ljava/lang/Throwable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=1
start local 0 0: aload 0
getfield java.util.concurrent.ForkJoinTask.aux:Ljava/util/concurrent/ForkJoinTask$Aux;
dup
astore 2
start local 2 1: ifnonnull 4
2: aconst_null
astore 1
start local 1 3: goto 26
end local 1 4: StackMap locals: java.util.concurrent.ForkJoinTask top java.util.concurrent.ForkJoinTask$Aux
StackMap stack:
aload 2
getfield java.util.concurrent.ForkJoinTask$Aux.ex:Ljava/lang/Throwable;
dup
astore 1
start local 1 5: ifnull 26
aload 2
getfield java.util.concurrent.ForkJoinTask$Aux.thread:Ljava/lang/Thread;
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
if_acmpeq 26
6: aconst_null
astore 3
start local 3 7: aconst_null
astore 4
start local 4 8: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getConstructors:()[Ljava/lang/reflect/Constructor;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 17
StackMap locals: java.util.concurrent.ForkJoinTask java.lang.Throwable java.util.concurrent.ForkJoinTask$Aux java.lang.reflect.Constructor java.lang.reflect.Constructor top int int java.lang.reflect.Constructor[]
StackMap stack:
9: aload 8
iload 6
aaload
astore 5
start local 5 10: aload 5
invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
astore 9
start local 9 11: aload 9
arraylength
ifne 13
12: aload 5
astore 3
goto 16
13: StackMap locals: java.util.concurrent.ForkJoinTask java.lang.Throwable java.util.concurrent.ForkJoinTask$Aux java.lang.reflect.Constructor java.lang.reflect.Constructor java.lang.reflect.Constructor int int java.lang.reflect.Constructor[] java.lang.Class[]
StackMap stack:
aload 9
arraylength
iconst_1
if_icmpne 16
aload 9
iconst_0
aaload
ldc Ljava/lang/Throwable;
if_acmpne 16
14: aload 5
astore 4
15: goto 18
end local 9 end local 5 16: StackMap locals: java.util.concurrent.ForkJoinTask java.lang.Throwable java.util.concurrent.ForkJoinTask$Aux java.lang.reflect.Constructor java.lang.reflect.Constructor top int int java.lang.reflect.Constructor[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
17: iload 6
iload 7
if_icmplt 9
18: StackMap locals: java.util.concurrent.ForkJoinTask java.lang.Throwable java.util.concurrent.ForkJoinTask$Aux java.lang.reflect.Constructor java.lang.reflect.Constructor
StackMap stack:
aload 4
ifnull 20
19: aload 4
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Throwable
astore 1
goto 26
20: StackMap locals:
StackMap stack:
aload 3
ifnull 26
21: aload 3
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Throwable
astore 5
start local 5 22: aload 5
aload 1
invokevirtual java.lang.Throwable.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
23: aload 5
astore 1
end local 5 end local 4 end local 3 24: goto 26
StackMap locals: java.util.concurrent.ForkJoinTask java.lang.Throwable java.util.concurrent.ForkJoinTask$Aux
StackMap stack: java.lang.Exception
25: pop
26: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
3 4 1 ex Ljava/lang/Throwable;
5 27 1 ex Ljava/lang/Throwable;
1 27 2 a Ljava/util/concurrent/ForkJoinTask$Aux;
7 24 3 noArgCtor Ljava/lang/reflect/Constructor<*>;
8 24 4 oneArgCtor Ljava/lang/reflect/Constructor<*>;
10 16 5 c Ljava/lang/reflect/Constructor<*>;
11 16 9 ps [Ljava/lang/Class;
22 24 5 rx Ljava/lang/Throwable;
Exception table:
from to target type
6 24 25 Class java.lang.Exception
private java.lang.Throwable getException(int);
descriptor: (I)Ljava/lang/Throwable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: iload 1
ldc 65536
iand
ifeq 4
2: iload 1
ldc 131072
iand
ifeq 3
aload 0
invokevirtual java.util.concurrent.ForkJoinTask.getThrowableException:()Ljava/lang/Throwable;
dup
astore 2
ifnonnull 4
3: StackMap locals: java.lang.Throwable
StackMap stack:
new java.util.concurrent.CancellationException
dup
invokespecial java.util.concurrent.CancellationException.<init>:()V
astore 2
4: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 5 1 s I
1 5 2 ex Ljava/lang/Throwable;
MethodParameters:
Name Flags
s
private void reportException(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ldc 131072
iand
ifeq 1
aload 0
invokevirtual java.util.concurrent.ForkJoinTask.getThrowableException:()Ljava/lang/Throwable;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
2: StackMap locals:
StackMap stack: java.lang.Throwable
invokestatic java.util.concurrent.ForkJoinTask.uncheckedThrow:(Ljava/lang/Throwable;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 4 1 s I
MethodParameters:
Name Flags
s
private void reportExecutionException(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: iload 1
ldc 65536
if_icmpne 3
2: new java.lang.InterruptedException
dup
invokespecial java.lang.InterruptedException.<init>:()V
astore 2
goto 7
3: StackMap locals: java.lang.Throwable
StackMap stack:
iload 1
iflt 5
4: new java.util.concurrent.TimeoutException
dup
invokespecial java.util.concurrent.TimeoutException.<init>:()V
astore 2
goto 7
5: StackMap locals:
StackMap stack:
iload 1
ldc 131072
iand
ifeq 7
aload 0
invokevirtual java.util.concurrent.ForkJoinTask.getThrowableException:()Ljava/lang/Throwable;
dup
astore 2
ifnull 7
6: new java.util.concurrent.ExecutionException
dup
aload 2
invokespecial java.util.concurrent.ExecutionException.<init>:(Ljava/lang/Throwable;)V
astore 2
7: StackMap locals:
StackMap stack:
aload 2
invokestatic java.util.concurrent.ForkJoinTask.uncheckedThrow:(Ljava/lang/Throwable;)V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 9 1 s I
1 9 2 ex Ljava/lang/Throwable;
MethodParameters:
Name Flags
s
static void rethrow(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.util.concurrent.ForkJoinTask.uncheckedThrow:(Ljava/lang/Throwable;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 ex Ljava/lang/Throwable;
MethodParameters:
Name Flags
ex
static <T extends java.lang.Throwable> void uncheckedThrow(java.lang.Throwable) throws T;
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new java.util.concurrent.CancellationException
dup
invokespecial java.util.concurrent.CancellationException.<init>:()V
astore 0
2: StackMap locals:
StackMap stack:
aload 0
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 t Ljava/lang/Throwable;
Exceptions:
throws java.lang.Throwable
Signature: <T:Ljava/lang/Throwable;>(Ljava/lang/Throwable;)V^TT;
MethodParameters:
Name Flags
t
public final java.util.concurrent.ForkJoinTask<V> fork();
descriptor: ()Ljava/util/concurrent/ForkJoinTask;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
dup
astore 1
start local 1 1: instanceof java.util.concurrent.ForkJoinWorkerThread
ifeq 4
2: aload 1
checkcast java.util.concurrent.ForkJoinWorkerThread
dup
astore 2
start local 2 3: getfield java.util.concurrent.ForkJoinWorkerThread.workQueue:Ljava/util/concurrent/ForkJoinPool$WorkQueue;
aload 0
aload 2
getfield java.util.concurrent.ForkJoinWorkerThread.pool:Ljava/util/concurrent/ForkJoinPool;
invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.push:(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinPool;)V
goto 5
end local 2 4: StackMap locals: java.lang.Thread
StackMap stack:
getstatic java.util.concurrent.ForkJoinPool.common:Ljava/util/concurrent/ForkJoinPool;
aload 0
invokevirtual java.util.concurrent.ForkJoinPool.externalPush:(Ljava/util/concurrent/ForkJoinTask;)V
5: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
1 6 1 t Ljava/lang/Thread;
3 4 2 w Ljava/util/concurrent/ForkJoinWorkerThread;
Signature: ()Ljava/util/concurrent/ForkJoinTask<TV;>;
public final V join();
descriptor: ()Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
getfield java.util.concurrent.ForkJoinTask.status:I
dup
istore 1
start local 1 1: iflt 3
2: aload 0
aconst_null
iconst_0
iconst_0
iconst_0
lconst_0
invokevirtual java.util.concurrent.ForkJoinTask.awaitDone:(Ljava/util/concurrent/ForkJoinPool;ZZZJ)I
istore 1
3: StackMap locals: int
StackMap stack:
iload 1
ldc 65536
iand
ifeq 5
4: aload 0
iload 1
invokevirtual java.util.concurrent.ForkJoinTask.reportException:(I)V
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.concurrent.ForkJoinTask.getRawResult:()Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
1 6 1 s I
Signature: ()TV;
public final V invoke();
descriptor: ()Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.util.concurrent.ForkJoinTask.doExec:()I
dup
istore 1
start local 1 1: iflt 3
2: aload 0
aconst_null
iconst_1
iconst_0
iconst_0
lconst_0
invokevirtual java.util.concurrent.ForkJoinTask.awaitDone:(Ljava/util/concurrent/ForkJoinPool;ZZZJ)I
istore 1
3: StackMap locals: int
StackMap stack:
iload 1
ldc 65536
iand
ifeq 5
4: aload 0
iload 1
invokevirtual java.util.concurrent.ForkJoinTask.reportException:(I)V
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.concurrent.ForkJoinTask.getRawResult:()Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
1 6 1 s I
Signature: ()TV;
public static void invokeAll(java.util.concurrent.ForkJoinTask<?>, java.util.concurrent.ForkJoinTask<?>);
descriptor: (Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinTask;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
ifnull 1
aload 1
ifnonnull 2
1: StackMap locals:
StackMap stack:
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.concurrent.ForkJoinTask.fork:()Ljava/util/concurrent/ForkJoinTask;
pop
3: aload 0
invokevirtual java.util.concurrent.ForkJoinTask.doExec:()I
dup
istore 2
start local 2 4: iflt 6
5: aload 0
aconst_null
iconst_1
iconst_0
iconst_0
lconst_0
invokevirtual java.util.concurrent.ForkJoinTask.awaitDone:(Ljava/util/concurrent/ForkJoinPool;ZZZJ)I
istore 2
6: StackMap locals: int
StackMap stack:
iload 2
ldc 65536
iand
ifeq 10
7: aload 1
invokestatic java.util.concurrent.ForkJoinTask.cancelIgnoringExceptions:(Ljava/util/concurrent/Future;)V
8: aload 0
iload 2
invokevirtual java.util.concurrent.ForkJoinTask.reportException:(I)V
9: goto 13
10: StackMap locals:
StackMap stack:
aload 1
aconst_null
iconst_0
iconst_0
iconst_0
lconst_0
invokevirtual java.util.concurrent.ForkJoinTask.awaitDone:(Ljava/util/concurrent/ForkJoinPool;ZZZJ)I
dup
istore 3
start local 3 11: ldc 65536
iand
ifeq 13
12: aload 1
iload 3
invokevirtual java.util.concurrent.ForkJoinTask.reportException:(I)V
end local 3 13: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 t1 Ljava/util/concurrent/ForkJoinTask<*>;
0 14 1 t2 Ljava/util/concurrent/ForkJoinTask<*>;
4 14 2 s1 I
11 13 3 s2 I
Signature: (Ljava/util/concurrent/ForkJoinTask<*>;Ljava/util/concurrent/ForkJoinTask<*>;)V
MethodParameters:
Name Flags
t1
t2
public static void invokeAll(java.util.concurrent.ForkJoinTask<?>[]);
descriptor: ([Ljava/util/concurrent/ForkJoinTask;)V
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=7, locals=6, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
arraylength
iconst_1
isub
istore 2
start local 2 2: iload 2
istore 3
start local 3 3: goto 17
4: StackMap locals: java.lang.Throwable int int
StackMap stack:
aload 0
iload 3
aaload
dup
astore 4
start local 4 5: ifnonnull 8
6: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
astore 1
7: goto 18
8: StackMap locals: java.util.concurrent.ForkJoinTask
StackMap stack:
iload 3
ifne 15
9: aload 4
invokevirtual java.util.concurrent.ForkJoinTask.doExec:()I
dup
istore 5
start local 5 10: iflt 12
11: aload 4
aconst_null
iconst_1
iconst_0
iconst_0
lconst_0
invokevirtual java.util.concurrent.ForkJoinTask.awaitDone:(Ljava/util/concurrent/ForkJoinPool;ZZZJ)I
istore 5
12: StackMap locals: int
StackMap stack:
iload 5
ldc 65536
iand
ifeq 18
13: aload 4
iload 5
invokevirtual java.util.concurrent.ForkJoinTask.getException:(I)Ljava/lang/Throwable;
astore 1
14: goto 18
end local 5 15: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.util.concurrent.ForkJoinTask.fork:()Ljava/util/concurrent/ForkJoinTask;
pop
end local 4 16: iinc 3 -1
StackMap locals:
StackMap stack:
17: iload 3
ifge 4
end local 3 18: StackMap locals:
StackMap stack:
aload 1
ifnonnull 30
19: iconst_1
istore 3
start local 3 20: goto 29
21: StackMap locals: int
StackMap stack:
aload 0
iload 3
aaload
dup
astore 4
start local 4 22: ifnull 28
23: aload 4
getfield java.util.concurrent.ForkJoinTask.status:I
dup
istore 5
start local 5 24: iflt 26
25: aload 4
aconst_null
iconst_0
iconst_0
iconst_0
lconst_0
invokevirtual java.util.concurrent.ForkJoinTask.awaitDone:(Ljava/util/concurrent/ForkJoinPool;ZZZJ)I
istore 5
26: StackMap locals: java.util.concurrent.ForkJoinTask int
StackMap stack:
iload 5
ldc 65536
iand
ifeq 28
aload 4
iload 5
invokevirtual java.util.concurrent.ForkJoinTask.getException:(I)Ljava/lang/Throwable;
dup
astore 1
ifnull 28
27: goto 30
end local 5 end local 4 28: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
29: iload 3
iload 2
if_icmple 21
end local 3 30: StackMap locals:
StackMap stack:
aload 1
ifnull 37
31: iconst_1
istore 3
start local 3 32: goto 35
33: StackMap locals: int
StackMap stack:
aload 0
iload 3
aaload
invokestatic java.util.concurrent.ForkJoinTask.cancelIgnoringExceptions:(Ljava/util/concurrent/Future;)V
34: iinc 3 1
StackMap locals:
StackMap stack:
35: iload 3
iload 2
if_icmple 33
end local 3 36: aload 1
invokestatic java.util.concurrent.ForkJoinTask.rethrow:(Ljava/lang/Throwable;)V
37: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 tasks [Ljava/util/concurrent/ForkJoinTask;
1 38 1 ex Ljava/lang/Throwable;
2 38 2 last I
3 18 3 i I
5 16 4 t Ljava/util/concurrent/ForkJoinTask<*>;
10 15 5 s I
20 30 3 i I
22 28 4 t Ljava/util/concurrent/ForkJoinTask<*>;
24 28 5 s I
32 36 3 i I
Signature: ([Ljava/util/concurrent/ForkJoinTask<*>;)V
MethodParameters:
Name Flags
tasks
public static <T extends java.util.concurrent.ForkJoinTask<?>> java.util.Collection<T> invokeAll(java.util.Collection<T>);
descriptor: (Ljava/util/Collection;)Ljava/util/Collection;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=7, args_size=1
start local 0 0: aload 0
instanceof java.util.RandomAccess
ifeq 1
aload 0
instanceof java.util.List
ifne 3
1: StackMap locals:
StackMap stack:
aload 0
iconst_0
anewarray java.util.concurrent.ForkJoinTask
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.util.concurrent.ForkJoinTask[]
invokestatic java.util.concurrent.ForkJoinTask.invokeAll:([Ljava/util/concurrent/ForkJoinTask;)V
2: aload 0
areturn
3: StackMap locals:
StackMap stack:
aload 0
checkcast java.util.List
4: astore 1
start local 1 5: aconst_null
astore 2
start local 2 6: aload 1
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 3
start local 3 7: iload 3
istore 4
start local 4 8: goto 22
9: StackMap locals: java.util.Collection java.util.List java.lang.Throwable int int
StackMap stack:
aload 1
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.concurrent.ForkJoinTask
dup
astore 5
start local 5 10: ifnonnull 13
11: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
astore 2
12: goto 23
13: StackMap locals: java.util.concurrent.ForkJoinTask
StackMap stack:
iload 4
ifne 20
14: aload 5
invokevirtual java.util.concurrent.ForkJoinTask.doExec:()I
dup
istore 6
start local 6 15: iflt 17
16: aload 5
aconst_null
iconst_1
iconst_0
iconst_0
lconst_0
invokevirtual java.util.concurrent.ForkJoinTask.awaitDone:(Ljava/util/concurrent/ForkJoinPool;ZZZJ)I
istore 6
17: StackMap locals: int
StackMap stack:
iload 6
ldc 65536
iand
ifeq 23
18: aload 5
iload 6
invokevirtual java.util.concurrent.ForkJoinTask.getException:(I)Ljava/lang/Throwable;
astore 2
19: goto 23
end local 6 20: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.util.concurrent.ForkJoinTask.fork:()Ljava/util/concurrent/ForkJoinTask;
pop
end local 5 21: iinc 4 -1
StackMap locals:
StackMap stack:
22: iload 4
ifge 9
end local 4 23: StackMap locals:
StackMap stack:
aload 2
ifnonnull 35
24: iconst_1
istore 4
start local 4 25: goto 34
26: StackMap locals: int
StackMap stack:
aload 1
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.concurrent.ForkJoinTask
dup
astore 5
start local 5 27: ifnull 33
28: aload 5
getfield java.util.concurrent.ForkJoinTask.status:I
dup
istore 6
start local 6 29: iflt 31
30: aload 5
aconst_null
iconst_0
iconst_0
iconst_0
lconst_0
invokevirtual java.util.concurrent.ForkJoinTask.awaitDone:(Ljava/util/concurrent/ForkJoinPool;ZZZJ)I
istore 6
31: StackMap locals: java.util.concurrent.ForkJoinTask int
StackMap stack:
iload 6
ldc 65536
iand
ifeq 33
aload 5
iload 6
invokevirtual java.util.concurrent.ForkJoinTask.getException:(I)Ljava/lang/Throwable;
dup
astore 2
ifnull 33
32: goto 35
end local 6 end local 5 33: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
34: iload 4
iload 3
if_icmple 26
end local 4 35: StackMap locals:
StackMap stack:
aload 2
ifnull 42
36: iconst_1
istore 4
start local 4 37: goto 40
38: StackMap locals: int
StackMap stack:
aload 1
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.concurrent.Future
invokestatic java.util.concurrent.ForkJoinTask.cancelIgnoringExceptions:(Ljava/util/concurrent/Future;)V
39: iinc 4 1
StackMap locals:
StackMap stack:
40: iload 4
iload 3
if_icmple 38
end local 4 41: aload 2
invokestatic java.util.concurrent.ForkJoinTask.rethrow:(Ljava/lang/Throwable;)V
42: StackMap locals:
StackMap stack:
aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 tasks Ljava/util/Collection<TT;>;
5 43 1 ts Ljava/util/List<+Ljava/util/concurrent/ForkJoinTask<*>;>;
6 43 2 ex Ljava/lang/Throwable;
7 43 3 last I
8 23 4 i I
10 21 5 t Ljava/util/concurrent/ForkJoinTask<*>;
15 20 6 s I
25 35 4 i I
27 33 5 t Ljava/util/concurrent/ForkJoinTask<*>;
29 33 6 s I
37 41 4 i I
Signature: <T:Ljava/util/concurrent/ForkJoinTask<*>;>(Ljava/util/Collection<TT;>;)Ljava/util/Collection<TT;>;
MethodParameters:
Name Flags
tasks
public boolean cancel(boolean);
descriptor: (Z)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.util.concurrent.ForkJoinTask.trySetCancelled:()I
ldc 196608
iand
ldc 65536
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 2 1 mayInterruptIfRunning Z
MethodParameters:
Name Flags
mayInterruptIfRunning
public final boolean isDone();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.concurrent.ForkJoinTask.status:I
ifge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
public final boolean isCancelled();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.concurrent.ForkJoinTask.status:I
ldc 196608
iand
ldc 65536
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
public final boolean isCompletedAbnormally();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.concurrent.ForkJoinTask.status:I
ldc 65536
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
public final boolean isCompletedNormally();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.concurrent.ForkJoinTask.status:I
ldc -2147418112
iand
ldc -2147483648
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
public final java.lang.Throwable getException();
descriptor: ()Ljava/lang/Throwable;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield java.util.concurrent.ForkJoinTask.status:I
invokevirtual java.util.concurrent.ForkJoinTask.getException:(I)Ljava/lang/Throwable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
public void completeExceptionally(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
instanceof java.lang.RuntimeException
ifne 2
1: aload 1
instanceof java.lang.Error
ifeq 3
StackMap locals:
StackMap stack: java.util.concurrent.ForkJoinTask
2: aload 1
goto 4
3: StackMap locals:
StackMap stack: java.util.concurrent.ForkJoinTask
new java.lang.RuntimeException
dup
aload 1
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
4: StackMap locals: java.util.concurrent.ForkJoinTask java.lang.Throwable
StackMap stack: java.util.concurrent.ForkJoinTask java.lang.Throwable
invokevirtual java.util.concurrent.ForkJoinTask.trySetException:(Ljava/lang/Throwable;)I
pop
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 6 1 ex Ljava/lang/Throwable;
MethodParameters:
Name Flags
ex
public void complete();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.util.concurrent.ForkJoinTask.setRawResult:(Ljava/lang/Object;)V
1: goto 5
StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 2
start local 2 3: aload 0
aload 2
invokevirtual java.util.concurrent.ForkJoinTask.trySetException:(Ljava/lang/Throwable;)I
pop
4: return
end local 2 5: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.concurrent.ForkJoinTask.setDone:()I
pop
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 7 1 value TV;
3 5 2 rex Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
Signature: (TV;)V
MethodParameters:
Name Flags
value
public final void quietlyComplete();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.util.concurrent.ForkJoinTask.setDone:()I
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
public final V get();
descriptor: ()Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
aconst_null
iconst_0
iconst_1
iconst_0
lconst_0
invokevirtual java.util.concurrent.ForkJoinTask.awaitDone:(Ljava/util/concurrent/ForkJoinPool;ZZZJ)I
istore 1
start local 1 1: iload 1
ldc 65536
iand
ifeq 3
2: aload 0
iload 1
invokevirtual java.util.concurrent.ForkJoinTask.reportExecutionException:(I)V
3: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.util.concurrent.ForkJoinTask.getRawResult:()Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
1 4 1 s I
Exceptions:
throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
Signature: ()TV;
public final V get(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 3 0: aload 3
lload 1
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
lstore 4
start local 4 1: aload 0
aconst_null
iconst_0
iconst_1
iconst_1
lload 4
invokevirtual java.util.concurrent.ForkJoinTask.awaitDone:(Ljava/util/concurrent/ForkJoinPool;ZZZJ)I
istore 6
start local 6 2: iload 6
ifge 3
iload 6
ldc 65536
iand
ifeq 4
3: StackMap locals: long int
StackMap stack:
aload 0
iload 6
invokevirtual java.util.concurrent.ForkJoinTask.reportExecutionException:(I)V
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.concurrent.ForkJoinTask.getRawResult:()Ljava/lang/Object;
areturn
end local 6 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 5 1 timeout J
0 5 3 unit Ljava/util/concurrent/TimeUnit;
1 5 4 nanos J
2 5 6 s I
Exceptions:
throws java.lang.InterruptedException, java.util.concurrent.ExecutionException, java.util.concurrent.TimeoutException
Signature: (JLjava/util/concurrent/TimeUnit;)TV;
MethodParameters:
Name Flags
timeout
unit
public final void quietlyJoin();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.concurrent.ForkJoinTask.status:I
iflt 2
1: aload 0
aconst_null
iconst_0
iconst_0
iconst_0
lconst_0
invokevirtual java.util.concurrent.ForkJoinTask.awaitDone:(Ljava/util/concurrent/ForkJoinPool;ZZZJ)I
pop
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
public final void quietlyInvoke();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.util.concurrent.ForkJoinTask.doExec:()I
iflt 2
1: aload 0
aconst_null
iconst_1
iconst_0
iconst_0
lconst_0
invokevirtual java.util.concurrent.ForkJoinTask.awaitDone:(Ljava/util/concurrent/ForkJoinPool;ZZZJ)I
pop
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
final void awaitPoolInvoke(java.util.concurrent.ForkJoinPool);
descriptor: (Ljava/util/concurrent/ForkJoinPool;)V
flags: (0x0010) ACC_FINAL
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
iconst_0
iconst_0
lconst_0
invokevirtual java.util.concurrent.ForkJoinTask.awaitDone:(Ljava/util/concurrent/ForkJoinPool;ZZZJ)I
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 2 1 pool Ljava/util/concurrent/ForkJoinPool;
MethodParameters:
Name Flags
pool
final void awaitPoolInvoke(java.util.concurrent.ForkJoinPool, long);
descriptor: (Ljava/util/concurrent/ForkJoinPool;J)V
flags: (0x0010) ACC_FINAL
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_0
iconst_1
iconst_1
lload 2
invokevirtual java.util.concurrent.ForkJoinTask.awaitDone:(Ljava/util/concurrent/ForkJoinPool;ZZZJ)I
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 2 1 pool Ljava/util/concurrent/ForkJoinPool;
0 2 2 nanos J
MethodParameters:
Name Flags
pool
nanos
final V joinForPoolInvoke(java.util.concurrent.ForkJoinPool);
descriptor: (Ljava/util/concurrent/ForkJoinPool;)Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
iconst_0
iconst_0
lconst_0
invokevirtual java.util.concurrent.ForkJoinTask.awaitDone:(Ljava/util/concurrent/ForkJoinPool;ZZZJ)I
istore 2
start local 2 1: iload 2
ldc 65536
iand
ifeq 3
2: aload 0
iload 2
invokevirtual java.util.concurrent.ForkJoinTask.reportException:(I)V
3: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.util.concurrent.ForkJoinTask.getRawResult:()Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 4 1 pool Ljava/util/concurrent/ForkJoinPool;
1 4 2 s I
Signature: (Ljava/util/concurrent/ForkJoinPool;)TV;
MethodParameters:
Name Flags
pool
final V getForPoolInvoke(java.util.concurrent.ForkJoinPool);
descriptor: (Ljava/util/concurrent/ForkJoinPool;)Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
iconst_1
iconst_0
lconst_0
invokevirtual java.util.concurrent.ForkJoinTask.awaitDone:(Ljava/util/concurrent/ForkJoinPool;ZZZJ)I
istore 2
start local 2 1: iload 2
ldc 65536
iand
ifeq 3
2: aload 0
iload 2
invokevirtual java.util.concurrent.ForkJoinTask.reportExecutionException:(I)V
3: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.util.concurrent.ForkJoinTask.getRawResult:()Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 4 1 pool Ljava/util/concurrent/ForkJoinPool;
1 4 2 s I
Exceptions:
throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
Signature: (Ljava/util/concurrent/ForkJoinPool;)TV;
MethodParameters:
Name Flags
pool
final V getForPoolInvoke(java.util.concurrent.ForkJoinPool, );
descriptor: (Ljava/util/concurrent/ForkJoinPool;J)Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_0
iconst_1
iconst_1
lload 2
invokevirtual java.util.concurrent.ForkJoinTask.awaitDone:(Ljava/util/concurrent/ForkJoinPool;ZZZJ)I
istore 4
start local 4 1: iload 4
ifge 2
iload 4
ldc 65536
iand
ifeq 3
2: StackMap locals: int
StackMap stack:
aload 0
iload 4
invokevirtual java.util.concurrent.ForkJoinTask.reportExecutionException:(I)V
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.concurrent.ForkJoinTask.getRawResult:()Ljava/lang/Object;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 4 1 pool Ljava/util/concurrent/ForkJoinPool;
0 4 2 nanos J
1 4 4 s I
Exceptions:
throws java.lang.InterruptedException, java.util.concurrent.ExecutionException, java.util.concurrent.TimeoutException
Signature: (Ljava/util/concurrent/ForkJoinPool;J)TV;
MethodParameters:
Name Flags
pool
nanos
public static void helpQuiesce();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=0
0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
dup
astore 0
start local 0 1: instanceof java.util.concurrent.ForkJoinWorkerThread
ifeq 6
2: aload 0
checkcast java.util.concurrent.ForkJoinWorkerThread
dup
astore 1
start local 1 3: getfield java.util.concurrent.ForkJoinWorkerThread.pool:Ljava/util/concurrent/ForkJoinPool;
dup
astore 2
start local 2 4: ifnull 6
5: aload 2
aload 1
getfield java.util.concurrent.ForkJoinWorkerThread.workQueue:Ljava/util/concurrent/ForkJoinPool$WorkQueue;
ldc 9223372036854775807
iconst_0
invokevirtual java.util.concurrent.ForkJoinPool.helpQuiescePool:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;JZ)I
pop
goto 7
end local 2 end local 1 6: StackMap locals: java.lang.Thread
StackMap stack:
getstatic java.util.concurrent.ForkJoinPool.common:Ljava/util/concurrent/ForkJoinPool;
ldc 9223372036854775807
iconst_0
invokevirtual java.util.concurrent.ForkJoinPool.externalHelpQuiescePool:(JZ)I
pop
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 8 0 t Ljava/lang/Thread;
3 6 1 w Ljava/util/concurrent/ForkJoinWorkerThread;
4 6 2 p Ljava/util/concurrent/ForkJoinPool;
public void reinitialize();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield java.util.concurrent.ForkJoinTask.aux:Ljava/util/concurrent/ForkJoinTask$Aux;
1: aload 0
iconst_0
putfield java.util.concurrent.ForkJoinTask.status:I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
public static java.util.concurrent.ForkJoinPool getPool();
descriptor: ()Ljava/util/concurrent/ForkJoinPool;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
dup
astore 0
start local 0 1: instanceof java.util.concurrent.ForkJoinWorkerThread
ifeq 3
2: aload 0
checkcast java.util.concurrent.ForkJoinWorkerThread
getfield java.util.concurrent.ForkJoinWorkerThread.pool:Ljava/util/concurrent/ForkJoinPool;
goto 4
StackMap locals: java.lang.Thread
StackMap stack:
3: aconst_null
4: StackMap locals:
StackMap stack: java.util.concurrent.ForkJoinPool
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 5 0 t Ljava/lang/Thread;
public static boolean inForkJoinPool();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
instanceof java.util.concurrent.ForkJoinWorkerThread
ireturn
LocalVariableTable:
Start End Slot Name Signature
public boolean tryUnfork();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
dup
astore 1
start local 1 1: instanceof java.util.concurrent.ForkJoinWorkerThread
ifeq 6
2: aload 1
checkcast java.util.concurrent.ForkJoinWorkerThread
getfield java.util.concurrent.ForkJoinWorkerThread.workQueue:Ljava/util/concurrent/ForkJoinPool$WorkQueue;
dup
astore 2
start local 2 3: ifnull 5
4: aload 2
aload 0
invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.tryUnpush:(Ljava/util/concurrent/ForkJoinTask;)Z
ifeq 5
iconst_1
goto 11
StackMap locals: java.lang.Thread java.util.concurrent.ForkJoinPool$WorkQueue
StackMap stack:
5: iconst_0
goto 11
end local 2 6: StackMap locals:
StackMap stack:
invokestatic java.util.concurrent.ForkJoinPool.commonQueue:()Ljava/util/concurrent/ForkJoinPool$WorkQueue;
dup
astore 2
start local 2 7: ifnull 10
8: aload 2
aload 0
invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.externalTryUnpush:(Ljava/util/concurrent/ForkJoinTask;)Z
ifeq 10
9: iconst_1
goto 11
StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
1 12 1 t Ljava/lang/Thread;
3 6 2 q Ljava/util/concurrent/ForkJoinPool$WorkQueue;
7 12 2 q Ljava/util/concurrent/ForkJoinPool$WorkQueue;
public static int getQueuedTaskCount();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=0
0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
dup
astore 0
start local 0 1: instanceof java.util.concurrent.ForkJoinWorkerThread
ifeq 4
2: aload 0
checkcast java.util.concurrent.ForkJoinWorkerThread
getfield java.util.concurrent.ForkJoinWorkerThread.workQueue:Ljava/util/concurrent/ForkJoinPool$WorkQueue;
astore 1
start local 1 3: goto 5
end local 1 4: StackMap locals: java.lang.Thread
StackMap stack:
invokestatic java.util.concurrent.ForkJoinPool.commonQueue:()Ljava/util/concurrent/ForkJoinPool$WorkQueue;
astore 1
start local 1 5: StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue
StackMap stack:
aload 1
ifnonnull 6
iconst_0
goto 7
StackMap locals:
StackMap stack:
6: aload 1
invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.queueSize:()I
StackMap locals:
StackMap stack: int
7: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 8 0 t Ljava/lang/Thread;
3 4 1 q Ljava/util/concurrent/ForkJoinPool$WorkQueue;
5 8 1 q Ljava/util/concurrent/ForkJoinPool$WorkQueue;
public static int getSurplusQueuedTaskCount();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic java.util.concurrent.ForkJoinPool.getSurplusQueuedTaskCount:()I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public abstract V getRawResult();
descriptor: ()Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: ()TV;
protected abstract void setRawResult();
descriptor: (Ljava/lang/Object;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (TV;)V
MethodParameters:
Name Flags
value
protected abstract boolean exec();
descriptor: ()Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected static java.util.concurrent.ForkJoinTask<?> peekNextLocalTask();
descriptor: ()Ljava/util/concurrent/ForkJoinTask;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=2, args_size=0
0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
dup
astore 0
start local 0 1: instanceof java.util.concurrent.ForkJoinWorkerThread
ifeq 4
2: aload 0
checkcast java.util.concurrent.ForkJoinWorkerThread
getfield java.util.concurrent.ForkJoinWorkerThread.workQueue:Ljava/util/concurrent/ForkJoinPool$WorkQueue;
astore 1
start local 1 3: goto 5
end local 1 4: StackMap locals: java.lang.Thread
StackMap stack:
invokestatic java.util.concurrent.ForkJoinPool.commonQueue:()Ljava/util/concurrent/ForkJoinPool$WorkQueue;
astore 1
start local 1 5: StackMap locals: java.util.concurrent.ForkJoinPool$WorkQueue
StackMap stack:
aload 1
ifnonnull 6
aconst_null
goto 7
StackMap locals:
StackMap stack:
6: aload 1
invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.peek:()Ljava/util/concurrent/ForkJoinTask;
StackMap locals:
StackMap stack: java.util.concurrent.ForkJoinTask
7: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 8 0 t Ljava/lang/Thread;
3 4 1 q Ljava/util/concurrent/ForkJoinPool$WorkQueue;
5 8 1 q Ljava/util/concurrent/ForkJoinPool$WorkQueue;
Signature: ()Ljava/util/concurrent/ForkJoinTask<*>;
protected static java.util.concurrent.ForkJoinTask<?> pollNextLocalTask();
descriptor: ()Ljava/util/concurrent/ForkJoinTask;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
dup
astore 0
start local 0 1: instanceof java.util.concurrent.ForkJoinWorkerThread
ifeq 3
2: aload 0
checkcast java.util.concurrent.ForkJoinWorkerThread
getfield java.util.concurrent.ForkJoinWorkerThread.workQueue:Ljava/util/concurrent/ForkJoinPool$WorkQueue;
invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.nextLocalTask:()Ljava/util/concurrent/ForkJoinTask;
goto 4
StackMap locals: java.lang.Thread
StackMap stack:
3: aconst_null
4: StackMap locals:
StackMap stack: java.util.concurrent.ForkJoinTask
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 5 0 t Ljava/lang/Thread;
Signature: ()Ljava/util/concurrent/ForkJoinTask<*>;
protected static java.util.concurrent.ForkJoinTask<?> pollTask();
descriptor: ()Ljava/util/concurrent/ForkJoinTask;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=2, args_size=0
0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
dup
astore 0
start local 0 1: instanceof java.util.concurrent.ForkJoinWorkerThread
ifeq 4
2: aload 0
checkcast java.util.concurrent.ForkJoinWorkerThread
dup
astore 1
start local 1 3: getfield java.util.concurrent.ForkJoinWorkerThread.pool:Ljava/util/concurrent/ForkJoinPool;
aload 1
getfield java.util.concurrent.ForkJoinWorkerThread.workQueue:Ljava/util/concurrent/ForkJoinPool$WorkQueue;
invokevirtual java.util.concurrent.ForkJoinPool.nextTaskFor:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)Ljava/util/concurrent/ForkJoinTask;
goto 5
end local 1 4: StackMap locals: java.lang.Thread
StackMap stack:
aconst_null
5: StackMap locals:
StackMap stack: java.util.concurrent.ForkJoinTask
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 6 0 t Ljava/lang/Thread;
3 4 1 w Ljava/util/concurrent/ForkJoinWorkerThread;
Signature: ()Ljava/util/concurrent/ForkJoinTask<*>;
protected static java.util.concurrent.ForkJoinTask<?> pollSubmission();
descriptor: ()Ljava/util/concurrent/ForkJoinTask;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
dup
astore 0
start local 0 1: instanceof java.util.concurrent.ForkJoinWorkerThread
ifeq 3
2: aload 0
checkcast java.util.concurrent.ForkJoinWorkerThread
getfield java.util.concurrent.ForkJoinWorkerThread.pool:Ljava/util/concurrent/ForkJoinPool;
invokevirtual java.util.concurrent.ForkJoinPool.pollSubmission:()Ljava/util/concurrent/ForkJoinTask;
goto 4
StackMap locals: java.lang.Thread
StackMap stack:
3: aconst_null
4: StackMap locals:
StackMap stack: java.util.concurrent.ForkJoinTask
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 5 0 t Ljava/lang/Thread;
Signature: ()Ljava/util/concurrent/ForkJoinTask<*>;
public final short getForkJoinTaskTag();
descriptor: ()S
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.concurrent.ForkJoinTask.status:I
i2s
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
public final short setForkJoinTaskTag(short);
descriptor: (S)S
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.util.concurrent.ForkJoinTask.status:I
dup
istore 2
start local 2 1: iload 2
ldc -65536
iand
iload 1
ldc 65535
iand
ior
invokevirtual java.util.concurrent.ForkJoinTask.casStatus:(II)Z
ifeq 0
2: iload 2
i2s
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 3 1 newValue S
1 3 2 s I
MethodParameters:
Name Flags
newValue
public final boolean compareAndSetForkJoinTaskTag(short, short);
descriptor: (SS)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: StackMap locals:
StackMap stack:
aload 0
getfield java.util.concurrent.ForkJoinTask.status:I
dup
istore 3
start local 3 1: i2s
iload 1
if_icmpeq 3
2: iconst_0
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
iload 3
iload 3
ldc -65536
iand
iload 2
ldc 65535
iand
ior
invokevirtual java.util.concurrent.ForkJoinTask.casStatus:(II)Z
ifeq 0
4: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 5 1 expect S
0 5 2 update S
1 5 3 s I
MethodParameters:
Name Flags
expect
update
public static java.util.concurrent.ForkJoinTask<?> adapt(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)Ljava/util/concurrent/ForkJoinTask;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.util.concurrent.ForkJoinTask$AdaptedRunnableAction
dup
aload 0
invokespecial java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.<init>:(Ljava/lang/Runnable;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runnable Ljava/lang/Runnable;
Signature: (Ljava/lang/Runnable;)Ljava/util/concurrent/ForkJoinTask<*>;
MethodParameters:
Name Flags
runnable
public static <T> java.util.concurrent.ForkJoinTask<T> adapt(java.lang.Runnable, T);
descriptor: (Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/ForkJoinTask;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.util.concurrent.ForkJoinTask$AdaptedRunnable
dup
aload 0
aload 1
invokespecial java.util.concurrent.ForkJoinTask$AdaptedRunnable.<init>:(Ljava/lang/Runnable;Ljava/lang/Object;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runnable Ljava/lang/Runnable;
0 1 1 result TT;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Runnable;TT;)Ljava/util/concurrent/ForkJoinTask<TT;>;
MethodParameters:
Name Flags
runnable
result
public static <T> java.util.concurrent.ForkJoinTask<T> adapt(java.util.concurrent.Callable<? extends T>);
descriptor: (Ljava/util/concurrent/Callable;)Ljava/util/concurrent/ForkJoinTask;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.util.concurrent.ForkJoinTask$AdaptedCallable
dup
aload 0
invokespecial java.util.concurrent.ForkJoinTask$AdaptedCallable.<init>:(Ljava/util/concurrent/Callable;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 callable Ljava/util/concurrent/Callable<+TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/util/concurrent/Callable<+TT;>;)Ljava/util/concurrent/ForkJoinTask<TT;>;
MethodParameters:
Name Flags
callable
private static <T> java.util.concurrent.ForkJoinTask<T> adaptInterruptible(java.util.concurrent.Callable<? extends T>);
descriptor: (Ljava/util/concurrent/Callable;)Ljava/util/concurrent/ForkJoinTask;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.util.concurrent.ForkJoinTask$AdaptedInterruptibleCallable
dup
aload 0
invokespecial java.util.concurrent.ForkJoinTask$AdaptedInterruptibleCallable.<init>:(Ljava/util/concurrent/Callable;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 callable Ljava/util/concurrent/Callable<+TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/util/concurrent/Callable<+TT;>;)Ljava/util/concurrent/ForkJoinTask<TT;>;
MethodParameters:
Name Flags
callable
private void writeObject(java.io.ObjectOutputStream);
descriptor: (Ljava/io/ObjectOutputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
1: aload 1
aload 0
getfield java.util.concurrent.ForkJoinTask.aux:Ljava/util/concurrent/ForkJoinTask$Aux;
dup
astore 2
start local 2 2: ifnonnull 3
aconst_null
goto 4
StackMap locals: java.util.concurrent.ForkJoinTask java.io.ObjectOutputStream java.util.concurrent.ForkJoinTask$Aux
StackMap stack: java.io.ObjectOutputStream
3: aload 2
getfield java.util.concurrent.ForkJoinTask$Aux.ex:Ljava/lang/Throwable;
StackMap locals: java.util.concurrent.ForkJoinTask java.io.ObjectOutputStream java.util.concurrent.ForkJoinTask$Aux
StackMap stack: java.io.ObjectOutputStream java.lang.Throwable
4: invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 6 1 s Ljava/io/ObjectOutputStream;
2 6 2 a Ljava/util/concurrent/ForkJoinTask$Aux;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
private void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
1: aload 1
invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 0
aload 2
checkcast java.lang.Throwable
invokevirtual java.util.concurrent.ForkJoinTask.trySetThrown:(Ljava/lang/Throwable;)I
pop
4: StackMap locals: java.lang.Object
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/concurrent/ForkJoinTask<TV;>;
0 5 1 s Ljava/io/ObjectInputStream;
2 5 2 ex Ljava/lang/Object;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
s
}
Signature: <V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/concurrent/Future<TV;>;Ljava/io/Serializable;
SourceFile: "ForkJoinTask.java"
NestMembers:
java.util.concurrent.ForkJoinTask$AdaptedCallable java.util.concurrent.ForkJoinTask$AdaptedInterruptibleCallable java.util.concurrent.ForkJoinTask$AdaptedRunnable java.util.concurrent.ForkJoinTask$AdaptedRunnableAction java.util.concurrent.ForkJoinTask$Aux java.util.concurrent.ForkJoinTask$RunnableExecuteAction
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
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 AdaptedInterruptibleCallable = java.util.concurrent.ForkJoinTask$AdaptedInterruptibleCallable 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 Aux = java.util.concurrent.ForkJoinTask$Aux of java.util.concurrent.ForkJoinTask
final RunnableExecuteAction = java.util.concurrent.ForkJoinTask$RunnableExecuteAction of java.util.concurrent.ForkJoinTask