abstract class org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask<K, V, R> extends java.util.concurrent.CountedCompleter<R>
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask
super_class: java.util.concurrent.CountedCompleter
{
org.ehcache.impl.internal.concurrent.ConcurrentHashMap$Node<K, V>[] tab;
descriptor: [Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;
flags: (0x0000)
Signature: [Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node<TK;TV;>;
org.ehcache.impl.internal.concurrent.ConcurrentHashMap$Node<K, V> next;
descriptor: Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;
flags: (0x0000)
Signature: Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node<TK;TV;>;
org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TableStack<K, V> stack;
descriptor: Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TableStack;
flags: (0x0000)
Signature: Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TableStack<TK;TV;>;
org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TableStack<K, V> spare;
descriptor: Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TableStack;
flags: (0x0000)
Signature: Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TableStack<TK;TV;>;
int index;
descriptor: I
flags: (0x0000)
int baseIndex;
descriptor: I
flags: (0x0000)
int baseLimit;
descriptor: I
flags: (0x0000)
final int baseSize;
descriptor: I
flags: (0x0010) ACC_FINAL
int batch;
descriptor: I
flags: (0x0000)
void <init>(org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask<K, V, ?>, int, int, int, org.ehcache.impl.internal.concurrent.ConcurrentHashMap$Node<K, V>[]);
descriptor: (Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$BulkTask;III[Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
invokespecial java.util.concurrent.CountedCompleter.<init>:(Ljava/util/concurrent/CountedCompleter;)V
1: aload 0
iload 2
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.batch:I
2: aload 0
aload 0
iload 3
dup_x1
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.baseIndex:I
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.index:I
3: aload 0
aload 5
dup_x1
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.tab:[Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;
ifnonnull 5
4: aload 0
aload 0
iconst_0
dup_x1
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.baseLimit:I
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.baseSize:I
goto 9
5: StackMap locals: org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask int int int org.ehcache.impl.internal.concurrent.ConcurrentHashMap$Node[]
StackMap stack:
aload 1
ifnonnull 7
6: aload 0
aload 0
aload 5
arraylength
dup_x1
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.baseLimit:I
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.baseSize:I
goto 9
7: StackMap locals:
StackMap stack:
aload 0
iload 4
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.baseLimit:I
8: aload 0
aload 1
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.baseSize:I
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.baseSize:I
9: StackMap locals:
StackMap stack:
return
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 10 0 this Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$BulkTask<TK;TV;TR;>;
0 10 1 par Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$BulkTask<TK;TV;*>;
0 10 2 b I
0 10 3 i I
0 10 4 f I
0 10 5 t [Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;
Signature: (Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$BulkTask<TK;TV;*>;III[Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node<TK;TV;>;)V
MethodParameters:
Name Flags
par
b
i
f
t
final org.ehcache.impl.internal.concurrent.ConcurrentHashMap$Node<K, V> advance();
descriptor: ()Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.next:Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;
dup
astore 1
start local 1 1: ifnull 3
2: aload 1
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$Node.next:Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;
astore 1
3: StackMap locals: org.ehcache.impl.internal.concurrent.ConcurrentHashMap$Node
StackMap stack:
aload 1
ifnull 5
4: aload 0
aload 1
dup_x1
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.next:Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;
areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.baseIndex:I
aload 0
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.baseLimit:I
if_icmpge 10
aload 0
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.tab:[Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;
dup
astore 2
start local 2 6: ifnull 10
7: aload 2
arraylength
dup
istore 4
start local 4 8: aload 0
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.index:I
dup
istore 3
start local 3 9: if_icmple 10
iload 3
ifge 11
end local 4 end local 3 end local 2 10: StackMap locals:
StackMap stack:
aload 0
aconst_null
dup_x1
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.next:Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;
areturn
start local 2 start local 3 start local 4 11: StackMap locals: org.ehcache.impl.internal.concurrent.ConcurrentHashMap$Node[] int int
StackMap stack:
aload 2
iload 3
invokestatic org.ehcache.impl.internal.concurrent.ConcurrentHashMap.tabAt:([Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;I)Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;
dup
astore 1
ifnull 20
aload 1
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$Node.hash:I
ifge 20
12: aload 1
instanceof org.ehcache.impl.internal.concurrent.ConcurrentHashMap$ForwardingNode
ifeq 17
13: aload 0
aload 1
checkcast org.ehcache.impl.internal.concurrent.ConcurrentHashMap$ForwardingNode
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$ForwardingNode.nextTable:[Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.tab:[Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;
14: aconst_null
astore 1
15: aload 0
aload 2
iload 3
iload 4
invokevirtual org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.pushState:([Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;II)V
16: goto 3
17: StackMap locals:
StackMap stack:
aload 1
instanceof org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeBin
ifeq 19
18: aload 1
checkcast org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeBin
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeBin.first:Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TreeNode;
astore 1
goto 20
19: StackMap locals:
StackMap stack:
aconst_null
astore 1
20: StackMap locals:
StackMap stack:
aload 0
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.stack:Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TableStack;
ifnull 22
21: aload 0
iload 4
invokevirtual org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.recoverState:(I)V
goto 3
22: StackMap locals:
StackMap stack:
aload 0
iload 3
aload 0
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.baseSize:I
iadd
dup_x1
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.index:I
iload 4
if_icmplt 3
23: aload 0
aload 0
dup
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.baseIndex:I
iconst_1
iadd
dup_x1
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.baseIndex:I
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.index:I
end local 4 end local 3 end local 2 24: goto 3
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$BulkTask<TK;TV;TR;>;
1 25 1 e Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node<TK;TV;>;
6 10 2 t [Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;
11 24 2 t [Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;
9 10 3 i I
11 24 3 i I
8 10 4 n I
11 24 4 n I
Signature: ()Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node<TK;TV;>;
private void pushState(org.ehcache.impl.internal.concurrent.ConcurrentHashMap$Node<K, V>[], int, );
descriptor: ([Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.spare:Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TableStack;
astore 4
start local 4 1: aload 4
ifnull 3
2: aload 0
aload 4
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TableStack.next:Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TableStack;
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.spare:Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TableStack;
goto 4
3: StackMap locals: org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TableStack
StackMap stack:
new org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TableStack
dup
invokespecial org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TableStack.<init>:()V
astore 4
4: StackMap locals:
StackMap stack:
aload 4
aload 1
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TableStack.tab:[Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;
5: aload 4
iload 3
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TableStack.length:I
6: aload 4
iload 2
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TableStack.index:I
7: aload 4
aload 0
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.stack:Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TableStack;
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TableStack.next:Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TableStack;
8: aload 0
aload 4
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.stack:Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TableStack;
9: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$BulkTask<TK;TV;TR;>;
0 10 1 t [Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;
0 10 2 i I
0 10 3 n I
1 10 4 s Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TableStack<TK;TV;>;
Signature: ([Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node<TK;TV;>;II)V
MethodParameters:
Name Flags
t
i
n
private void recoverState(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: goto 9
start local 2 start local 3 1: StackMap locals: org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TableStack int
StackMap stack:
iload 3
istore 1
2: aload 0
aload 2
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TableStack.index:I
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.index:I
3: aload 0
aload 2
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TableStack.tab:[Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.tab:[Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;
4: aload 2
aconst_null
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TableStack.tab:[Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$Node;
5: aload 2
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TableStack.next:Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TableStack;
astore 4
start local 4 6: aload 2
aload 0
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.spare:Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TableStack;
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TableStack.next:Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TableStack;
7: aload 0
aload 4
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.stack:Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TableStack;
8: aload 0
aload 2
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.spare:Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TableStack;
end local 4 end local 3 end local 2 9: StackMap locals:
StackMap stack:
aload 0
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.stack:Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TableStack;
dup
astore 2
start local 2 10: ifnull 12
aload 0
dup
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.index:I
aload 2
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TableStack.length:I
dup
istore 3
start local 3 11: iadd
dup_x1
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.index:I
iload 1
if_icmpge 1
end local 3 12: StackMap locals: org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TableStack
StackMap stack:
aload 2
ifnonnull 14
aload 0
dup
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.index:I
aload 0
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.baseSize:I
iadd
dup_x1
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.index:I
iload 1
if_icmplt 14
13: aload 0
aload 0
dup
getfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.baseIndex:I
iconst_1
iadd
dup_x1
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.baseIndex:I
putfield org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask.index:I
14: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$BulkTask<TK;TV;TR;>;
0 15 1 n I
1 9 2 s Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TableStack<TK;TV;>;
10 15 2 s Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TableStack<TK;TV;>;
1 9 3 len I
11 12 3 len I
6 9 4 next Lorg/ehcache/impl/internal/concurrent/ConcurrentHashMap$TableStack<TK;TV;>;
MethodParameters:
Name Flags
n
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;R:Ljava/lang/Object;>Ljava/util/concurrent/CountedCompleter<TR;>;
SourceFile: "ConcurrentHashMap.java"
NestHost: org.ehcache.impl.internal.concurrent.ConcurrentHashMap
InnerClasses:
abstract BulkTask = org.ehcache.impl.internal.concurrent.ConcurrentHashMap$BulkTask of org.ehcache.impl.internal.concurrent.ConcurrentHashMap
final ForwardingNode = org.ehcache.impl.internal.concurrent.ConcurrentHashMap$ForwardingNode of org.ehcache.impl.internal.concurrent.ConcurrentHashMap
Node = org.ehcache.impl.internal.concurrent.ConcurrentHashMap$Node of org.ehcache.impl.internal.concurrent.ConcurrentHashMap
final TableStack = org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TableStack of org.ehcache.impl.internal.concurrent.ConcurrentHashMap
final TreeBin = org.ehcache.impl.internal.concurrent.ConcurrentHashMap$TreeBin of org.ehcache.impl.internal.concurrent.ConcurrentHashMap