public final class org.eclipse.collections.impl.map.mutable.ConcurrentHashMap<K, V> extends org.eclipse.collections.impl.map.mutable.AbstractMutableMap<K, V> implements org.eclipse.collections.api.map.ConcurrentMutableMap<K, V>, java.io.Externalizable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap
super_class: org.eclipse.collections.impl.map.mutable.AbstractMutableMap
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final java.lang.Object RESIZE_SENTINEL;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int DEFAULT_INITIAL_CAPACITY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int MAXIMUM_CAPACITY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1073741824
private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<org.eclipse.collections.impl.map.mutable.ConcurrentHashMap, java.util.concurrent.atomic.AtomicReferenceArray> TABLE_UPDATER;
descriptor: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;Ljava/util/concurrent/atomic/AtomicReferenceArray;>;
private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<org.eclipse.collections.impl.map.mutable.ConcurrentHashMap> SIZE_UPDATER;
descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;>;
private static final java.lang.Object RESIZED;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Object RESIZING;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int PARTITIONED_SIZE_THRESHOLD;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4096
private static final int SIZE_BUCKETS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 7
private volatile java.util.concurrent.atomic.AtomicReferenceArray table;
descriptor: Ljava/util/concurrent/atomic/AtomicReferenceArray;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private java.util.concurrent.atomic.AtomicIntegerArray partitionedSize;
descriptor: Ljava/util/concurrent/atomic/AtomicIntegerArray;
flags: (0x0002) ACC_PRIVATE
private volatile int size;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZE_SENTINEL:Ljava/lang/Object;
1: ldc Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
ldc Ljava/util/concurrent/atomic/AtomicReferenceArray;
ldc "table"
invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
putstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.TABLE_UPDATER:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
2: ldc Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
ldc "size"
invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
putstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.SIZE_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
3: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
4: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
5: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
bipush 16
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.<init>:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.eclipse.collections.impl.map.mutable.AbstractMutableMap.<init>:()V
1: iload 1
ifge 3
2: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Illegal Initial Capacity: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap int
StackMap stack:
iload 1
ldc 1073741824
if_icmple 5
4: ldc 1073741824
istore 1
5: StackMap locals:
StackMap stack:
iload 1
istore 2
start local 2 6: iload 2
iload 2
iconst_1
ishr
iadd
istore 2
7: iconst_1
istore 3
start local 3 8: goto 10
9: StackMap locals: int int
StackMap stack:
iload 3
iconst_1
ishl
istore 3
10: StackMap locals:
StackMap stack:
iload 3
iload 2
if_icmplt 9
11: iload 3
sipush 4096
if_icmplt 13
12: aload 0
new java.util.concurrent.atomic.AtomicIntegerArray
dup
bipush 112
invokespecial java.util.concurrent.atomic.AtomicIntegerArray.<init>:(I)V
putfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.partitionedSize:Ljava/util/concurrent/atomic/AtomicIntegerArray;
13: StackMap locals:
StackMap stack:
aload 0
new java.util.concurrent.atomic.AtomicReferenceArray
dup
iload 3
iconst_1
iadd
invokespecial java.util.concurrent.atomic.AtomicReferenceArray.<init>:(I)V
putfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
14: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 15 1 initialCapacity I
6 15 2 threshold I
8 15 3 capacity I
MethodParameters:
Name Flags
initialCapacity
public static <K, V> org.eclipse.collections.impl.map.mutable.ConcurrentHashMap<K, V> newMap();
descriptor: ()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap
dup
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
public static <K, V> org.eclipse.collections.impl.map.mutable.ConcurrentHashMap<K, V> newMap(int);
descriptor: (I)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap
dup
iload 0
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.<init>:(I)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 newSize I
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(I)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
MethodParameters:
Name Flags
newSize
private static int indexFor(int, int);
descriptor: (II)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iload 1
iconst_2
isub
iand
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 h I
0 1 1 length I
MethodParameters:
Name Flags
h
length
public V putIfAbsent(K, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.hash:(Ljava/lang/Object;)I
istore 3
start local 3 1: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 4
start local 4 2: StackMap locals: int java.util.concurrent.atomic.AtomicReferenceArray
StackMap stack:
aload 4
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 5
start local 5 3: iload 3
iload 5
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 6
start local 6 4: aload 4
iload 6
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 7
start local 7 5: aload 7
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 6
aload 7
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 8
6: StackMap locals: int int java.lang.Object
StackMap stack:
aload 0
aload 4
iload 6
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.helpWithResizeWhileCurrentIndex:(Ljava/util/concurrent/atomic/AtomicReferenceArray;I)Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 4
7: goto 2
8: StackMap locals:
StackMap stack:
aload 7
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 8
start local 8 9: goto 14
10: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
astore 9
start local 9 11: aload 9
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 13
12: aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
areturn
13: StackMap locals: java.lang.Object
StackMap stack:
aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 8
end local 9 14: StackMap locals:
StackMap stack:
aload 8
ifnonnull 10
15: new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
dup
aload 1
aload 2
aload 7
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.<init>:(Ljava/lang/Object;Ljava/lang/Object;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
astore 9
start local 9 16: aload 4
iload 6
aload 7
aload 9
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 2
17: aload 0
aload 4
iload 5
aload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.incrementSizeAndPossiblyResize:(Ljava/util/concurrent/atomic/AtomicReferenceArray;ILjava/lang/Object;)V
18: aconst_null
areturn
end local 9 end local 8 end local 7 end local 6 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 19 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 19 1 key TK;
0 19 2 value TV;
1 19 3 hash I
2 19 4 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
3 19 5 length I
4 19 6 index I
5 19 7 o Ljava/lang/Object;
9 19 8 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
11 14 9 candidate TK;
16 19 9 newEntry Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
Signature: (TK;TV;)TV;
MethodParameters:
Name Flags
key
value
private void incrementSizeAndPossiblyResize(java.util.concurrent.atomic.AtomicReferenceArray, int, java.lang.Object);
descriptor: (Ljava/util/concurrent/atomic/AtomicReferenceArray;ILjava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iconst_1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.addToSize:(I)V
1: aload 3
ifnull 6
2: aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.size:()I
istore 4
start local 4 3: iload 2
iconst_1
ishr
iload 2
iconst_2
ishr
iadd
istore 5
start local 5 4: iload 4
iconst_1
iadd
iload 5
if_icmple 6
5: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.resize:(Ljava/util/concurrent/atomic/AtomicReferenceArray;)V
end local 5 end local 4 6: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 7 1 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
0 7 2 length I
0 7 3 prev Ljava/lang/Object;
3 6 4 localSize I
4 6 5 threshold I
MethodParameters:
Name Flags
currentArray
length
prev
private int hash(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Object.hashCode:()I
istore 2
start local 2 1: iload 2
iload 2
bipush 20
iushr
iload 2
bipush 12
iushr
ixor
ixor
istore 2
2: iload 2
iload 2
bipush 7
iushr
iload 2
iconst_4
iushr
ixor
ixor
istore 2
3: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 4 1 key Ljava/lang/Object;
1 4 2 h I
MethodParameters:
Name Flags
key
private java.util.concurrent.atomic.AtomicReferenceArray helpWithResizeWhileCurrentIndex(java.util.concurrent.atomic.AtomicReferenceArray, int);
descriptor: (Ljava/util/concurrent/atomic/AtomicReferenceArray;I)Ljava/util/concurrent/atomic/AtomicReferenceArray;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.helpWithResize:(Ljava/util/concurrent/atomic/AtomicReferenceArray;)Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 7
3: StackMap locals: java.util.concurrent.atomic.AtomicReferenceArray int
StackMap stack:
iinc 4 1
4: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.helpWithResize:(Ljava/util/concurrent/atomic/AtomicReferenceArray;)Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 3
5: iload 4
bipush 7
iand
ifne 7
6: invokestatic java.lang.Thread.yield:()V
7: StackMap locals:
StackMap stack:
aload 1
iload 2
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpne 3
8: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 9 1 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
0 9 2 index I
1 9 3 newArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
2 9 4 helpCount I
MethodParameters:
Name Flags
currentArray
index
private java.util.concurrent.atomic.AtomicReferenceArray helpWithResize(java.util.concurrent.atomic.AtomicReferenceArray);
descriptor: (Ljava/util/concurrent/atomic/AtomicReferenceArray;)Ljava/util/concurrent/atomic/AtomicReferenceArray;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
iconst_1
isub
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer
astore 2
start local 2 1: aload 2
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.nextArray:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 3
start local 3 2: aload 2
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.getQueuePosition:()I
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.QUEUE_INCREMENT:I
if_icmple 6
3: aload 2
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.incrementResizer:()V
4: aload 0
aload 1
aload 2
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.reverseTransfer:(Ljava/util/concurrent/atomic/AtomicReferenceArray;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$ResizeContainer;)V
5: aload 2
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.decrementResizerAndNotify:()V
6: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer java.util.concurrent.atomic.AtomicReferenceArray
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 7 1 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
1 7 2 resizeContainer Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$ResizeContainer;
2 7 3 newTable Ljava/util/concurrent/atomic/AtomicReferenceArray;
MethodParameters:
Name Flags
currentArray
private void resize(java.util.concurrent.atomic.AtomicReferenceArray);
descriptor: (Ljava/util/concurrent/atomic/AtomicReferenceArray;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
iconst_1
isub
iconst_1
ishl
iconst_1
iadd
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.resize:(Ljava/util/concurrent/atomic/AtomicReferenceArray;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 2 1 oldTable Ljava/util/concurrent/atomic/AtomicReferenceArray;
MethodParameters:
Name Flags
oldTable
private void resize(java.util.concurrent.atomic.AtomicReferenceArray, int);
descriptor: (Ljava/util/concurrent/atomic/AtomicReferenceArray;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 3
start local 3 1: iload 3
iconst_1
isub
istore 4
start local 4 2: aload 1
iload 4
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 5
start local 5 3: aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.size:()I
iload 4
if_icmpge 5
aload 5
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZE_SENTINEL:Ljava/lang/Object;
if_acmpne 5
4: return
5: StackMap locals: int int java.lang.Object
StackMap stack:
iload 3
ldc 1073741824
if_icmplt 7
6: new java.lang.RuntimeException
dup
ldc "index is too large!"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 8: iconst_0
istore 7
start local 7 9: aload 5
ifnull 10
aload 5
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZE_SENTINEL:Ljava/lang/Object;
if_acmpne 22
10: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer int
StackMap stack:
aload 1
dup
astore 8
monitorenter
11: aload 1
iload 4
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
ifnonnull 18
12: aload 1
iload 4
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZE_SENTINEL:Ljava/lang/Object;
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
13: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.partitionedSize:Ljava/util/concurrent/atomic/AtomicIntegerArray;
ifnonnull 15
iload 2
sipush 4096
if_icmplt 15
14: aload 0
new java.util.concurrent.atomic.AtomicIntegerArray
dup
bipush 112
invokespecial java.util.concurrent.atomic.AtomicIntegerArray.<init>:(I)V
putfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.partitionedSize:Ljava/util/concurrent/atomic/AtomicIntegerArray;
15: StackMap locals: java.util.concurrent.atomic.AtomicReferenceArray
StackMap stack:
new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer
dup
new java.util.concurrent.atomic.AtomicReferenceArray
dup
iload 2
invokespecial java.util.concurrent.atomic.AtomicReferenceArray.<init>:(I)V
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
iconst_1
isub
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.<init>:(Ljava/util/concurrent/atomic/AtomicReferenceArray;I)V
astore 6
16: aload 1
iload 4
aload 6
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
17: iconst_1
istore 7
18: StackMap locals:
StackMap stack:
aload 8
monitorexit
19: goto 22
StackMap locals:
StackMap stack: java.lang.Throwable
20: aload 8
monitorexit
21: athrow
22: StackMap locals:
StackMap stack:
iload 7
ifeq 30
23: aload 0
aload 1
aload 6
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.transfer:(Ljava/util/concurrent/atomic/AtomicReferenceArray;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$ResizeContainer;)V
24: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 8
start local 8 25: goto 28
26: StackMap locals: java.util.concurrent.atomic.AtomicReferenceArray
StackMap stack:
aload 8
aload 1
if_acmpeq 28
27: aload 0
aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.helpWithResize:(Ljava/util/concurrent/atomic/AtomicReferenceArray;)Ljava/util/concurrent/atomic/AtomicReferenceArray;
pop
28: StackMap locals:
StackMap stack:
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.TABLE_UPDATER:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
aload 1
aload 6
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.nextArray:Ljava/util/concurrent/atomic/AtomicReferenceArray;
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 26
end local 8 29: goto 31
30: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.helpWithResize:(Ljava/util/concurrent/atomic/AtomicReferenceArray;)Ljava/util/concurrent/atomic/AtomicReferenceArray;
pop
31: StackMap locals:
StackMap stack:
return
end local 7 end local 6 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 32 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 32 1 oldTable Ljava/util/concurrent/atomic/AtomicReferenceArray;
0 32 2 newSize I
1 32 3 oldCapacity I
2 32 4 end I
3 32 5 last Ljava/lang/Object;
8 32 6 resizeContainer Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$ResizeContainer;
9 32 7 ownResize Z
25 29 8 src Ljava/util/concurrent/atomic/AtomicReferenceArray;
Exception table:
from to target type
11 19 20 any
20 21 20 any
MethodParameters:
Name Flags
oldTable
newSize
private void transfer(java.util.concurrent.atomic.AtomicReferenceArray, org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer);
descriptor: (Ljava/util/concurrent/atomic/AtomicReferenceArray;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$ResizeContainer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.nextArray:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 20
3: StackMap locals: java.util.concurrent.atomic.AtomicReferenceArray int
StackMap stack:
aload 1
iload 4
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 5
start local 5 4: aload 5
ifnonnull 8
5: aload 1
iload 4
aconst_null
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 20
6: iinc 4 1
7: goto 20
8: StackMap locals: java.lang.Object
StackMap stack:
aload 5
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 9
aload 5
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 12
9: StackMap locals:
StackMap stack:
iload 4
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.QUEUE_INCREMENT:I
iconst_1
isub
iconst_m1
ixor
iand
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.QUEUE_INCREMENT:I
iadd
istore 4
10: aload 2
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.resizers:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
iconst_1
if_icmpne 20
11: goto 21
12: StackMap locals:
StackMap stack:
aload 5
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 6
start local 6 13: aload 1
iload 4
aload 5
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 20
14: goto 17
15: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 0
aload 3
aload 6
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.unconditionalCopy:(Ljava/util/concurrent/atomic/AtomicReferenceArray;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
16: aload 6
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 6
17: StackMap locals:
StackMap stack:
aload 6
ifnonnull 15
18: aload 1
iload 4
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
19: iinc 4 1
end local 6 end local 5 20: StackMap locals:
StackMap stack:
iload 4
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
iconst_1
isub
if_icmplt 3
end local 4 21: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.decrementResizerAndNotify:()V
22: aload 2
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.waitForAllResizers:()V
23: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 24 1 src Ljava/util/concurrent/atomic/AtomicReferenceArray;
0 24 2 resizeContainer Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$ResizeContainer;
1 24 3 dest Ljava/util/concurrent/atomic/AtomicReferenceArray;
2 21 4 j I
4 20 5 o Ljava/lang/Object;
13 20 6 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
MethodParameters:
Name Flags
src
resizeContainer
private void reverseTransfer(java.util.concurrent.atomic.AtomicReferenceArray, org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer);
descriptor: (Ljava/util/concurrent/atomic/AtomicReferenceArray;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$ResizeContainer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.nextArray:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 3
start local 3 1: goto 26
2: StackMap locals: java.util.concurrent.atomic.AtomicReferenceArray
StackMap stack:
aload 2
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.subtractAndGetQueuePosition:()I
istore 4
start local 4 3: iload 4
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.QUEUE_INCREMENT:I
iadd
istore 5
start local 5 4: iload 5
ifle 26
5: iload 4
ifge 7
6: iconst_0
istore 4
7: StackMap locals: int int
StackMap stack:
iload 5
iconst_1
isub
istore 6
start local 6 8: goto 25
9: StackMap locals: int
StackMap stack:
aload 1
iload 6
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 7
start local 7 10: aload 7
ifnonnull 14
11: aload 1
iload 6
aconst_null
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 25
12: iinc 6 -1
13: goto 25
14: StackMap locals: java.lang.Object
StackMap stack:
aload 7
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 15
aload 7
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 17
15: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.zeroOutQueuePosition:()V
16: return
17: StackMap locals:
StackMap stack:
aload 7
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 8
start local 8 18: aload 1
iload 6
aload 7
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 25
19: goto 22
20: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 0
aload 3
aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.unconditionalCopy:(Ljava/util/concurrent/atomic/AtomicReferenceArray;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
21: aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 8
22: StackMap locals:
StackMap stack:
aload 8
ifnonnull 20
23: aload 1
iload 6
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
24: iinc 6 -1
end local 8 end local 7 25: StackMap locals:
StackMap stack:
iload 6
iload 4
if_icmpge 9
end local 6 end local 5 end local 4 26: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.getQueuePosition:()I
ifgt 2
27: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 28 1 src Ljava/util/concurrent/atomic/AtomicReferenceArray;
0 28 2 resizeContainer Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$ResizeContainer;
1 28 3 dest Ljava/util/concurrent/atomic/AtomicReferenceArray;
3 26 4 start I
4 26 5 end I
8 26 6 j I
10 25 7 o Ljava/lang/Object;
18 25 8 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
MethodParameters:
Name Flags
src
resizeContainer
private void unconditionalCopy(java.util.concurrent.atomic.AtomicReferenceArray, org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry<K, V>);
descriptor: (Ljava/util/concurrent/atomic/AtomicReferenceArray;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.hash:(Ljava/lang/Object;)I
istore 3
start local 3 1: aload 1
astore 4
start local 4 2: StackMap locals: int java.util.concurrent.atomic.AtomicReferenceArray
StackMap stack:
aload 4
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 5
start local 5 3: iload 3
iload 5
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 6
start local 6 4: aload 4
iload 6
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 7
start local 7 5: aload 7
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 6
aload 7
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 8
6: StackMap locals: int int java.lang.Object
StackMap stack:
aload 4
iload 5
iconst_1
isub
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.nextArray:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 4
7: goto 2
8: StackMap locals:
StackMap stack:
aload 7
ifnonnull 14
9: aload 2
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
ifnonnull 12
10: aload 2
astore 8
start local 8 11: goto 15
end local 8 12: StackMap locals:
StackMap stack:
new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
dup
aload 2
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
aload 2
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
astore 8
start local 8 13: goto 15
end local 8 14: StackMap locals:
StackMap stack:
new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
dup
aload 2
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
aload 2
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
aload 7
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.<init>:(Ljava/lang/Object;Ljava/lang/Object;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
astore 8
start local 8 15: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 4
iload 6
aload 7
aload 8
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 2
16: return
end local 8 end local 7 end local 6 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 Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 17 1 dest Ljava/util/concurrent/atomic/AtomicReferenceArray;
0 17 2 toCopyEntry Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
1 17 3 hash I
2 17 4 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
3 17 5 length I
4 17 6 index I
5 17 7 o Ljava/lang/Object;
11 12 8 newEntry Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
13 14 8 newEntry Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
15 17 8 newEntry Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
Signature: (Ljava/util/concurrent/atomic/AtomicReferenceArray;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;)V
MethodParameters:
Name Flags
dest
toCopyEntry
public V getIfAbsentPut(K, org.eclipse.collections.api.block.function.Function<? super K, ? extends V>);
descriptor: (Ljava/lang/Object;Lorg/eclipse/collections/api/block/function/Function;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.getIfAbsentPutWith:(Ljava/lang/Object;Lorg/eclipse/collections/api/block/function/Function;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 1 1 key TK;
0 1 2 factory Lorg/eclipse/collections/api/block/function/Function<-TK;+TV;>;
Signature: (TK;Lorg/eclipse/collections/api/block/function/Function<-TK;+TV;>;)TV;
MethodParameters:
Name Flags
key
factory
public V getIfAbsentPut(K, org.eclipse.collections.api.block.function.Function0<? extends V>);
descriptor: (Ljava/lang/Object;Lorg/eclipse/collections/api/block/function/Function0;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.hash:(Ljava/lang/Object;)I
istore 3
start local 3 1: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 4
start local 4 2: aconst_null
astore 5
start local 5 3: iconst_0
istore 6
start local 6 4: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap java.lang.Object org.eclipse.collections.api.block.function.Function0 int java.util.concurrent.atomic.AtomicReferenceArray java.lang.Object int
StackMap stack:
aload 4
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 7
start local 7 5: iload 3
iload 7
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 8
start local 8 6: aload 4
iload 8
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 9
start local 9 7: aload 9
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 8
aload 9
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 10
8: StackMap locals: int int java.lang.Object
StackMap stack:
aload 0
aload 4
iload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.helpWithResizeWhileCurrentIndex:(Ljava/util/concurrent/atomic/AtomicReferenceArray;I)Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 4
9: goto 4
10: StackMap locals:
StackMap stack:
aload 9
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 10
start local 10 11: goto 16
12: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 10
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
astore 11
start local 11 13: aload 11
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 15
14: aload 10
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
areturn
15: StackMap locals: java.lang.Object
StackMap stack:
aload 10
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 10
end local 11 16: StackMap locals:
StackMap stack:
aload 10
ifnonnull 12
17: iload 6
ifne 20
18: iconst_1
istore 6
19: aload 2
invokeinterface org.eclipse.collections.api.block.function.Function0.value:()Ljava/lang/Object;
astore 5
20: StackMap locals:
StackMap stack:
new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
dup
aload 1
aload 5
aload 9
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.<init>:(Ljava/lang/Object;Ljava/lang/Object;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
astore 11
start local 11 21: aload 4
iload 8
aload 9
aload 11
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 4
22: aload 0
aload 4
iload 7
aload 9
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.incrementSizeAndPossiblyResize:(Ljava/util/concurrent/atomic/AtomicReferenceArray;ILjava/lang/Object;)V
23: aload 5
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 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 24 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 24 1 key TK;
0 24 2 factory Lorg/eclipse/collections/api/block/function/Function0<+TV;>;
1 24 3 hash I
2 24 4 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
3 24 5 newValue TV;
4 24 6 createdValue Z
5 24 7 length I
6 24 8 index I
7 24 9 o Ljava/lang/Object;
11 24 10 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
13 16 11 candidate Ljava/lang/Object;
21 24 11 newEntry Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
Signature: (TK;Lorg/eclipse/collections/api/block/function/Function0<+TV;>;)TV;
MethodParameters:
Name Flags
key
factory
public V getIfAbsentPut(K, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.hash:(Ljava/lang/Object;)I
istore 3
start local 3 1: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 4
start local 4 2: StackMap locals: int java.util.concurrent.atomic.AtomicReferenceArray
StackMap stack:
aload 4
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 5
start local 5 3: iload 3
iload 5
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 6
start local 6 4: aload 4
iload 6
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 7
start local 7 5: aload 7
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 6
aload 7
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 8
6: StackMap locals: int int java.lang.Object
StackMap stack:
aload 0
aload 4
iload 6
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.helpWithResizeWhileCurrentIndex:(Ljava/util/concurrent/atomic/AtomicReferenceArray;I)Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 4
7: goto 2
8: StackMap locals:
StackMap stack:
aload 7
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 8
start local 8 9: goto 14
10: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
astore 9
start local 9 11: aload 9
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 13
12: aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
areturn
13: StackMap locals: java.lang.Object
StackMap stack:
aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 8
end local 9 14: StackMap locals:
StackMap stack:
aload 8
ifnonnull 10
15: new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
dup
aload 1
aload 2
aload 7
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.<init>:(Ljava/lang/Object;Ljava/lang/Object;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
astore 9
start local 9 16: aload 4
iload 6
aload 7
aload 9
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 2
17: aload 0
aload 4
iload 5
aload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.incrementSizeAndPossiblyResize:(Ljava/util/concurrent/atomic/AtomicReferenceArray;ILjava/lang/Object;)V
18: aload 2
areturn
end local 9 end local 8 end local 7 end local 6 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 19 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 19 1 key TK;
0 19 2 value TV;
1 19 3 hash I
2 19 4 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
3 19 5 length I
4 19 6 index I
5 19 7 o Ljava/lang/Object;
9 19 8 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
11 14 9 candidate Ljava/lang/Object;
16 19 9 newEntry Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
Signature: (TK;TV;)TV;
MethodParameters:
Name Flags
key
value
public <P1, P2> V putIfAbsentGetIfPresent(K, org.eclipse.collections.api.block.function.Function2<? super K, ? super V, ? extends K>, org.eclipse.collections.api.block.function.Function3<P1, P2, ? super K, ? extends V>, P1, );
descriptor: (Ljava/lang/Object;Lorg/eclipse/collections/api/block/function/Function2;Lorg/eclipse/collections/api/block/function/Function3;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=15, 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
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.hash:(Ljava/lang/Object;)I
istore 6
start local 6 1: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 7
start local 7 2: aconst_null
astore 8
start local 8 3: iconst_0
istore 9
start local 9 4: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap java.lang.Object org.eclipse.collections.api.block.function.Function2 org.eclipse.collections.api.block.function.Function3 java.lang.Object java.lang.Object int java.util.concurrent.atomic.AtomicReferenceArray java.lang.Object int
StackMap stack:
aload 7
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 10
start local 10 5: iload 6
iload 10
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 11
start local 11 6: aload 7
iload 11
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 12
start local 12 7: aload 12
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 8
aload 12
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 10
8: StackMap locals: int int java.lang.Object
StackMap stack:
aload 0
aload 7
iload 11
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.helpWithResizeWhileCurrentIndex:(Ljava/util/concurrent/atomic/AtomicReferenceArray;I)Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 7
9: goto 4
10: StackMap locals:
StackMap stack:
aload 12
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 13
start local 13 11: goto 16
12: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 13
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
astore 14
start local 14 13: aload 14
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 15
14: aload 13
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
areturn
15: StackMap locals: java.lang.Object
StackMap stack:
aload 13
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 13
end local 14 16: StackMap locals:
StackMap stack:
aload 13
ifnonnull 12
17: iload 9
ifne 23
18: iconst_1
istore 9
19: aload 3
aload 4
aload 5
aload 1
invokeinterface org.eclipse.collections.api.block.function.Function3.value:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 8
20: aload 8
ifnonnull 22
21: aconst_null
areturn
22: StackMap locals:
StackMap stack:
aload 2
aload 1
aload 8
invokeinterface org.eclipse.collections.api.block.function.Function2.value:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 1
23: StackMap locals:
StackMap stack:
new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
dup
aload 1
aload 8
aload 12
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.<init>:(Ljava/lang/Object;Ljava/lang/Object;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
astore 14
start local 14 24: aload 7
iload 11
aload 12
aload 14
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 4
25: aload 0
aload 7
iload 10
aload 12
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.incrementSizeAndPossiblyResize:(Ljava/util/concurrent/atomic/AtomicReferenceArray;ILjava/lang/Object;)V
26: aconst_null
areturn
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 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 27 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 27 1 key TK;
0 27 2 keyTransformer Lorg/eclipse/collections/api/block/function/Function2<-TK;-TV;+TK;>;
0 27 3 factory Lorg/eclipse/collections/api/block/function/Function3<TP1;TP2;-TK;+TV;>;
0 27 4 param1 TP1;
0 27 5 param2 TP2;
1 27 6 hash I
2 27 7 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
3 27 8 newValue TV;
4 27 9 createdValue Z
5 27 10 length I
6 27 11 index I
7 27 12 o Ljava/lang/Object;
11 27 13 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
13 16 14 candidate Ljava/lang/Object;
24 27 14 newEntry Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
Signature: <P1:Ljava/lang/Object;P2:Ljava/lang/Object;>(TK;Lorg/eclipse/collections/api/block/function/Function2<-TK;-TV;+TK;>;Lorg/eclipse/collections/api/block/function/Function3<TP1;TP2;-TK;+TV;>;TP1;TP2;)TV;
MethodParameters:
Name Flags
key
keyTransformer
factory
param1
param2
public boolean remove(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.hash:(Ljava/lang/Object;)I
istore 3
start local 3 1: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 4
start local 4 2: StackMap locals: int java.util.concurrent.atomic.AtomicReferenceArray
StackMap stack:
aload 4
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 5
start local 5 3: iload 3
iload 5
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 6
start local 6 4: aload 4
iload 6
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 7
start local 7 5: aload 7
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 6
aload 7
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 8
6: StackMap locals: int int java.lang.Object
StackMap stack:
aload 0
aload 4
iload 6
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.helpWithResizeWhileCurrentIndex:(Ljava/util/concurrent/atomic/AtomicReferenceArray;I)Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 4
7: goto 2
8: StackMap locals:
StackMap stack:
aload 7
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 8
start local 8 9: goto 17
10: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
astore 9
start local 9 11: aload 9
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 16
aload 0
aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
aload 2
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.nullSafeEquals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 16
12: aload 0
aload 7
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.createReplacementChainForRemoval:(Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 10
start local 10 13: aload 4
iload 6
aload 7
aload 10
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 2
14: aload 0
iconst_m1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.addToSize:(I)V
15: iconst_1
ireturn
end local 10 16: StackMap locals: java.lang.Object
StackMap stack:
aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 8
end local 9 17: StackMap locals:
StackMap stack:
aload 8
ifnonnull 10
18: iconst_0
ireturn
end local 8 end local 7 end local 6 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 19 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 19 1 key Ljava/lang/Object;
0 19 2 value Ljava/lang/Object;
1 19 3 hash I
2 19 4 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
3 19 5 length I
4 19 6 index I
5 19 7 o Ljava/lang/Object;
9 19 8 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
11 17 9 candidate Ljava/lang/Object;
13 16 10 replacement Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
MethodParameters:
Name Flags
key
value
private void addToSize(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.partitionedSize:Ljava/util/concurrent/atomic/AtomicIntegerArray;
ifnull 3
1: aload 0
iload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.incrementPartitionedSize:(I)Z
ifeq 3
2: return
3: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.incrementLocalSize:(I)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 5 1 value I
MethodParameters:
Name Flags
value
private boolean incrementPartitionedSize(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getId:()J
l2i
istore 2
start local 2 1: iload 2
iload 2
bipush 18
iushr
iload 2
bipush 12
iushr
ixor
ixor
istore 2
2: iload 2
iload 2
bipush 10
iushr
ixor
bipush 7
iand
istore 2
3: iload 2
ifeq 8
4: iload 2
iconst_1
isub
iconst_4
ishl
istore 2
5: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.partitionedSize:Ljava/util/concurrent/atomic/AtomicIntegerArray;
iload 2
invokevirtual java.util.concurrent.atomic.AtomicIntegerArray.get:(I)I
istore 3
start local 3 6: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.partitionedSize:Ljava/util/concurrent/atomic/AtomicIntegerArray;
iload 2
iload 3
iload 3
iload 1
iadd
invokevirtual java.util.concurrent.atomic.AtomicIntegerArray.compareAndSet:(III)Z
ifeq 5
7: iconst_1
ireturn
end local 3 8: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 9 1 value I
1 9 2 h I
6 8 3 localSize I
MethodParameters:
Name Flags
value
private void incrementLocalSize(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.size:I
istore 2
start local 2 1: getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.SIZE_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iload 2
iload 2
iload 1
iadd
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifeq 0
end local 2 2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 3 1 value I
1 2 2 localSize I
MethodParameters:
Name Flags
value
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.size:I
istore 1
start local 1 1: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.partitionedSize:Ljava/util/concurrent/atomic/AtomicIntegerArray;
ifnull 7
2: iconst_0
istore 2
start local 2 3: goto 6
4: StackMap locals: int int
StackMap stack:
iload 1
aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.partitionedSize:Ljava/util/concurrent/atomic/AtomicIntegerArray;
iload 2
iconst_4
ishl
invokevirtual java.util.concurrent.atomic.AtomicIntegerArray.get:(I)I
iadd
istore 1
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
bipush 7
if_icmplt 4
end local 2 7: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
1 8 1 localSize I
3 7 2 i I
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.size:()I
ifne 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 Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
public boolean containsKey(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.getEntry:(Ljava/lang/Object;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
ifnull 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 Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 2 1 key Ljava/lang/Object;
MethodParameters:
Name Flags
key
public boolean containsValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 2
start local 2 1: StackMap locals: java.util.concurrent.atomic.AtomicReferenceArray
StackMap stack:
aconst_null
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 17
4: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer int
StackMap stack:
aload 2
iload 4
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 5
start local 5 5: aload 5
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 6
aload 5
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 8
6: StackMap locals: java.lang.Object
StackMap stack:
aload 2
aload 2
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
iconst_1
isub
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer
astore 3
7: goto 16
8: StackMap locals:
StackMap stack:
aload 5
ifnull 16
9: aload 5
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 6
start local 6 10: goto 15
11: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 6
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
astore 7
start local 7 12: aload 0
aload 7
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.nullSafeEquals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 14
13: iconst_1
ireturn
14: StackMap locals: java.lang.Object
StackMap stack:
aload 6
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 6
end local 7 15: StackMap locals:
StackMap stack:
aload 6
ifnonnull 11
end local 6 end local 5 16: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
17: iload 4
aload 2
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
iconst_1
isub
if_icmplt 4
end local 4 18: aload 3
ifnull 23
19: aload 3
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.isNotDone:()Z
ifeq 22
20: aload 0
aload 2
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.helpWithResize:(Ljava/util/concurrent/atomic/AtomicReferenceArray;)Ljava/util/concurrent/atomic/AtomicReferenceArray;
pop
21: aload 3
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.waitForAllResizers:()V
22: StackMap locals:
StackMap stack:
aload 3
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.nextArray:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 2
23: StackMap locals:
StackMap stack:
aload 3
ifnonnull 1
24: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 25 1 value Ljava/lang/Object;
1 25 2 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
2 25 3 resizeContainer Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$ResizeContainer;
3 18 4 i I
5 16 5 o Ljava/lang/Object;
10 16 6 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
12 15 7 v Ljava/lang/Object;
MethodParameters:
Name Flags
value
private boolean nullSafeEquals(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
if_acmpeq 2
aload 1
ifnull 1
aload 1
aload 2
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 2
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 3 1 v Ljava/lang/Object;
0 3 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
v
value
public V get();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.hash:(Ljava/lang/Object;)I
istore 2
start local 2 1: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 3
start local 3 2: iload 2
aload 3
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 4
start local 4 3: aload 3
iload 4
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 5
start local 5 4: aload 5
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 5
aload 5
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 6
5: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap java.lang.Object int java.util.concurrent.atomic.AtomicReferenceArray int java.lang.Object
StackMap stack:
aload 0
aload 1
iload 2
iload 4
aload 3
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.slowGet:(Ljava/lang/Object;IILjava/util/concurrent/atomic/AtomicReferenceArray;)Ljava/lang/Object;
areturn
6: StackMap locals:
StackMap stack:
aload 5
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 6
start local 6 7: goto 12
8: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 6
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.key:Ljava/lang/Object;
dup
astore 7
start local 7 9: aload 1
if_acmpeq 10
aload 1
aload 7
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 11
10: StackMap locals: java.lang.Object
StackMap stack:
aload 6
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.value:Ljava/lang/Object;
areturn
end local 7 11: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 6
StackMap locals:
StackMap stack:
12: aload 6
ifnonnull 8
end local 6 13: aconst_null
areturn
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 14 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 14 1 key Ljava/lang/Object;
1 14 2 hash I
2 14 3 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
3 14 4 index I
4 14 5 o Ljava/lang/Object;
7 13 6 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
9 11 7 k Ljava/lang/Object;
Signature: (Ljava/lang/Object;)TV;
MethodParameters:
Name Flags
key
private V slowGet(, int, int, java.util.concurrent.atomic.AtomicReferenceArray);
descriptor: (Ljava/lang/Object;IILjava/util/concurrent/atomic/AtomicReferenceArray;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 5
start local 5 1: iload 2
iload 5
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 3
2: aload 4
iload 3
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 6
start local 6 3: aload 6
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 4
aload 6
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 6
4: StackMap locals: int java.lang.Object
StackMap stack:
aload 0
aload 4
iload 3
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.helpWithResizeWhileCurrentIndex:(Ljava/util/concurrent/atomic/AtomicReferenceArray;I)Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 4
5: goto 0
6: StackMap locals:
StackMap stack:
aload 6
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 7
start local 7 7: goto 12
8: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
astore 8
start local 8 9: aload 8
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 11
10: aload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
areturn
11: StackMap locals: java.lang.Object
StackMap stack:
aload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 7
end local 8 12: StackMap locals:
StackMap stack:
aload 7
ifnonnull 8
13: aconst_null
areturn
end local 7 end local 6 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 14 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 14 1 key Ljava/lang/Object;
0 14 2 hash I
0 14 3 index I
0 14 4 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
1 14 5 length I
3 14 6 o Ljava/lang/Object;
7 14 7 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
9 12 8 candidate Ljava/lang/Object;
Signature: (Ljava/lang/Object;IILjava/util/concurrent/atomic/AtomicReferenceArray;)TV;
MethodParameters:
Name Flags
key
hash
index
currentArray
private org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry<K, V> getEntry();
descriptor: (Ljava/lang/Object;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.hash:(Ljava/lang/Object;)I
istore 2
start local 2 1: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 3
start local 3 2: StackMap locals: int java.util.concurrent.atomic.AtomicReferenceArray
StackMap stack:
aload 3
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 4
start local 4 3: iload 2
iload 4
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 5
start local 5 4: aload 3
iload 5
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 6
start local 6 5: aload 6
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 6
aload 6
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 8
6: StackMap locals: int int java.lang.Object
StackMap stack:
aload 0
aload 3
iload 5
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.helpWithResizeWhileCurrentIndex:(Ljava/util/concurrent/atomic/AtomicReferenceArray;I)Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 3
7: goto 2
8: StackMap locals:
StackMap stack:
aload 6
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 7
start local 7 9: goto 14
10: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
astore 8
start local 8 11: aload 8
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 13
12: aload 7
areturn
13: StackMap locals: java.lang.Object
StackMap stack:
aload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 7
end local 8 14: StackMap locals:
StackMap stack:
aload 7
ifnonnull 10
15: aconst_null
areturn
end local 7 end local 6 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 16 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 16 1 key Ljava/lang/Object;
1 16 2 hash I
2 16 3 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
3 16 4 length I
4 16 5 index I
5 16 6 o Ljava/lang/Object;
9 16 7 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
11 14 8 candidate Ljava/lang/Object;
Signature: (Ljava/lang/Object;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
MethodParameters:
Name Flags
key
public V put(K, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.hash:(Ljava/lang/Object;)I
istore 3
start local 3 1: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 4
start local 4 2: aload 4
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 5
start local 5 3: iload 3
iload 5
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 6
start local 6 4: aload 4
iload 6
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 7
start local 7 5: aload 7
ifnonnull 11
6: new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
dup
aload 1
aload 2
aconst_null
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.<init>:(Ljava/lang/Object;Ljava/lang/Object;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
astore 8
start local 8 7: aload 0
iconst_1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.addToSize:(I)V
8: aload 4
iload 6
aconst_null
aload 8
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 10
9: aconst_null
areturn
10: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap java.lang.Object java.lang.Object int java.util.concurrent.atomic.AtomicReferenceArray int int java.lang.Object org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 0
iconst_m1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.addToSize:(I)V
end local 8 11: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iload 3
aload 4
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.slowPut:(Ljava/lang/Object;Ljava/lang/Object;ILjava/util/concurrent/atomic/AtomicReferenceArray;)Ljava/lang/Object;
areturn
end local 7 end local 6 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 12 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 12 1 key TK;
0 12 2 value TV;
1 12 3 hash I
2 12 4 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
3 12 5 length I
4 12 6 index I
5 12 7 o Ljava/lang/Object;
7 11 8 newEntry Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
Signature: (TK;TV;)TV;
MethodParameters:
Name Flags
key
value
private V slowPut(K, V, int, java.util.concurrent.atomic.AtomicReferenceArray);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;ILjava/util/concurrent/atomic/AtomicReferenceArray;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 5
start local 5 1: iload 3
iload 5
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 6
start local 6 2: aload 4
iload 6
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 7
start local 7 3: aload 7
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 4
aload 7
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 6
4: StackMap locals: int int java.lang.Object
StackMap stack:
aload 0
aload 4
iload 6
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.helpWithResizeWhileCurrentIndex:(Ljava/util/concurrent/atomic/AtomicReferenceArray;I)Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 4
5: goto 0
6: StackMap locals:
StackMap stack:
aload 7
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 8
start local 8 7: goto 16
8: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
astore 9
start local 9 9: aload 9
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 15
10: aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
astore 10
start local 10 11: new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
dup
aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
aload 2
aload 0
aload 7
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.createReplacementChainForRemoval:(Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.<init>:(Ljava/lang/Object;Ljava/lang/Object;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
astore 11
start local 11 12: aload 4
iload 6
aload 7
aload 11
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifne 14
13: goto 0
14: StackMap locals: java.lang.Object java.lang.Object org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 10
areturn
end local 11 end local 10 15: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 8
end local 9 16: StackMap locals:
StackMap stack:
aload 8
ifnonnull 8
17: new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
dup
aload 1
aload 2
aload 7
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.<init>:(Ljava/lang/Object;Ljava/lang/Object;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
astore 9
start local 9 18: aload 4
iload 6
aload 7
aload 9
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 0
19: aload 0
aload 4
iload 5
aload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.incrementSizeAndPossiblyResize:(Ljava/util/concurrent/atomic/AtomicReferenceArray;ILjava/lang/Object;)V
20: aconst_null
areturn
end local 9 end local 8 end local 7 end local 6 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 21 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 21 1 key TK;
0 21 2 value TV;
0 21 3 hash I
0 21 4 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
1 21 5 length I
2 21 6 index I
3 21 7 o Ljava/lang/Object;
7 21 8 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
9 16 9 candidate Ljava/lang/Object;
11 15 10 oldValue TV;
12 15 11 newEntry Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
18 21 9 newEntry Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
Signature: (TK;TV;ILjava/util/concurrent/atomic/AtomicReferenceArray;)TV;
MethodParameters:
Name Flags
key
value
hash
currentArray
public void putAllInParallel(java.util.Map<? extends K, ? extends V>, int, java.util.concurrent.Executor);
descriptor: (Ljava/util/Map;ILjava/util/concurrent/Executor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.size:()I
ifne 8
1: aload 1
invokeinterface java.util.Map.size:()I
istore 4
start local 4 2: iload 4
iload 4
iconst_1
ishr
iadd
istore 4
3: iconst_1
istore 5
start local 5 4: goto 6
5: StackMap locals: int int
StackMap stack:
iload 5
iconst_1
ishl
istore 5
6: StackMap locals:
StackMap stack:
iload 5
iload 4
if_icmplt 5
7: aload 0
aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
iload 5
iconst_1
iadd
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.resize:(Ljava/util/concurrent/atomic/AtomicReferenceArray;I)V
end local 5 end local 4 8: StackMap locals:
StackMap stack:
aload 1
instanceof org.eclipse.collections.impl.map.mutable.ConcurrentHashMap
ifeq 32
iload 2
iconst_1
if_icmple 32
aload 1
invokeinterface java.util.Map.size:()I
ldc 50000
if_icmple 32
9: aload 1
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap
astore 4
start local 4 10: aload 4
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 5
start local 5 11: iload 2
anewarray java.util.concurrent.FutureTask
astore 6
start local 6 12: aload 5
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
iload 2
idiv
istore 7
start local 7 13: aload 5
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
iload 2
irem
ifeq 15
14: iinc 7 1
15: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap java.util.Map int java.util.concurrent.Executor org.eclipse.collections.impl.map.mutable.ConcurrentHashMap java.util.concurrent.atomic.AtomicReferenceArray java.util.concurrent.FutureTask[] int
StackMap stack:
iconst_0
istore 8
start local 8 16: goto 22
17: StackMap locals: int
StackMap stack:
iload 8
iload 7
imul
istore 9
start local 9 18: iload 8
iconst_1
iadd
iload 7
imul
aload 5
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
invokestatic java.lang.Math.min:(II)I
istore 10
start local 10 19: aload 6
iload 8
new java.util.concurrent.FutureTask
dup
aload 0
aload 5
iload 9
iload 10
invokedynamic run(Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;Ljava/util/concurrent/atomic/AtomicReferenceArray;II)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
org/eclipse/collections/impl/map/mutable/ConcurrentHashMap.lambda$0(Ljava/util/concurrent/atomic/AtomicReferenceArray;II)V (7)
()V
aconst_null
invokespecial java.util.concurrent.FutureTask.<init>:(Ljava/lang/Runnable;Ljava/lang/Object;)V
aastore
20: aload 3
aload 6
iload 8
aaload
invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
end local 10 end local 9 21: iinc 8 1
StackMap locals:
StackMap stack:
22: iload 8
iload 2
if_icmplt 17
end local 8 23: iconst_0
istore 8
start local 8 24: goto 30
25: StackMap locals:
StackMap stack:
aload 6
iload 8
aaload
invokevirtual java.util.concurrent.FutureTask.get:()Ljava/lang/Object;
pop
26: goto 29
27: StackMap locals:
StackMap stack: java.lang.Exception
astore 9
start local 9 28: new java.lang.RuntimeException
dup
ldc "parallelForEachKeyValue failed"
aload 9
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 9 29: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
30: iload 8
iload 2
if_icmplt 25
end local 8 end local 7 end local 6 end local 5 end local 4 31: goto 33
32: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap java.util.Map int java.util.concurrent.Executor
StackMap stack:
aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.putAll:(Ljava/util/Map;)V
33: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 34 1 map Ljava/util/Map<+TK;+TV;>;
0 34 2 chunks I
0 34 3 executor Ljava/util/concurrent/Executor;
2 8 4 threshold I
4 8 5 capacity I
10 31 4 incoming Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
11 31 5 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
12 31 6 futures [Ljava/util/concurrent/FutureTask;
13 31 7 chunkSize I
16 23 8 i I
18 21 9 start I
19 21 10 end I
24 31 8 i I
28 29 9 e Ljava/lang/Exception;
Exception table:
from to target type
25 26 27 Class java.lang.Exception
Signature: (Ljava/util/Map<+TK;+TV;>;ILjava/util/concurrent/Executor;)V
MethodParameters:
Name Flags
map
chunks
executor
private void sequentialPutAll(java.util.concurrent.atomic.AtomicReferenceArray, int, int);
descriptor: (Ljava/util/concurrent/atomic/AtomicReferenceArray;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
istore 4
start local 4 1: goto 13
2: StackMap locals: int
StackMap stack:
aload 1
iload 4
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 5
start local 5 3: aload 5
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 4
aload 5
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 5
4: StackMap locals: java.lang.Object
StackMap stack:
new java.util.ConcurrentModificationException
dup
ldc "can't iterate while resizing!"
invokespecial java.util.ConcurrentModificationException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 5
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 6
start local 6 6: goto 11
7: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 6
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
astore 7
start local 7 8: aload 6
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
astore 8
start local 8 9: aload 0
aload 7
aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: aload 6
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 6
end local 8 end local 7 11: StackMap locals:
StackMap stack:
aload 6
ifnonnull 7
end local 6 end local 5 12: iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
iload 3
if_icmplt 2
end local 4 14: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 15 1 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
0 15 2 start I
0 15 3 end I
1 14 4 i I
3 12 5 o Ljava/lang/Object;
6 12 6 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
8 11 7 key Ljava/lang/Object;
9 11 8 value Ljava/lang/Object;
MethodParameters:
Name Flags
currentArray
start
end
public void putAll(java.util.Map<? extends K, ? extends V>);
descriptor: (Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokedynamic value(Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;)Lorg/eclipse/collections/api/block/procedure/Procedure2;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)V
org/eclipse/collections/impl/map/mutable/ConcurrentHashMap.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; (5)
(Ljava/lang/Object;Ljava/lang/Object;)V
1
invokestatic org.eclipse.collections.impl.utility.MapIterate.forEachKeyValue:(Ljava/util/Map;Lorg/eclipse/collections/api/block/procedure/Procedure2;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 2 1 map Ljava/util/Map<+TK;+TV;>;
Signature: (Ljava/util/Map<+TK;+TV;>;)V
MethodParameters:
Name Flags
map
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 1
start local 1 1: StackMap locals: java.util.concurrent.atomic.AtomicReferenceArray
StackMap stack:
aconst_null
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 18
4: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer int
StackMap stack:
aload 1
iload 3
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 4
start local 4 5: aload 4
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 6
aload 4
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 8
6: StackMap locals: java.lang.Object
StackMap stack:
aload 1
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
iconst_1
isub
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer
astore 2
7: goto 17
8: StackMap locals:
StackMap stack:
aload 4
ifnull 17
9: aload 4
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 5
start local 5 10: aload 1
iload 3
aload 4
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 17
11: iconst_0
istore 6
start local 6 12: goto 15
13: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry int
StackMap stack:
iinc 6 1
14: aload 5
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 5
15: StackMap locals:
StackMap stack:
aload 5
ifnonnull 13
16: aload 0
iload 6
ineg
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.addToSize:(I)V
end local 6 end local 5 end local 4 17: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
18: iload 3
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
iconst_1
isub
if_icmplt 4
end local 3 19: aload 2
ifnull 24
20: aload 2
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.isNotDone:()Z
ifeq 23
21: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.helpWithResize:(Ljava/util/concurrent/atomic/AtomicReferenceArray;)Ljava/util/concurrent/atomic/AtomicReferenceArray;
pop
22: aload 2
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.waitForAllResizers:()V
23: StackMap locals:
StackMap stack:
aload 2
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer.nextArray:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 1
24: StackMap locals:
StackMap stack:
aload 2
ifnonnull 1
25: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
1 26 1 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
2 26 2 resizeContainer Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$ResizeContainer;
3 19 3 i I
5 17 4 o Ljava/lang/Object;
10 17 5 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
12 17 6 removedEntries I
public java.util.Set<K> keySet();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$KeySet
dup
aload 0
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$KeySet.<init>:(Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
Signature: ()Ljava/util/Set<TK;>;
public java.util.Collection<V> values();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Values
dup
aload 0
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Values.<init>:(Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
Signature: ()Ljava/util/Collection<TV;>;
public java.util.Set<java.util.Map$Entry<K, V>> entrySet();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$EntrySet
dup
aload 0
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$EntrySet.<init>:(Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
Signature: ()Ljava/util/Set<Ljava/util/Map$Entry<TK;TV;>;>;
public boolean replace(K, V, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.hash:(Ljava/lang/Object;)I
istore 4
start local 4 1: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 5
start local 5 2: aload 5
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 6
start local 6 3: iload 4
iload 6
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 7
start local 7 4: aload 5
iload 7
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 8
start local 8 5: aload 8
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 6
aload 8
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 7
6: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap java.lang.Object java.lang.Object java.lang.Object int java.util.concurrent.atomic.AtomicReferenceArray int int java.lang.Object
StackMap stack:
aload 0
aload 1
aload 2
aload 3
iload 4
aload 5
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.slowReplace:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ILjava/util/concurrent/atomic/AtomicReferenceArray;)Z
ireturn
7: StackMap locals:
StackMap stack:
aload 8
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 9
start local 9 8: goto 18
9: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 9
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
astore 10
start local 10 10: aload 10
aload 1
if_acmpeq 11
aload 10
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 17
11: StackMap locals: java.lang.Object
StackMap stack:
aload 2
aload 9
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
if_acmpeq 12
aload 2
ifnull 16
aload 2
aload 9
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 16
12: StackMap locals:
StackMap stack:
aload 0
aload 8
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
aload 9
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.createReplacementChainForRemoval:(Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 11
start local 11 13: new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
dup
aload 1
aload 3
aload 11
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.<init>:(Ljava/lang/Object;Ljava/lang/Object;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
astore 12
start local 12 14: aload 5
iload 7
aload 8
aload 12
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifne 15
aload 0
aload 1
aload 2
aload 3
iload 4
aload 5
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.slowReplace:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ILjava/util/concurrent/atomic/AtomicReferenceArray;)Z
ifne 15
iconst_0
ireturn
StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
15: iconst_1
ireturn
end local 12 end local 11 16: StackMap locals:
StackMap stack:
iconst_0
ireturn
17: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 9
end local 10 18: StackMap locals:
StackMap stack:
aload 9
ifnonnull 9
19: iconst_0
ireturn
end local 9 end local 8 end local 7 end local 6 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 20 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 20 1 key TK;
0 20 2 oldValue TV;
0 20 3 newValue TV;
1 20 4 hash I
2 20 5 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
3 20 6 length I
4 20 7 index I
5 20 8 o Ljava/lang/Object;
8 20 9 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
10 18 10 candidate Ljava/lang/Object;
13 16 11 replacement Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
14 16 12 newEntry Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
Signature: (TK;TV;TV;)Z
MethodParameters:
Name Flags
key
oldValue
newValue
private boolean slowReplace(K, V, V, int, java.util.concurrent.atomic.AtomicReferenceArray);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ILjava/util/concurrent/atomic/AtomicReferenceArray;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 6
start local 6 1: iload 4
iload 6
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 7
start local 7 2: aload 5
iload 7
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 8
start local 8 3: aload 8
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 4
aload 8
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 6
4: StackMap locals: int int java.lang.Object
StackMap stack:
aload 0
aload 5
iload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.helpWithResizeWhileCurrentIndex:(Ljava/util/concurrent/atomic/AtomicReferenceArray;I)Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 5
5: goto 0
6: StackMap locals:
StackMap stack:
aload 8
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 9
start local 9 7: goto 17
8: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 9
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
astore 10
start local 10 9: aload 10
aload 1
if_acmpeq 10
aload 10
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 16
10: StackMap locals: java.lang.Object
StackMap stack:
aload 2
aload 9
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
if_acmpeq 11
aload 2
ifnull 15
aload 2
aload 9
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 15
11: StackMap locals:
StackMap stack:
aload 0
aload 8
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
aload 9
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.createReplacementChainForRemoval:(Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 11
start local 11 12: new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
dup
aload 1
aload 3
aload 11
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.<init>:(Ljava/lang/Object;Ljava/lang/Object;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
astore 12
start local 12 13: aload 5
iload 7
aload 8
aload 12
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 0
14: iconst_1
ireturn
end local 12 end local 11 15: StackMap locals:
StackMap stack:
iconst_0
ireturn
16: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 9
end local 10 17: StackMap locals:
StackMap stack:
aload 9
ifnonnull 8
18: iconst_0
ireturn
end local 9 end local 8 end local 7 end local 6 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 19 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 19 1 key TK;
0 19 2 oldValue TV;
0 19 3 newValue TV;
0 19 4 hash I
0 19 5 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
1 19 6 length I
2 19 7 index I
3 19 8 o Ljava/lang/Object;
7 19 9 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
9 17 10 candidate Ljava/lang/Object;
12 15 11 replacement Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
13 15 12 newEntry Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
Signature: (TK;TV;TV;ILjava/util/concurrent/atomic/AtomicReferenceArray;)Z
MethodParameters:
Name Flags
key
oldValue
newValue
hash
currentArray
public V replace(K, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.hash:(Ljava/lang/Object;)I
istore 3
start local 3 1: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 4
start local 4 2: aload 4
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 5
start local 5 3: iload 3
iload 5
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 6
start local 6 4: aload 4
iload 6
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 7
start local 7 5: aload 7
ifnonnull 7
6: aconst_null
areturn
7: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap java.lang.Object java.lang.Object int java.util.concurrent.atomic.AtomicReferenceArray int int java.lang.Object
StackMap stack:
aload 0
aload 1
aload 2
iload 3
aload 4
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.slowReplace:(Ljava/lang/Object;Ljava/lang/Object;ILjava/util/concurrent/atomic/AtomicReferenceArray;)Ljava/lang/Object;
areturn
end local 7 end local 6 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 8 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 8 1 key TK;
0 8 2 value TV;
1 8 3 hash I
2 8 4 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
3 8 5 length I
4 8 6 index I
5 8 7 o Ljava/lang/Object;
Signature: (TK;TV;)TV;
MethodParameters:
Name Flags
key
value
private V slowReplace(K, V, int, java.util.concurrent.atomic.AtomicReferenceArray);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;ILjava/util/concurrent/atomic/AtomicReferenceArray;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 5
start local 5 1: iload 3
iload 5
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 6
start local 6 2: aload 4
iload 6
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 7
start local 7 3: aload 7
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 4
aload 7
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 6
4: StackMap locals: int int java.lang.Object
StackMap stack:
aload 0
aload 4
iload 6
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.helpWithResizeWhileCurrentIndex:(Ljava/util/concurrent/atomic/AtomicReferenceArray;I)Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 4
5: goto 0
6: StackMap locals:
StackMap stack:
aload 7
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 8
start local 8 7: goto 16
8: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
astore 9
start local 9 9: aload 9
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 15
10: aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
astore 10
start local 10 11: new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
dup
aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
aload 2
aload 0
aload 7
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.createReplacementChainForRemoval:(Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.<init>:(Ljava/lang/Object;Ljava/lang/Object;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
astore 11
start local 11 12: aload 4
iload 6
aload 7
aload 11
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifne 14
13: goto 0
14: StackMap locals: java.lang.Object java.lang.Object org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 10
areturn
end local 11 end local 10 15: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 8
end local 9 16: StackMap locals:
StackMap stack:
aload 8
ifnonnull 8
17: aconst_null
areturn
end local 8 end local 7 end local 6 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 18 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 18 1 key TK;
0 18 2 value TV;
0 18 3 hash I
0 18 4 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
1 18 5 length I
2 18 6 index I
3 18 7 o Ljava/lang/Object;
7 18 8 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
9 16 9 candidate Ljava/lang/Object;
11 15 10 oldValue TV;
12 15 11 newEntry Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
Signature: (TK;TV;ILjava/util/concurrent/atomic/AtomicReferenceArray;)TV;
MethodParameters:
Name Flags
key
value
hash
currentArray
public V remove();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.hash:(Ljava/lang/Object;)I
istore 2
start local 2 1: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 3
start local 3 2: aload 3
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 4
start local 4 3: iload 2
iload 4
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 5
start local 5 4: aload 3
iload 5
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 6
start local 6 5: aload 6
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 6
aload 6
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 7
6: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap java.lang.Object int java.util.concurrent.atomic.AtomicReferenceArray int int java.lang.Object
StackMap stack:
aload 0
aload 1
iload 2
aload 3
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.slowRemove:(Ljava/lang/Object;ILjava/util/concurrent/atomic/AtomicReferenceArray;)Ljava/lang/Object;
areturn
7: StackMap locals:
StackMap stack:
aload 6
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 7
start local 7 8: goto 17
9: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
astore 8
start local 8 10: aload 8
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 16
11: aload 0
aload 6
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
aload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.createReplacementChainForRemoval:(Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 9
start local 9 12: aload 3
iload 5
aload 6
aload 9
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 15
13: aload 0
iconst_m1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.addToSize:(I)V
14: aload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
areturn
15: StackMap locals: java.lang.Object org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 0
aload 1
iload 2
aload 3
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.slowRemove:(Ljava/lang/Object;ILjava/util/concurrent/atomic/AtomicReferenceArray;)Ljava/lang/Object;
areturn
end local 9 16: StackMap locals:
StackMap stack:
aload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 7
end local 8 17: StackMap locals:
StackMap stack:
aload 7
ifnonnull 9
18: aconst_null
areturn
end local 7 end local 6 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 19 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 19 1 key Ljava/lang/Object;
1 19 2 hash I
2 19 3 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
3 19 4 length I
4 19 5 index I
5 19 6 o Ljava/lang/Object;
8 19 7 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
10 17 8 candidate Ljava/lang/Object;
12 16 9 replacement Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
Signature: (Ljava/lang/Object;)TV;
MethodParameters:
Name Flags
key
private V slowRemove(, int, java.util.concurrent.atomic.AtomicReferenceArray);
descriptor: (Ljava/lang/Object;ILjava/util/concurrent/atomic/AtomicReferenceArray;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 4
start local 4 1: iload 2
iload 4
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 5
start local 5 2: aload 3
iload 5
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 6
start local 6 3: aload 6
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 4
aload 6
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 6
4: StackMap locals: int int java.lang.Object
StackMap stack:
aload 0
aload 3
iload 5
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.helpWithResizeWhileCurrentIndex:(Ljava/util/concurrent/atomic/AtomicReferenceArray;I)Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 3
5: goto 0
6: StackMap locals:
StackMap stack:
aload 6
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 7
start local 7 7: goto 15
8: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
astore 8
start local 8 9: aload 8
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
10: aload 0
aload 6
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
aload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.createReplacementChainForRemoval:(Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 9
start local 9 11: aload 3
iload 5
aload 6
aload 9
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 0
12: aload 0
iconst_m1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.addToSize:(I)V
13: aload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
areturn
end local 9 14: StackMap locals: java.lang.Object
StackMap stack:
aload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 7
end local 8 15: StackMap locals:
StackMap stack:
aload 7
ifnonnull 8
16: aconst_null
areturn
end local 7 end local 6 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 Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 17 1 key Ljava/lang/Object;
0 17 2 hash I
0 17 3 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
1 17 4 length I
2 17 5 index I
3 17 6 o Ljava/lang/Object;
7 17 7 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
9 15 8 candidate Ljava/lang/Object;
11 14 9 replacement Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
Signature: (Ljava/lang/Object;ILjava/util/concurrent/atomic/AtomicReferenceArray;)TV;
MethodParameters:
Name Flags
key
hash
currentArray
private org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry<K, V> createReplacementChainForRemoval(org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry<K, V>, org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry<K, V>);
descriptor: (Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
if_acmpne 2
1: aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 3: aload 1
astore 4
start local 4 4: goto 8
5: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 4
aload 2
if_acmpeq 7
6: new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
dup
aload 4
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
aload 4
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
aload 3
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.<init>:(Ljava/lang/Object;Ljava/lang/Object;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
astore 3
7: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 4
8: StackMap locals:
StackMap stack:
aload 4
ifnonnull 5
9: aload 3
areturn
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/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 10 1 original Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
0 10 2 toRemove Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
3 10 3 replacement Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
4 10 4 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
Signature: (Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
MethodParameters:
Name Flags
original
toRemove
public void parallelForEachKeyValue(java.util.List<org.eclipse.collections.api.block.procedure.Procedure2<K, V>>, java.util.concurrent.Executor);
descriptor: (Ljava/util/List;Ljava/util/concurrent/Executor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 3
start local 3 1: aload 1
invokeinterface java.util.List.size:()I
istore 4
start local 4 2: iload 4
iconst_1
if_icmple 25
3: iload 4
anewarray java.util.concurrent.FutureTask
astore 5
start local 5 4: aload 3
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
iload 4
idiv
istore 6
start local 6 5: aload 3
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
iload 4
irem
ifeq 7
6: iinc 6 1
7: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap java.util.List java.util.concurrent.Executor java.util.concurrent.atomic.AtomicReferenceArray int java.util.concurrent.FutureTask[] int
StackMap stack:
iconst_0
istore 7
start local 7 8: goto 15
9: StackMap locals: int
StackMap stack:
iload 7
iload 6
imul
istore 8
start local 8 10: iload 7
iconst_1
iadd
iload 6
imul
aload 3
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
invokestatic java.lang.Math.min:(II)I
istore 9
start local 9 11: aload 1
iload 7
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.eclipse.collections.api.block.procedure.Procedure2
astore 10
start local 10 12: aload 5
iload 7
new java.util.concurrent.FutureTask
dup
aload 0
aload 10
aload 3
iload 8
iload 9
invokedynamic run(Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;Lorg/eclipse/collections/api/block/procedure/Procedure2;Ljava/util/concurrent/atomic/AtomicReferenceArray;II)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
org/eclipse/collections/impl/map/mutable/ConcurrentHashMap.lambda$2(Lorg/eclipse/collections/api/block/procedure/Procedure2;Ljava/util/concurrent/atomic/AtomicReferenceArray;II)V (7)
()V
aconst_null
invokespecial java.util.concurrent.FutureTask.<init>:(Ljava/lang/Runnable;Ljava/lang/Object;)V
aastore
13: aload 2
aload 5
iload 7
aaload
invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
end local 10 end local 9 end local 8 14: iinc 7 1
StackMap locals:
StackMap stack:
15: iload 7
iload 4
if_icmplt 9
end local 7 16: iconst_0
istore 7
start local 7 17: goto 23
18: StackMap locals:
StackMap stack:
aload 5
iload 7
aaload
invokevirtual java.util.concurrent.FutureTask.get:()Ljava/lang/Object;
pop
19: goto 22
20: StackMap locals:
StackMap stack: java.lang.Exception
astore 8
start local 8 21: new java.lang.RuntimeException
dup
ldc "parallelForEachKeyValue failed"
aload 8
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 22: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
23: iload 7
iload 4
if_icmplt 18
end local 7 end local 6 end local 5 24: goto 26
25: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.eclipse.collections.api.block.procedure.Procedure2
aload 3
iconst_0
aload 3
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.sequentialForEachKeyValue:(Lorg/eclipse/collections/api/block/procedure/Procedure2;Ljava/util/concurrent/atomic/AtomicReferenceArray;II)V
26: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 27 1 blocks Ljava/util/List<Lorg/eclipse/collections/api/block/procedure/Procedure2<TK;TV;>;>;
0 27 2 executor Ljava/util/concurrent/Executor;
1 27 3 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
2 27 4 chunks I
4 24 5 futures [Ljava/util/concurrent/FutureTask;
5 24 6 chunkSize I
8 16 7 i I
10 14 8 start I
11 14 9 end I
12 14 10 block Lorg/eclipse/collections/api/block/procedure/Procedure2<TK;TV;>;
17 24 7 i I
21 22 8 e Ljava/lang/Exception;
Exception table:
from to target type
18 19 20 Class java.lang.Exception
Signature: (Ljava/util/List<Lorg/eclipse/collections/api/block/procedure/Procedure2<TK;TV;>;>;Ljava/util/concurrent/Executor;)V
MethodParameters:
Name Flags
blocks
executor
private void sequentialForEachKeyValue(org.eclipse.collections.api.block.procedure.Procedure2<? super K, ? super V>, java.util.concurrent.atomic.AtomicReferenceArray, int, );
descriptor: (Lorg/eclipse/collections/api/block/procedure/Procedure2;Ljava/util/concurrent/atomic/AtomicReferenceArray;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 3
istore 5
start local 5 1: goto 13
2: StackMap locals: int
StackMap stack:
aload 2
iload 5
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 6
start local 6 3: aload 6
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 4
aload 6
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 5
4: StackMap locals: java.lang.Object
StackMap stack:
new java.util.ConcurrentModificationException
dup
ldc "can't iterate while resizing!"
invokespecial java.util.ConcurrentModificationException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 6
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 7
start local 7 6: goto 11
7: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
astore 8
start local 8 8: aload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
astore 9
start local 9 9: aload 1
aload 8
aload 9
invokeinterface org.eclipse.collections.api.block.procedure.Procedure2.value:(Ljava/lang/Object;Ljava/lang/Object;)V
10: aload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 7
end local 9 end local 8 11: StackMap locals:
StackMap stack:
aload 7
ifnonnull 7
end local 7 end local 6 12: iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
iload 4
if_icmplt 2
end local 5 14: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 15 1 block Lorg/eclipse/collections/api/block/procedure/Procedure2<-TK;-TV;>;
0 15 2 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
0 15 3 start I
0 15 4 end I
1 14 5 i I
3 12 6 o Ljava/lang/Object;
6 12 7 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
8 11 8 key Ljava/lang/Object;
9 11 9 value Ljava/lang/Object;
Signature: (Lorg/eclipse/collections/api/block/procedure/Procedure2<-TK;-TV;>;Ljava/util/concurrent/atomic/AtomicReferenceArray;II)V
MethodParameters:
Name Flags
block
currentArray
start
end
public void parallelForEachValue(java.util.List<org.eclipse.collections.api.block.procedure.Procedure<V>>, java.util.concurrent.Executor);
descriptor: (Ljava/util/List;Ljava/util/concurrent/Executor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 3
start local 3 1: aload 1
invokeinterface java.util.List.size:()I
istore 4
start local 4 2: iload 4
iconst_1
if_icmple 25
3: iload 4
anewarray java.util.concurrent.FutureTask
astore 5
start local 5 4: aload 3
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
iload 4
idiv
istore 6
start local 6 5: aload 3
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
iload 4
irem
ifeq 7
6: iinc 6 1
7: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap java.util.List java.util.concurrent.Executor java.util.concurrent.atomic.AtomicReferenceArray int java.util.concurrent.FutureTask[] int
StackMap stack:
iconst_0
istore 7
start local 7 8: goto 15
9: StackMap locals: int
StackMap stack:
iload 7
iload 6
imul
istore 8
start local 8 10: iload 7
iconst_1
iadd
iload 6
imul
aload 3
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
iconst_1
isub
invokestatic java.lang.Math.min:(II)I
istore 9
start local 9 11: aload 1
iload 7
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.eclipse.collections.api.block.procedure.Procedure
astore 10
start local 10 12: aload 5
iload 7
new java.util.concurrent.FutureTask
dup
aload 0
aload 10
aload 3
iload 8
iload 9
invokedynamic run(Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;Lorg/eclipse/collections/api/block/procedure/Procedure;Ljava/util/concurrent/atomic/AtomicReferenceArray;II)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
org/eclipse/collections/impl/map/mutable/ConcurrentHashMap.lambda$3(Lorg/eclipse/collections/api/block/procedure/Procedure;Ljava/util/concurrent/atomic/AtomicReferenceArray;II)V (7)
()V
aconst_null
invokespecial java.util.concurrent.FutureTask.<init>:(Ljava/lang/Runnable;Ljava/lang/Object;)V
aastore
13: aload 2
aload 5
iload 7
aaload
invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
end local 10 end local 9 end local 8 14: iinc 7 1
StackMap locals:
StackMap stack:
15: iload 7
iload 4
if_icmplt 9
end local 7 16: iconst_0
istore 7
start local 7 17: goto 23
18: StackMap locals:
StackMap stack:
aload 5
iload 7
aaload
invokevirtual java.util.concurrent.FutureTask.get:()Ljava/lang/Object;
pop
19: goto 22
20: StackMap locals:
StackMap stack: java.lang.Exception
astore 8
start local 8 21: new java.lang.RuntimeException
dup
ldc "parallelForEachKeyValue failed"
aload 8
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 22: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
23: iload 7
iload 4
if_icmplt 18
end local 7 end local 6 end local 5 24: goto 26
25: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.eclipse.collections.api.block.procedure.Procedure
aload 3
iconst_0
aload 3
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.sequentialForEachValue:(Lorg/eclipse/collections/api/block/procedure/Procedure;Ljava/util/concurrent/atomic/AtomicReferenceArray;II)V
26: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 27 1 blocks Ljava/util/List<Lorg/eclipse/collections/api/block/procedure/Procedure<TV;>;>;
0 27 2 executor Ljava/util/concurrent/Executor;
1 27 3 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
2 27 4 chunks I
4 24 5 futures [Ljava/util/concurrent/FutureTask;
5 24 6 chunkSize I
8 16 7 i I
10 14 8 start I
11 14 9 end I
12 14 10 block Lorg/eclipse/collections/api/block/procedure/Procedure<TV;>;
17 24 7 i I
21 22 8 e Ljava/lang/Exception;
Exception table:
from to target type
18 19 20 Class java.lang.Exception
Signature: (Ljava/util/List<Lorg/eclipse/collections/api/block/procedure/Procedure<TV;>;>;Ljava/util/concurrent/Executor;)V
MethodParameters:
Name Flags
blocks
executor
private void sequentialForEachValue(org.eclipse.collections.api.block.procedure.Procedure<V>, java.util.concurrent.atomic.AtomicReferenceArray, int, );
descriptor: (Lorg/eclipse/collections/api/block/procedure/Procedure;Ljava/util/concurrent/atomic/AtomicReferenceArray;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 3
istore 5
start local 5 1: goto 12
2: StackMap locals: int
StackMap stack:
aload 2
iload 5
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 6
start local 6 3: aload 6
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 4
aload 6
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 5
4: StackMap locals: java.lang.Object
StackMap stack:
new java.util.ConcurrentModificationException
dup
ldc "can't iterate while resizing!"
invokespecial java.util.ConcurrentModificationException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 6
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 7
start local 7 6: goto 10
7: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
astore 8
start local 8 8: aload 1
aload 8
invokeinterface org.eclipse.collections.api.block.procedure.Procedure.value:(Ljava/lang/Object;)V
9: aload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 7
end local 8 10: StackMap locals:
StackMap stack:
aload 7
ifnonnull 7
end local 7 end local 6 11: iinc 5 1
StackMap locals:
StackMap stack:
12: iload 5
iload 4
if_icmplt 2
end local 5 13: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 14 1 block Lorg/eclipse/collections/api/block/procedure/Procedure<TV;>;
0 14 2 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
0 14 3 start I
0 14 4 end I
1 13 5 i I
3 11 6 o Ljava/lang/Object;
6 11 7 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
8 10 8 value Ljava/lang/Object;
Signature: (Lorg/eclipse/collections/api/block/procedure/Procedure<TV;>;Ljava/util/concurrent/atomic/AtomicReferenceArray;II)V
MethodParameters:
Name Flags
block
currentArray
start
end
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 19
4: StackMap locals: int java.util.concurrent.atomic.AtomicReferenceArray int
StackMap stack:
aload 2
iload 3
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 4
start local 4 5: aload 4
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 6
aload 4
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 7
6: StackMap locals: java.lang.Object
StackMap stack:
new java.util.ConcurrentModificationException
dup
ldc "can't compute hashcode while resizing!"
invokespecial java.util.ConcurrentModificationException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 4
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 5
start local 5 8: goto 17
9: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 5
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
astore 6
start local 6 10: aload 5
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
astore 7
start local 7 11: iload 1
aload 6
ifnonnull 12
iconst_0
goto 13
StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap int java.util.concurrent.atomic.AtomicReferenceArray int java.lang.Object org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry java.lang.Object java.lang.Object
StackMap stack: int
12: aload 6
invokevirtual java.lang.Object.hashCode:()I
StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap int java.util.concurrent.atomic.AtomicReferenceArray int java.lang.Object org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry java.lang.Object java.lang.Object
StackMap stack: int int
13: aload 7
ifnonnull 14
iconst_0
goto 15
StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap int java.util.concurrent.atomic.AtomicReferenceArray int java.lang.Object org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry java.lang.Object java.lang.Object
StackMap stack: int int
14: aload 7
invokevirtual java.lang.Object.hashCode:()I
StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap int java.util.concurrent.atomic.AtomicReferenceArray int java.lang.Object org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry java.lang.Object java.lang.Object
StackMap stack: int int int
15: ixor
iadd
istore 1
16: aload 5
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 5
end local 7 end local 6 17: StackMap locals:
StackMap stack:
aload 5
ifnonnull 9
end local 5 end local 4 18: iinc 3 1
StackMap locals:
StackMap stack:
19: iload 3
aload 2
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
iconst_1
isub
if_icmplt 4
end local 3 20: iload 1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
1 21 1 h I
2 21 2 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
3 20 3 i I
5 18 4 o Ljava/lang/Object;
8 18 5 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
10 17 6 key Ljava/lang/Object;
11 17 7 value Ljava/lang/Object;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.util.Map
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast java.util.Map
astore 2
start local 2 5: aload 2
invokeinterface java.util.Map.size:()I
aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.size:()I
if_icmpeq 7
6: iconst_0
ireturn
7: StackMap locals: java.util.Map
StackMap stack:
aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
start local 3 8: goto 17
9: StackMap locals: java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 10: aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
astore 5
start local 5 11: aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
astore 6
start local 6 12: aload 6
ifnonnull 15
13: aload 2
aload 5
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 14
aload 2
aload 5
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 17
14: StackMap locals: java.util.Map$Entry java.lang.Object java.lang.Object
StackMap stack:
iconst_0
ireturn
15: StackMap locals:
StackMap stack:
aload 6
aload 2
aload 5
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 17
16: iconst_0
ireturn
end local 6 end local 5 end local 4 17: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
18: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 19 1 o Ljava/lang/Object;
5 19 2 m Ljava/util/Map<TK;TV;>;
8 19 3 i Ljava/util/Iterator<Ljava/util/Map$Entry<TK;TV;>;>;
10 17 4 e Ljava/util/Map$Entry<TK;TV;>;
11 17 5 key TK;
12 17 6 value TV;
MethodParameters:
Name Flags
o
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.isEmpty:()Z
ifeq 2
1: ldc "{}"
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 1
start local 1 3: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 4: aload 2
bipush 123
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
5: StackMap locals: java.util.Iterator java.lang.StringBuilder
StackMap stack:
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 6: aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
astore 4
start local 4 7: aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
astore 5
start local 5 8: aload 2
aload 4
aload 0
if_acmpne 9
ldc "(this Map)"
goto 10
StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap java.util.Iterator java.lang.StringBuilder java.util.Map$Entry java.lang.Object java.lang.Object
StackMap stack: java.lang.StringBuilder
9: aload 4
StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap java.util.Iterator java.lang.StringBuilder java.util.Map$Entry java.lang.Object java.lang.Object
StackMap stack: java.lang.StringBuilder java.lang.Object
10: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
11: aload 2
bipush 61
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
12: aload 2
aload 5
aload 0
if_acmpne 13
ldc "(this Map)"
goto 14
StackMap locals:
StackMap stack: java.lang.StringBuilder
13: aload 5
StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap java.util.Iterator java.lang.StringBuilder java.util.Map$Entry java.lang.Object java.lang.Object
StackMap stack: java.lang.StringBuilder java.lang.Object
14: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
15: aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
16: aload 2
bipush 125
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
17: StackMap locals:
StackMap stack:
aload 2
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 5 end local 4 end local 3 18: goto 5
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
3 19 1 iterator Ljava/util/Iterator<Ljava/util/Map$Entry<TK;TV;>;>;
4 19 2 sb Ljava/lang/StringBuilder;
6 18 3 e Ljava/util/Map$Entry<TK;TV;>;
7 18 4 key TK;
8 18 5 value TV;
public void readExternal(java.io.ObjectInput);
descriptor: (Ljava/io/ObjectInput;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.io.ObjectInput.readInt:()I
istore 2
start local 2 1: iconst_1
istore 3
start local 3 2: goto 4
3: StackMap locals: int int
StackMap stack:
iload 3
iconst_1
ishl
istore 3
4: StackMap locals:
StackMap stack:
iload 3
iload 2
if_icmplt 3
5: aload 0
new java.util.concurrent.atomic.AtomicReferenceArray
dup
iload 3
iconst_1
iadd
invokespecial java.util.concurrent.atomic.AtomicReferenceArray.<init>:(I)V
putfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
6: iconst_0
istore 4
start local 4 7: goto 10
8: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokeinterface java.io.ObjectInput.readObject:()Ljava/lang/Object;
aload 1
invokeinterface java.io.ObjectInput.readObject:()Ljava/lang/Object;
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 2
if_icmplt 8
end local 4 11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 12 1 in Ljava/io/ObjectInput;
1 12 2 size I
2 12 3 capacity I
7 11 4 i I
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
in
public void writeExternal(java.io.ObjectOutput);
descriptor: (Ljava/io/ObjectOutput;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.size:()I
istore 2
start local 2 1: aload 1
iload 2
invokeinterface java.io.ObjectOutput.writeInt:(I)V
2: iconst_0
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 16
5: StackMap locals: int int int
StackMap stack:
aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
iload 4
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 5
start local 5 6: aload 5
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 7
aload 5
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 8
7: StackMap locals: java.lang.Object
StackMap stack:
new java.util.ConcurrentModificationException
dup
ldc "Can't serialize while resizing!"
invokespecial java.util.ConcurrentModificationException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 5
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 6
start local 6 9: goto 14
10: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
iinc 3 1
11: aload 1
aload 6
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
invokeinterface java.io.ObjectOutput.writeObject:(Ljava/lang/Object;)V
12: aload 1
aload 6
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
invokeinterface java.io.ObjectOutput.writeObject:(Ljava/lang/Object;)V
13: aload 6
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 6
14: StackMap locals:
StackMap stack:
aload 6
ifnonnull 10
end local 6 end local 5 15: iinc 4 1
StackMap locals:
StackMap stack:
16: iload 4
aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
iconst_1
isub
if_icmplt 5
end local 4 17: iload 3
iload 2
if_icmpeq 19
18: new java.util.ConcurrentModificationException
dup
ldc "Map changed while serializing"
invokespecial java.util.ConcurrentModificationException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 20 1 out Ljava/io/ObjectOutput;
1 20 2 size I
3 20 3 count I
4 17 4 i I
6 15 5 o Ljava/lang/Object;
9 15 6 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
public static <NK, NV> org.eclipse.collections.impl.map.mutable.ConcurrentHashMap<NK, NV> newMap(java.util.Map<NK, NV>);
descriptor: (Ljava/util/Map;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap
dup
aload 0
invokeinterface java.util.Map.size:()I
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.<init>:(I)V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.putAll:(Ljava/util/Map;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 map Ljava/util/Map<TNK;TNV;>;
1 3 1 result Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TNK;TNV;>;
Signature: <NK:Ljava/lang/Object;NV:Ljava/lang/Object;>(Ljava/util/Map<TNK;TNV;>;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TNK;TNV;>;
MethodParameters:
Name Flags
map
public org.eclipse.collections.impl.map.mutable.ConcurrentHashMap<K, V> withKeyValue(K, V);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial org.eclipse.collections.impl.map.mutable.AbstractMutableMap.withKeyValue:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/eclipse/collections/api/map/MutableMap;
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 1 1 key TK;
0 1 2 value TV;
Signature: (TK;TV;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
MethodParameters:
Name Flags
key
value
public org.eclipse.collections.impl.map.mutable.ConcurrentHashMap<K, V> withAllKeyValues(java.lang.Iterable<? extends org.eclipse.collections.api.tuple.Pair<? extends K, ? extends V>>);
descriptor: (Ljava/lang/Iterable;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.eclipse.collections.impl.map.mutable.AbstractMutableMap.withAllKeyValues:(Ljava/lang/Iterable;)Lorg/eclipse/collections/api/map/MutableMap;
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 1 1 keyValues Ljava/lang/Iterable<+Lorg/eclipse/collections/api/tuple/Pair<+TK;+TV;>;>;
Signature: (Ljava/lang/Iterable<+Lorg/eclipse/collections/api/tuple/Pair<+TK;+TV;>;>;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
MethodParameters:
Name Flags
keyValues
public org.eclipse.collections.impl.map.mutable.ConcurrentHashMap<K, V> withAllKeyValueArguments(org.eclipse.collections.api.tuple.Pair<? extends K, ? extends V>[]);
descriptor: ([Lorg/eclipse/collections/api/tuple/Pair;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.eclipse.collections.impl.map.mutable.AbstractMutableMap.withAllKeyValueArguments:([Lorg/eclipse/collections/api/tuple/Pair;)Lorg/eclipse/collections/api/map/MutableMap;
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 1 1 keyValues [Lorg/eclipse/collections/api/tuple/Pair;
Signature: ([Lorg/eclipse/collections/api/tuple/Pair<+TK;+TV;>;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
MethodParameters:
Name Flags
keyValues
public org.eclipse.collections.impl.map.mutable.ConcurrentHashMap<K, V> withoutKey(K);
descriptor: (Ljava/lang/Object;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.eclipse.collections.impl.map.mutable.AbstractMutableMap.withoutKey:(Ljava/lang/Object;)Lorg/eclipse/collections/api/map/MutableMap;
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 1 1 key TK;
Signature: (TK;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
MethodParameters:
Name Flags
key
public org.eclipse.collections.impl.map.mutable.ConcurrentHashMap<K, V> withoutAllKeys(java.lang.Iterable<? extends K>);
descriptor: (Ljava/lang/Iterable;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.eclipse.collections.impl.map.mutable.AbstractMutableMap.withoutAllKeys:(Ljava/lang/Iterable;)Lorg/eclipse/collections/api/map/MutableMap;
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 1 1 keys Ljava/lang/Iterable<+TK;>;
Signature: (Ljava/lang/Iterable<+TK;>;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
MethodParameters:
Name Flags
keys
public org.eclipse.collections.api.map.MutableMap<K, V> clone();
descriptor: ()Lorg/eclipse/collections/api/map/MutableMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.newMap:(Ljava/util/Map;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
Signature: ()Lorg/eclipse/collections/api/map/MutableMap<TK;TV;>;
public <K, V> org.eclipse.collections.api.map.MutableMap<K, V> newEmpty(int);
descriptor: (I)Lorg/eclipse/collections/api/map/MutableMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.newMap:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 1 1 capacity I
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(I)Lorg/eclipse/collections/api/map/MutableMap<TK;TV;>;
MethodParameters:
Name Flags
capacity
public boolean notEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.isEmpty:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
public void forEachWithIndex(org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure<? super V>);
descriptor: (Lorg/eclipse/collections/api/block/procedure/primitive/ObjectIntProcedure;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.values:()Ljava/util/Collection;
aload 1
invokestatic org.eclipse.collections.impl.utility.Iterate.forEachWithIndex:(Ljava/lang/Iterable;Lorg/eclipse/collections/api/block/procedure/primitive/ObjectIntProcedure;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 2 1 objectIntProcedure Lorg/eclipse/collections/api/block/procedure/primitive/ObjectIntProcedure<-TV;>;
Signature: (Lorg/eclipse/collections/api/block/procedure/primitive/ObjectIntProcedure<-TV;>;)V
MethodParameters:
Name Flags
objectIntProcedure
public java.util.Iterator<V> iterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
Signature: ()Ljava/util/Iterator<TV;>;
public org.eclipse.collections.api.map.MutableMap<K, V> newEmpty();
descriptor: ()Lorg/eclipse/collections/api/map/MutableMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.newMap:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
Signature: ()Lorg/eclipse/collections/api/map/MutableMap<TK;TV;>;
public org.eclipse.collections.api.map.ConcurrentMutableMap<K, V> tap(org.eclipse.collections.api.block.procedure.Procedure<? super V>);
descriptor: (Lorg/eclipse/collections/api/block/procedure/Procedure;)Lorg/eclipse/collections/api/map/ConcurrentMutableMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.each:(Lorg/eclipse/collections/api/block/procedure/Procedure;)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 2 1 procedure Lorg/eclipse/collections/api/block/procedure/Procedure<-TV;>;
Signature: (Lorg/eclipse/collections/api/block/procedure/Procedure<-TV;>;)Lorg/eclipse/collections/api/map/ConcurrentMutableMap<TK;TV;>;
MethodParameters:
Name Flags
procedure
public void forEachValue(org.eclipse.collections.api.block.procedure.Procedure<? super V>);
descriptor: (Lorg/eclipse/collections/api/block/procedure/Procedure;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.values:()Ljava/util/Collection;
aload 1
invokestatic org.eclipse.collections.impl.utility.internal.IterableIterate.forEach:(Ljava/lang/Iterable;Lorg/eclipse/collections/api/block/procedure/Procedure;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 2 1 procedure Lorg/eclipse/collections/api/block/procedure/Procedure<-TV;>;
Signature: (Lorg/eclipse/collections/api/block/procedure/Procedure<-TV;>;)V
MethodParameters:
Name Flags
procedure
public void forEachKey(org.eclipse.collections.api.block.procedure.Procedure<? super K>);
descriptor: (Lorg/eclipse/collections/api/block/procedure/Procedure;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.keySet:()Ljava/util/Set;
aload 1
invokestatic org.eclipse.collections.impl.utility.internal.IterableIterate.forEach:(Ljava/lang/Iterable;Lorg/eclipse/collections/api/block/procedure/Procedure;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 2 1 procedure Lorg/eclipse/collections/api/block/procedure/Procedure<-TK;>;
Signature: (Lorg/eclipse/collections/api/block/procedure/Procedure<-TK;>;)V
MethodParameters:
Name Flags
procedure
public void forEachKeyValue(org.eclipse.collections.api.block.procedure.Procedure2<? super K, ? super V>);
descriptor: (Lorg/eclipse/collections/api/block/procedure/Procedure2;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.entrySet:()Ljava/util/Set;
new org.eclipse.collections.impl.block.procedure.MapEntryToProcedure2
dup
aload 1
invokespecial org.eclipse.collections.impl.block.procedure.MapEntryToProcedure2.<init>:(Lorg/eclipse/collections/api/block/procedure/Procedure2;)V
invokestatic org.eclipse.collections.impl.utility.internal.IterableIterate.forEach:(Ljava/lang/Iterable;Lorg/eclipse/collections/api/block/procedure/Procedure;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 2 1 procedure Lorg/eclipse/collections/api/block/procedure/Procedure2<-TK;-TV;>;
Signature: (Lorg/eclipse/collections/api/block/procedure/Procedure2<-TK;-TV;>;)V
MethodParameters:
Name Flags
procedure
public <E> org.eclipse.collections.api.map.MutableMap<K, V> collectKeysAndValues(java.lang.Iterable<E>, org.eclipse.collections.api.block.function.Function<? super E, ? extends K>, org.eclipse.collections.api.block.function.Function<? super E, ? extends V>);
descriptor: (Ljava/lang/Iterable;Lorg/eclipse/collections/api/block/function/Function;Lorg/eclipse/collections/api/block/function/Function;)Lorg/eclipse/collections/api/map/MutableMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
aload 3
aload 0
invokestatic org.eclipse.collections.impl.utility.Iterate.addToMap:(Ljava/lang/Iterable;Lorg/eclipse/collections/api/block/function/Function;Lorg/eclipse/collections/api/block/function/Function;Ljava/util/Map;)Ljava/util/Map;
pop
1: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 2 1 iterable Ljava/lang/Iterable<TE;>;
0 2 2 keyFunction Lorg/eclipse/collections/api/block/function/Function<-TE;+TK;>;
0 2 3 valueFunction Lorg/eclipse/collections/api/block/function/Function<-TE;+TV;>;
Signature: <E:Ljava/lang/Object;>(Ljava/lang/Iterable<TE;>;Lorg/eclipse/collections/api/block/function/Function<-TE;+TK;>;Lorg/eclipse/collections/api/block/function/Function<-TE;+TV;>;)Lorg/eclipse/collections/api/map/MutableMap<TK;TV;>;
MethodParameters:
Name Flags
iterable
keyFunction
valueFunction
public V removeKey();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 1 1 key TK;
Signature: (TK;)TV;
MethodParameters:
Name Flags
key
public boolean removeIf(org.eclipse.collections.api.block.predicate.Predicate2<? super K, ? super V>);
descriptor: (Lorg/eclipse/collections/api/block/predicate/Predicate2;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.size:()I
istore 2
start local 2 1: aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
start local 3 2: goto 6
3: StackMap locals: int java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 4: aload 1
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
invokeinterface org.eclipse.collections.api.block.predicate.Predicate2.accept:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 6
5: aload 3
invokeinterface java.util.Iterator.remove:()V
end local 4 6: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: iload 2
aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.size:()I
if_icmple 8
iconst_1
ireturn
StackMap locals:
StackMap stack:
8: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 9 1 predicate Lorg/eclipse/collections/api/block/predicate/Predicate2<-TK;-TV;>;
1 9 2 previousSize I
2 9 3 iterator Ljava/util/Iterator<Ljava/util/Map$Entry<TK;TV;>;>;
4 6 4 entry Ljava/util/Map$Entry<TK;TV;>;
Signature: (Lorg/eclipse/collections/api/block/predicate/Predicate2<-TK;-TV;>;)Z
MethodParameters:
Name Flags
predicate
public <P> V getIfAbsentPutWith(K, org.eclipse.collections.api.block.function.Function<? super P, ? extends V>, );
descriptor: (Ljava/lang/Object;Lorg/eclipse/collections/api/block/function/Function;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.hash:(Ljava/lang/Object;)I
istore 4
start local 4 1: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 5
start local 5 2: aconst_null
astore 6
start local 6 3: iconst_0
istore 7
start local 7 4: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap java.lang.Object org.eclipse.collections.api.block.function.Function java.lang.Object int java.util.concurrent.atomic.AtomicReferenceArray java.lang.Object int
StackMap stack:
aload 5
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 8
start local 8 5: iload 4
iload 8
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 9
start local 9 6: aload 5
iload 9
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 10
start local 10 7: aload 10
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 8
aload 10
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 10
8: StackMap locals: int int java.lang.Object
StackMap stack:
aload 0
aload 5
iload 9
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.helpWithResizeWhileCurrentIndex:(Ljava/util/concurrent/atomic/AtomicReferenceArray;I)Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 5
9: goto 4
10: StackMap locals:
StackMap stack:
aload 10
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 11
start local 11 11: goto 16
12: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 11
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
astore 12
start local 12 13: aload 12
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 15
14: aload 11
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
areturn
15: StackMap locals: java.lang.Object
StackMap stack:
aload 11
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 11
end local 12 16: StackMap locals:
StackMap stack:
aload 11
ifnonnull 12
17: iload 7
ifne 20
18: iconst_1
istore 7
19: aload 2
aload 3
invokeinterface org.eclipse.collections.api.block.function.Function.valueOf:(Ljava/lang/Object;)Ljava/lang/Object;
astore 6
20: StackMap locals:
StackMap stack:
new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
dup
aload 1
aload 6
aload 10
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.<init>:(Ljava/lang/Object;Ljava/lang/Object;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
astore 12
start local 12 21: aload 5
iload 9
aload 10
aload 12
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 4
22: aload 0
aload 5
iload 8
aload 10
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.incrementSizeAndPossiblyResize:(Ljava/util/concurrent/atomic/AtomicReferenceArray;ILjava/lang/Object;)V
23: aload 6
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 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 24 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 24 1 key TK;
0 24 2 function Lorg/eclipse/collections/api/block/function/Function<-TP;+TV;>;
0 24 3 parameter TP;
1 24 4 hash I
2 24 5 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
3 24 6 newValue TV;
4 24 7 createdValue Z
5 24 8 length I
6 24 9 index I
7 24 10 o Ljava/lang/Object;
11 24 11 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
13 16 12 candidate Ljava/lang/Object;
21 24 12 newEntry Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
Signature: <P:Ljava/lang/Object;>(TK;Lorg/eclipse/collections/api/block/function/Function<-TP;+TV;>;TP;)TV;
MethodParameters:
Name Flags
key
function
parameter
public V getIfAbsent(K, org.eclipse.collections.api.block.function.Function0<? extends V>);
descriptor: (Ljava/lang/Object;Lorg/eclipse/collections/api/block/function/Function0;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: aload 2
invokeinterface org.eclipse.collections.api.block.function.Function0.value:()Ljava/lang/Object;
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 4 1 key TK;
0 4 2 function Lorg/eclipse/collections/api/block/function/Function0<+TV;>;
1 4 3 result TV;
Signature: (TK;Lorg/eclipse/collections/api/block/function/Function0<+TV;>;)TV;
MethodParameters:
Name Flags
key
function
public <P> V getIfAbsentWith(K, org.eclipse.collections.api.block.function.Function<? super P, ? extends V>, );
descriptor: (Ljava/lang/Object;Lorg/eclipse/collections/api/block/function/Function;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 1: aload 4
ifnonnull 3
2: aload 2
aload 3
invokeinterface org.eclipse.collections.api.block.function.Function.valueOf:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 4 1 key TK;
0 4 2 function Lorg/eclipse/collections/api/block/function/Function<-TP;+TV;>;
0 4 3 parameter TP;
1 4 4 result TV;
Signature: <P:Ljava/lang/Object;>(TK;Lorg/eclipse/collections/api/block/function/Function<-TP;+TV;>;TP;)TV;
MethodParameters:
Name Flags
key
function
parameter
public <A> A ifPresentApply(K, org.eclipse.collections.api.block.function.Function<? super V, ? extends A>);
descriptor: (Ljava/lang/Object;Lorg/eclipse/collections/api/block/function/Function;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 1: aload 3
ifnonnull 2
aconst_null
goto 3
StackMap locals: java.lang.Object
StackMap stack:
2: aload 2
aload 3
invokeinterface org.eclipse.collections.api.block.function.Function.valueOf:(Ljava/lang/Object;)Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
3: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 4 1 key TK;
0 4 2 function Lorg/eclipse/collections/api/block/function/Function<-TV;+TA;>;
1 4 3 result TV;
Signature: <A:Ljava/lang/Object;>(TK;Lorg/eclipse/collections/api/block/function/Function<-TV;+TA;>;)TA;
MethodParameters:
Name Flags
key
function
public <P> void forEachWith(org.eclipse.collections.api.block.procedure.Procedure2<? super V, ? super P>, );
descriptor: (Lorg/eclipse/collections/api/block/procedure/Procedure2;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.values:()Ljava/util/Collection;
aload 1
aload 2
invokestatic org.eclipse.collections.impl.utility.Iterate.forEachWith:(Ljava/lang/Iterable;Lorg/eclipse/collections/api/block/procedure/Procedure2;Ljava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 2 1 procedure Lorg/eclipse/collections/api/block/procedure/Procedure2<-TV;-TP;>;
0 2 2 parameter TP;
Signature: <P:Ljava/lang/Object;>(Lorg/eclipse/collections/api/block/procedure/Procedure2<-TV;-TP;>;TP;)V
MethodParameters:
Name Flags
procedure
parameter
public V updateValue(K, org.eclipse.collections.api.block.function.Function0<? extends V>, org.eclipse.collections.api.block.function.Function<? super V, ? extends V>);
descriptor: (Ljava/lang/Object;Lorg/eclipse/collections/api/block/function/Function0;Lorg/eclipse/collections/api/block/function/Function;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.hash:(Ljava/lang/Object;)I
istore 4
start local 4 1: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 5
start local 5 2: aload 5
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 6
start local 6 3: iload 4
iload 6
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 7
start local 7 4: aload 5
iload 7
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 8
start local 8 5: aload 8
ifnonnull 11
6: aload 3
aload 2
invokeinterface org.eclipse.collections.api.block.function.Function0.value:()Ljava/lang/Object;
invokeinterface org.eclipse.collections.api.block.function.Function.valueOf:(Ljava/lang/Object;)Ljava/lang/Object;
astore 9
start local 9 7: new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
dup
aload 1
aload 9
aconst_null
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.<init>:(Ljava/lang/Object;Ljava/lang/Object;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
astore 10
start local 10 8: aload 5
iload 7
aconst_null
aload 10
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 11
9: aload 0
iconst_1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.addToSize:(I)V
10: aload 9
areturn
end local 10 end local 9 11: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap java.lang.Object org.eclipse.collections.api.block.function.Function0 org.eclipse.collections.api.block.function.Function int java.util.concurrent.atomic.AtomicReferenceArray int int java.lang.Object
StackMap stack:
aload 0
aload 1
aload 2
aload 3
iload 4
aload 5
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.slowUpdateValue:(Ljava/lang/Object;Lorg/eclipse/collections/api/block/function/Function0;Lorg/eclipse/collections/api/block/function/Function;ILjava/util/concurrent/atomic/AtomicReferenceArray;)Ljava/lang/Object;
areturn
end local 8 end local 7 end local 6 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 12 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 12 1 key TK;
0 12 2 factory Lorg/eclipse/collections/api/block/function/Function0<+TV;>;
0 12 3 function Lorg/eclipse/collections/api/block/function/Function<-TV;+TV;>;
1 12 4 hash I
2 12 5 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
3 12 6 length I
4 12 7 index I
5 12 8 o Ljava/lang/Object;
7 11 9 result TV;
8 11 10 newEntry Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
Signature: (TK;Lorg/eclipse/collections/api/block/function/Function0<+TV;>;Lorg/eclipse/collections/api/block/function/Function<-TV;+TV;>;)TV;
MethodParameters:
Name Flags
key
factory
function
private V slowUpdateValue(K, org.eclipse.collections.api.block.function.Function0<? extends V>, org.eclipse.collections.api.block.function.Function<? super V, ? extends V>, int, java.util.concurrent.atomic.AtomicReferenceArray);
descriptor: (Ljava/lang/Object;Lorg/eclipse/collections/api/block/function/Function0;Lorg/eclipse/collections/api/block/function/Function;ILjava/util/concurrent/atomic/AtomicReferenceArray;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=14, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 6
start local 6 1: iload 4
iload 6
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 7
start local 7 2: aload 5
iload 7
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 8
start local 8 3: aload 8
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 4
aload 8
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 6
4: StackMap locals: int int java.lang.Object
StackMap stack:
aload 0
aload 5
iload 7
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.helpWithResizeWhileCurrentIndex:(Ljava/util/concurrent/atomic/AtomicReferenceArray;I)Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 5
5: goto 0
6: StackMap locals:
StackMap stack:
aload 8
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 9
start local 9 7: goto 17
8: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 9
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
astore 10
start local 10 9: aload 10
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 16
10: aload 9
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
astore 11
start local 11 11: aload 3
aload 11
invokeinterface org.eclipse.collections.api.block.function.Function.valueOf:(Ljava/lang/Object;)Ljava/lang/Object;
astore 12
start local 12 12: new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
dup
aload 9
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
aload 12
aload 0
aload 8
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
aload 9
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.createReplacementChainForRemoval:(Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.<init>:(Ljava/lang/Object;Ljava/lang/Object;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
astore 13
start local 13 13: aload 5
iload 7
aload 8
aload 13
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifne 15
14: goto 0
15: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap java.lang.Object org.eclipse.collections.api.block.function.Function0 org.eclipse.collections.api.block.function.Function int java.util.concurrent.atomic.AtomicReferenceArray int int java.lang.Object org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry java.lang.Object java.lang.Object java.lang.Object org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 12
areturn
end local 13 end local 12 end local 11 16: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 9
end local 10 17: StackMap locals:
StackMap stack:
aload 9
ifnonnull 8
18: aload 3
aload 2
invokeinterface org.eclipse.collections.api.block.function.Function0.value:()Ljava/lang/Object;
invokeinterface org.eclipse.collections.api.block.function.Function.valueOf:(Ljava/lang/Object;)Ljava/lang/Object;
astore 10
start local 10 19: new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
dup
aload 1
aload 10
aload 8
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.<init>:(Ljava/lang/Object;Ljava/lang/Object;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
astore 11
start local 11 20: aload 5
iload 7
aload 8
aload 11
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 0
21: aload 0
aload 5
iload 6
aload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.incrementSizeAndPossiblyResize:(Ljava/util/concurrent/atomic/AtomicReferenceArray;ILjava/lang/Object;)V
22: aload 10
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 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 23 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 23 1 key TK;
0 23 2 factory Lorg/eclipse/collections/api/block/function/Function0<+TV;>;
0 23 3 function Lorg/eclipse/collections/api/block/function/Function<-TV;+TV;>;
0 23 4 hash I
0 23 5 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
1 23 6 length I
2 23 7 index I
3 23 8 o Ljava/lang/Object;
7 23 9 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
9 17 10 candidate Ljava/lang/Object;
11 16 11 oldValue TV;
12 16 12 newValue TV;
13 16 13 newEntry Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
19 23 10 result TV;
20 23 11 newEntry Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
Signature: (TK;Lorg/eclipse/collections/api/block/function/Function0<+TV;>;Lorg/eclipse/collections/api/block/function/Function<-TV;+TV;>;ILjava/util/concurrent/atomic/AtomicReferenceArray;)TV;
MethodParameters:
Name Flags
key
factory
function
hash
currentArray
public <P> V updateValueWith(K, org.eclipse.collections.api.block.function.Function0<? extends V>, org.eclipse.collections.api.block.function.Function2<? super V, ? super P, ? extends V>, );
descriptor: (Ljava/lang/Object;Lorg/eclipse/collections/api/block/function/Function0;Lorg/eclipse/collections/api/block/function/Function2;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.hash:(Ljava/lang/Object;)I
istore 5
start local 5 1: aload 0
getfield org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 6
start local 6 2: aload 6
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 7
start local 7 3: iload 5
iload 7
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 8
start local 8 4: aload 6
iload 8
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 9
start local 9 5: aload 9
ifnonnull 11
6: aload 3
aload 2
invokeinterface org.eclipse.collections.api.block.function.Function0.value:()Ljava/lang/Object;
aload 4
invokeinterface org.eclipse.collections.api.block.function.Function2.value:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 10
start local 10 7: new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
dup
aload 1
aload 10
aconst_null
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.<init>:(Ljava/lang/Object;Ljava/lang/Object;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
astore 11
start local 11 8: aload 6
iload 8
aconst_null
aload 11
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 11
9: aload 0
iconst_1
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.addToSize:(I)V
10: aload 10
areturn
end local 11 end local 10 11: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap java.lang.Object org.eclipse.collections.api.block.function.Function0 org.eclipse.collections.api.block.function.Function2 java.lang.Object int java.util.concurrent.atomic.AtomicReferenceArray int int java.lang.Object
StackMap stack:
aload 0
aload 1
aload 2
aload 3
aload 4
iload 5
aload 6
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.slowUpdateValueWith:(Ljava/lang/Object;Lorg/eclipse/collections/api/block/function/Function0;Lorg/eclipse/collections/api/block/function/Function2;Ljava/lang/Object;ILjava/util/concurrent/atomic/AtomicReferenceArray;)Ljava/lang/Object;
areturn
end local 9 end local 8 end local 7 end local 6 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 12 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 12 1 key TK;
0 12 2 factory Lorg/eclipse/collections/api/block/function/Function0<+TV;>;
0 12 3 function Lorg/eclipse/collections/api/block/function/Function2<-TV;-TP;+TV;>;
0 12 4 parameter TP;
1 12 5 hash I
2 12 6 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
3 12 7 length I
4 12 8 index I
5 12 9 o Ljava/lang/Object;
7 11 10 result TV;
8 11 11 newEntry Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
Signature: <P:Ljava/lang/Object;>(TK;Lorg/eclipse/collections/api/block/function/Function0<+TV;>;Lorg/eclipse/collections/api/block/function/Function2<-TV;-TP;+TV;>;TP;)TV;
MethodParameters:
Name Flags
key
factory
function
parameter
private <P> V slowUpdateValueWith(K, org.eclipse.collections.api.block.function.Function0<? extends V>, org.eclipse.collections.api.block.function.Function2<? super V, ? super P, ? extends V>, P, int, java.util.concurrent.atomic.AtomicReferenceArray);
descriptor: (Ljava/lang/Object;Lorg/eclipse/collections/api/block/function/Function0;Lorg/eclipse/collections/api/block/function/Function2;Ljava/lang/Object;ILjava/util/concurrent/atomic/AtomicReferenceArray;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=15, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
istore 7
start local 7 1: iload 5
iload 7
invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.indexFor:(II)I
istore 8
start local 8 2: aload 6
iload 8
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
astore 9
start local 9 3: aload 9
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZED:Ljava/lang/Object;
if_acmpeq 4
aload 9
getstatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.RESIZING:Ljava/lang/Object;
if_acmpne 6
4: StackMap locals: int int java.lang.Object
StackMap stack:
aload 0
aload 6
iload 8
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.helpWithResizeWhileCurrentIndex:(Ljava/util/concurrent/atomic/AtomicReferenceArray;I)Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 6
5: goto 0
6: StackMap locals:
StackMap stack:
aload 9
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
astore 10
start local 10 7: goto 17
8: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 10
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
astore 11
start local 11 9: aload 11
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 16
10: aload 10
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getValue:()Ljava/lang/Object;
astore 12
start local 12 11: aload 3
aload 12
aload 4
invokeinterface org.eclipse.collections.api.block.function.Function2.value:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 13
start local 13 12: new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
dup
aload 10
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getKey:()Ljava/lang/Object;
aload 13
aload 0
aload 9
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
aload 10
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.createReplacementChainForRemoval:(Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.<init>:(Ljava/lang/Object;Ljava/lang/Object;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
astore 14
start local 14 13: aload 6
iload 8
aload 9
aload 14
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifne 15
14: goto 0
15: StackMap locals: org.eclipse.collections.impl.map.mutable.ConcurrentHashMap java.lang.Object org.eclipse.collections.api.block.function.Function0 org.eclipse.collections.api.block.function.Function2 java.lang.Object int java.util.concurrent.atomic.AtomicReferenceArray int int java.lang.Object org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry java.lang.Object java.lang.Object java.lang.Object org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
StackMap stack:
aload 13
areturn
end local 14 end local 13 end local 12 16: StackMap locals:
StackMap stack:
aload 10
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.getNext:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;
astore 10
end local 11 17: StackMap locals:
StackMap stack:
aload 10
ifnonnull 8
18: aload 3
aload 2
invokeinterface org.eclipse.collections.api.block.function.Function0.value:()Ljava/lang/Object;
aload 4
invokeinterface org.eclipse.collections.api.block.function.Function2.value:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 11
start local 11 19: new org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
dup
aload 1
aload 11
aload 9
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry
invokespecial org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry.<init>:(Ljava/lang/Object;Ljava/lang/Object;Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry;)V
astore 12
start local 12 20: aload 6
iload 8
aload 9
aload 12
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 0
21: aload 0
aload 6
iload 7
aload 9
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.incrementSizeAndPossiblyResize:(Ljava/util/concurrent/atomic/AtomicReferenceArray;ILjava/lang/Object;)V
22: aload 11
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 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 23 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
0 23 1 key TK;
0 23 2 factory Lorg/eclipse/collections/api/block/function/Function0<+TV;>;
0 23 3 function Lorg/eclipse/collections/api/block/function/Function2<-TV;-TP;+TV;>;
0 23 4 parameter TP;
0 23 5 hash I
0 23 6 currentArray Ljava/util/concurrent/atomic/AtomicReferenceArray;
1 23 7 length I
2 23 8 index I
3 23 9 o Ljava/lang/Object;
7 23 10 e Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
9 17 11 candidate Ljava/lang/Object;
11 16 12 oldValue TV;
12 16 13 newValue TV;
13 16 14 newEntry Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
19 23 11 result TV;
20 23 12 newEntry Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap$Entry<TK;TV;>;
Signature: <P:Ljava/lang/Object;>(TK;Lorg/eclipse/collections/api/block/function/Function0<+TV;>;Lorg/eclipse/collections/api/block/function/Function2<-TV;-TP;+TV;>;TP;ILjava/util/concurrent/atomic/AtomicReferenceArray;)TV;
MethodParameters:
Name Flags
key
factory
function
parameter
hash
currentArray
public org.eclipse.collections.api.map.ImmutableMap<K, V> toImmutable();
descriptor: ()Lorg/eclipse/collections/api/map/ImmutableMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.eclipse.collections.impl.factory.Maps.immutable:Lorg/eclipse/collections/api/factory/map/ImmutableMapFactory;
aload 0
invokeinterface org.eclipse.collections.api.factory.map.ImmutableMapFactory.ofMap:(Ljava/util/Map;)Lorg/eclipse/collections/api/map/ImmutableMap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
Signature: ()Lorg/eclipse/collections/api/map/ImmutableMap<TK;TV;>;
public org.eclipse.collections.api.map.ImmutableMapIterable toImmutable();
descriptor: ()Lorg/eclipse/collections/api/map/ImmutableMapIterable;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.toImmutable:()Lorg/eclipse/collections/api/map/ImmutableMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.eclipse.collections.api.map.MutableMapIterable newEmpty();
descriptor: ()Lorg/eclipse/collections/api/map/MutableMapIterable;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.newEmpty:()Lorg/eclipse/collections/api/map/MutableMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.eclipse.collections.api.map.MutableMap withKeyValue(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Lorg/eclipse/collections/api/map/MutableMap;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast java.lang.Object
aload 2
checkcast java.lang.Object
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.withKeyValue:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.eclipse.collections.api.map.MutableMapIterable withKeyValue(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Lorg/eclipse/collections/api/map/MutableMapIterable;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast java.lang.Object
aload 2
checkcast java.lang.Object
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.withKeyValue:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.clone:()Lorg/eclipse/collections/api/map/MutableMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.CloneNotSupportedException
public org.eclipse.collections.api.map.MutableMap withAllKeyValueArguments(org.eclipse.collections.api.tuple.Pair[]);
descriptor: ([Lorg/eclipse/collections/api/tuple/Pair;)Lorg/eclipse/collections/api/map/MutableMap;
flags: (0x10c1) ACC_PUBLIC, ACC_BRIDGE, ACC_VARARGS, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast org.eclipse.collections.api.tuple.Pair[]
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.withAllKeyValueArguments:([Lorg/eclipse/collections/api/tuple/Pair;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.eclipse.collections.api.map.MutableMapIterable withAllKeyValueArguments(org.eclipse.collections.api.tuple.Pair[]);
descriptor: ([Lorg/eclipse/collections/api/tuple/Pair;)Lorg/eclipse/collections/api/map/MutableMapIterable;
flags: (0x10c1) ACC_PUBLIC, ACC_BRIDGE, ACC_VARARGS, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast org.eclipse.collections.api.tuple.Pair[]
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.withAllKeyValueArguments:([Lorg/eclipse/collections/api/tuple/Pair;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.eclipse.collections.api.map.MutableMap withoutKey(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/eclipse/collections/api/map/MutableMap;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.lang.Object
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.withoutKey:(Ljava/lang/Object;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.eclipse.collections.api.map.MutableMapIterable withoutKey(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/eclipse/collections/api/map/MutableMapIterable;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.lang.Object
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.withoutKey:(Ljava/lang/Object;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.eclipse.collections.api.map.MutableMap withAllKeyValues(java.lang.Iterable);
descriptor: (Ljava/lang/Iterable;)Lorg/eclipse/collections/api/map/MutableMap;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.lang.Iterable
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.withAllKeyValues:(Ljava/lang/Iterable;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.eclipse.collections.api.map.MutableMapIterable withAllKeyValues(java.lang.Iterable);
descriptor: (Ljava/lang/Iterable;)Lorg/eclipse/collections/api/map/MutableMapIterable;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.lang.Iterable
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.withAllKeyValues:(Ljava/lang/Iterable;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.eclipse.collections.api.map.MutableMap tap(org.eclipse.collections.api.block.procedure.Procedure);
descriptor: (Lorg/eclipse/collections/api/block/procedure/Procedure;)Lorg/eclipse/collections/api/map/MutableMap;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast org.eclipse.collections.api.block.procedure.Procedure
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.tap:(Lorg/eclipse/collections/api/block/procedure/Procedure;)Lorg/eclipse/collections/api/map/ConcurrentMutableMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.eclipse.collections.api.RichIterable tap(org.eclipse.collections.api.block.procedure.Procedure);
descriptor: (Lorg/eclipse/collections/api/block/procedure/Procedure;)Lorg/eclipse/collections/api/RichIterable;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast org.eclipse.collections.api.block.procedure.Procedure
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.tap:(Lorg/eclipse/collections/api/block/procedure/Procedure;)Lorg/eclipse/collections/api/map/ConcurrentMutableMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.eclipse.collections.api.map.MapIterable tap(org.eclipse.collections.api.block.procedure.Procedure);
descriptor: (Lorg/eclipse/collections/api/block/procedure/Procedure;)Lorg/eclipse/collections/api/map/MapIterable;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast org.eclipse.collections.api.block.procedure.Procedure
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.tap:(Lorg/eclipse/collections/api/block/procedure/Procedure;)Lorg/eclipse/collections/api/map/ConcurrentMutableMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.eclipse.collections.api.map.MutableMapIterable tap(org.eclipse.collections.api.block.procedure.Procedure);
descriptor: (Lorg/eclipse/collections/api/block/procedure/Procedure;)Lorg/eclipse/collections/api/map/MutableMapIterable;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast org.eclipse.collections.api.block.procedure.Procedure
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.tap:(Lorg/eclipse/collections/api/block/procedure/Procedure;)Lorg/eclipse/collections/api/map/ConcurrentMutableMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.eclipse.collections.api.map.UnsortedMapIterable tap(org.eclipse.collections.api.block.procedure.Procedure);
descriptor: (Lorg/eclipse/collections/api/block/procedure/Procedure;)Lorg/eclipse/collections/api/map/UnsortedMapIterable;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast org.eclipse.collections.api.block.procedure.Procedure
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.tap:(Lorg/eclipse/collections/api/block/procedure/Procedure;)Lorg/eclipse/collections/api/map/ConcurrentMutableMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.eclipse.collections.api.map.MutableMap withoutAllKeys(java.lang.Iterable);
descriptor: (Ljava/lang/Iterable;)Lorg/eclipse/collections/api/map/MutableMap;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.lang.Iterable
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.withoutAllKeys:(Ljava/lang/Iterable;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.eclipse.collections.api.map.MutableMapIterable withoutAllKeys(java.lang.Iterable);
descriptor: (Ljava/lang/Iterable;)Lorg/eclipse/collections/api/map/MutableMapIterable;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.lang.Iterable
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.withoutAllKeys:(Ljava/lang/Iterable;)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
private void lambda$0(java.util.concurrent.atomic.AtomicReferenceArray, int, int);
descriptor: (Ljava/util/concurrent/atomic/AtomicReferenceArray;II)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
start local 0 0: aload 0
aload 1
iload 2
iload 3
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.sequentialPutAll:(Ljava/util/concurrent/atomic/AtomicReferenceArray;II)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
private void lambda$2(org.eclipse.collections.api.block.procedure.Procedure2, java.util.concurrent.atomic.AtomicReferenceArray, int, int);
descriptor: (Lorg/eclipse/collections/api/block/procedure/Procedure2;Ljava/util/concurrent/atomic/AtomicReferenceArray;II)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=5
start local 0 0: aload 0
aload 1
aload 2
iload 3
iload 4
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.sequentialForEachKeyValue:(Lorg/eclipse/collections/api/block/procedure/Procedure2;Ljava/util/concurrent/atomic/AtomicReferenceArray;II)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
private void lambda$3(org.eclipse.collections.api.block.procedure.Procedure, java.util.concurrent.atomic.AtomicReferenceArray, int, int);
descriptor: (Lorg/eclipse/collections/api/block/procedure/Procedure;Ljava/util/concurrent/atomic/AtomicReferenceArray;II)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=5
start local 0 0: aload 0
aload 1
aload 2
iload 3
iload 4
invokevirtual org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.sequentialForEachValue:(Lorg/eclipse/collections/api/block/procedure/Procedure;Ljava/util/concurrent/atomic/AtomicReferenceArray;II)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap<TK;TV;>;
private static java.lang.Object $deserializeLambda$(java.lang.invoke.SerializedLambda);
descriptor: (Ljava/lang/invoke/SerializedLambda;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=1
0: aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplMethodName:()Ljava/lang/String;
astore 1
iconst_m1
istore 2
aload 1
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 1
111375: 1
default: 2
}
StackMap locals: java.lang.String int
StackMap stack:
1: aload 1
ldc "put"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
iconst_0
istore 2
StackMap locals:
StackMap stack:
2: iload 2
lookupswitch { // 1
0: 3
default: 4
}
StackMap locals:
StackMap stack:
3: aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplMethodKind:()I
bipush 5
if_icmpne 4
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceClass:()Ljava/lang/String;
ldc "org/eclipse/collections/api/block/procedure/Procedure2"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceMethodName:()Ljava/lang/String;
ldc "value"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceMethodSignature:()Ljava/lang/String;
ldc "(Ljava/lang/Object;Ljava/lang/Object;)V"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplClass:()Ljava/lang/String;
ldc "org/eclipse/collections/impl/map/mutable/ConcurrentHashMap"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplMethodSignature:()Ljava/lang/String;
ldc "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
aload 0
iconst_0
invokevirtual java.lang.invoke.SerializedLambda.getCapturedArg:(I)Ljava/lang/Object;
checkcast org.eclipse.collections.impl.map.mutable.ConcurrentHashMap
invokedynamic value(Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;)Lorg/eclipse/collections/api/block/procedure/Procedure2;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)V
org/eclipse/collections/impl/map/mutable/ConcurrentHashMap.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; (5)
(Ljava/lang/Object;Ljava/lang/Object;)V
1
areturn
StackMap locals:
StackMap stack:
4: new java.lang.IllegalArgumentException
dup
ldc "Invalid lambda deserialization"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Lorg/eclipse/collections/impl/map/mutable/AbstractMutableMap<TK;TV;>;Lorg/eclipse/collections/api/map/ConcurrentMutableMap<TK;TV;>;Ljava/io/Externalizable;
SourceFile: "ConcurrentHashMap.java"
NestMembers:
org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$EntryIterator org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$EntrySet org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$HashIterator org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$IteratorState org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$KeyIterator org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$KeySet org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ValueIterator org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Values
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
private final Entry = org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Entry of org.eclipse.collections.impl.map.mutable.ConcurrentHashMap
private final EntryIterator = org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$EntryIterator of org.eclipse.collections.impl.map.mutable.ConcurrentHashMap
private final EntrySet = org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$EntrySet of org.eclipse.collections.impl.map.mutable.ConcurrentHashMap
private abstract HashIterator = org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$HashIterator of org.eclipse.collections.impl.map.mutable.ConcurrentHashMap
private final IteratorState = org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$IteratorState of org.eclipse.collections.impl.map.mutable.ConcurrentHashMap
private final KeyIterator = org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$KeyIterator of org.eclipse.collections.impl.map.mutable.ConcurrentHashMap
private final KeySet = org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$KeySet of org.eclipse.collections.impl.map.mutable.ConcurrentHashMap
private final ResizeContainer = org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ResizeContainer of org.eclipse.collections.impl.map.mutable.ConcurrentHashMap
private final ValueIterator = org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$ValueIterator of org.eclipse.collections.impl.map.mutable.ConcurrentHashMap
private final Values = org.eclipse.collections.impl.map.mutable.ConcurrentHashMap$Values of org.eclipse.collections.impl.map.mutable.ConcurrentHashMap