final class org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment<K, V> extends java.util.concurrent.locks.ReentrantLock implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment
super_class: java.util.concurrent.locks.ReentrantLock
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2249069246763182397
volatile transient int count;
descriptor: I
flags: (0x00c0) ACC_VOLATILE, ACC_TRANSIENT
transient int modCount;
descriptor: I
flags: (0x0080) ACC_TRANSIENT
transient int threshold;
descriptor: I
flags: (0x0080) ACC_TRANSIENT
volatile transient org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry<K, V>[] table;
descriptor: [Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
flags: (0x00c0) ACC_VOLATILE, ACC_TRANSIENT
Signature: [Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
final float loadFactor;
descriptor: F
flags: (0x0010) ACC_FINAL
volatile transient java.lang.ref.ReferenceQueue<java.lang.Object> refQueue;
descriptor: Ljava/lang/ref/ReferenceQueue;
flags: (0x00c0) ACC_VOLATILE, ACC_TRANSIENT
Signature: Ljava/lang/ref/ReferenceQueue<Ljava/lang/Object;>;
final org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$ReferenceType keyType;
descriptor: Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;
flags: (0x0010) ACC_FINAL
final org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$ReferenceType valueType;
descriptor: Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;
flags: (0x0010) ACC_FINAL
final boolean identityComparisons;
descriptor: Z
flags: (0x0010) ACC_FINAL
void <init>(int, float, org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$ReferenceType, org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$ReferenceType, boolean);
descriptor: (IFLorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;Z)V
flags: (0x0000)
Code:
stack=2, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
1: aload 0
fload 2
putfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.loadFactor:F
2: aload 0
aload 3
putfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.keyType:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;
3: aload 0
aload 4
putfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.valueType:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;
4: aload 0
iload 5
putfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.identityComparisons:Z
5: aload 0
iload 1
invokestatic org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.newArray:(I)[Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.setTable:([Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;)V
6: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$Segment<TK;TV;>;
0 7 1 initialCapacity I
0 7 2 lf F
0 7 3 keyType Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;
0 7 4 valueType Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;
0 7 5 identityComparisons Z
MethodParameters:
Name Flags
initialCapacity
lf
keyType
valueType
identityComparisons
static final <K, V> org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment<K, V>[] newArray(int);
descriptor: (I)[Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$Segment;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
anewarray org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 i I
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(I)[Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$Segment<TK;TV;>;
MethodParameters:
Name Flags
i
private boolean keyEq(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 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.identityComparisons:Z
ifeq 2
aload 1
aload 2
if_acmpne 1
iconst_1
goto 3
StackMap locals:
StackMap stack:
1: iconst_0
goto 3
StackMap locals:
StackMap stack:
2: aload 1
aload 2
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
StackMap locals:
StackMap stack: int
3: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$Segment<TK;TV;>;
0 4 1 src Ljava/lang/Object;
0 4 2 dest Ljava/lang/Object;
MethodParameters:
Name Flags
src
dest
void setTable(org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry<K, V>[]);
descriptor: ([Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
arraylength
i2f
aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.loadFactor:F
fmul
f2i
putfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.threshold:I
1: aload 0
aload 1
putfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.table:[Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
2: aload 0
new java.lang.ref.ReferenceQueue
dup
invokespecial java.lang.ref.ReferenceQueue.<init>:()V
putfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.refQueue:Ljava/lang/ref/ReferenceQueue;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$Segment<TK;TV;>;
0 4 1 newTable [Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
Signature: ([Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;)V
MethodParameters:
Name Flags
newTable
org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry<K, V> getFirst(int);
descriptor: (I)Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.table:[Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 2
start local 2 1: aload 2
iload 1
aload 2
arraylength
iconst_1
isub
iand
aaload
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$Segment<TK;TV;>;
0 2 1 hash I
1 2 2 tab [Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
Signature: (I)Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
MethodParameters:
Name Flags
hash
org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry<K, V> newHashEntry(K, int, org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry<K, V>, V);
descriptor: (Ljava/lang/Object;ILorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;Ljava/lang/Object;)Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
flags: (0x0000)
Code:
stack=9, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry
dup
aload 1
iload 2
aload 3
aload 4
aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.keyType:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;
aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.valueType:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;
aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.refQueue:Ljava/lang/ref/ReferenceQueue;
invokespecial org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.<init>:(Ljava/lang/Object;ILorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;Ljava/lang/Object;Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;Ljava/lang/ref/ReferenceQueue;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$Segment<TK;TV;>;
0 1 1 key TK;
0 1 2 hash I
0 1 3 next Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
0 1 4 value TV;
Signature: (TK;ILorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;TV;)Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
MethodParameters:
Name Flags
key
hash
next
value
V readValueUnderLock(org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry<K, V>);
descriptor: (Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=1, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.lock:()V
1: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.removeStale:()V
2: aload 1
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.value:()Ljava/lang/Object;
astore 3
3: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.unlock:()V
4: aload 3
areturn
5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
6: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.unlock:()V
7: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$Segment<TK;TV;>;
0 8 1 e Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
Exception table:
from to target type
1 3 5 any
Signature: (Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;)TV;
MethodParameters:
Name Flags
e
V get(, );
descriptor: (Ljava/lang/Object;I)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.count:I
ifeq 10
1: aload 0
iload 2
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.getFirst:(I)Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 3
start local 3 2: goto 9
3: StackMap locals: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry
StackMap stack:
aload 3
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.hash:I
iload 2
if_icmpne 8
aload 0
aload 1
aload 3
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.key:()Ljava/lang/Object;
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.keyEq:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 8
4: aload 3
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.valueRef:Ljava/lang/Object;
astore 4
start local 4 5: aload 4
ifnull 7
6: aload 3
aload 4
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.dereferenceValue:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
7: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 3
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.readValueUnderLock:(Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;)Ljava/lang/Object;
areturn
end local 4 8: StackMap locals:
StackMap stack:
aload 3
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 3
9: StackMap locals:
StackMap stack:
aload 3
ifnonnull 3
end local 3 10: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$Segment<TK;TV;>;
0 11 1 key Ljava/lang/Object;
0 11 2 hash I
2 10 3 e Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
5 8 4 opaque Ljava/lang/Object;
Signature: (Ljava/lang/Object;I)TV;
MethodParameters:
Name Flags
key
hash
boolean containsKey(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)Z
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.count:I
ifeq 7
1: aload 0
iload 2
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.getFirst:(I)Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 3
start local 3 2: goto 6
3: StackMap locals: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry
StackMap stack:
aload 3
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.hash:I
iload 2
if_icmpne 5
aload 0
aload 1
aload 3
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.key:()Ljava/lang/Object;
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.keyEq:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
aload 3
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 3
6: StackMap locals:
StackMap stack:
aload 3
ifnonnull 3
end local 3 7: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$Segment<TK;TV;>;
0 8 1 key Ljava/lang/Object;
0 8 2 hash I
2 7 3 e Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
MethodParameters:
Name Flags
key
hash
boolean containsValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0000)
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.count:I
ifeq 18
1: aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.table:[Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 2
start local 2 2: aload 2
arraylength
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 17
5: StackMap locals: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry[] int int
StackMap stack:
aload 2
iload 4
aaload
astore 5
start local 5 6: goto 15
7: StackMap locals: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry
StackMap stack:
aload 5
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.valueRef:Ljava/lang/Object;
astore 6
start local 6 8: aload 6
ifnonnull 11
9: aload 0
aload 5
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.readValueUnderLock:(Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;)Ljava/lang/Object;
astore 7
start local 7 10: goto 12
end local 7 11: StackMap locals: java.lang.Object
StackMap stack:
aload 5
aload 6
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.dereferenceValue:(Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 12: StackMap locals: java.lang.Object
StackMap stack:
aload 1
aload 7
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
13: iconst_1
ireturn
end local 7 end local 6 14: StackMap locals:
StackMap stack:
aload 5
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 5
StackMap locals:
StackMap stack:
15: aload 5
ifnonnull 7
end local 5 16: iinc 4 1
StackMap locals:
StackMap stack:
17: iload 4
iload 3
if_icmplt 5
end local 4 end local 3 end local 2 18: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$Segment<TK;TV;>;
0 19 1 value Ljava/lang/Object;
2 18 2 tab [Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
3 18 3 len I
4 18 4 i I
6 16 5 e Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
8 14 6 opaque Ljava/lang/Object;
10 11 7 v TV;
12 14 7 v TV;
MethodParameters:
Name Flags
value
boolean replace(K, int, V, );
descriptor: (Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0000)
Code:
stack=4, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.lock:()V
1: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.removeStale:()V
2: aload 0
iload 2
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.getFirst:(I)Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 5
start local 5 3: goto 5
4: StackMap locals: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry
StackMap stack:
aload 5
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 5
5: StackMap locals:
StackMap stack:
aload 5
ifnull 6
aload 5
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.hash:I
iload 2
if_icmpne 4
aload 0
aload 1
aload 5
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.key:()Ljava/lang/Object;
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.keyEq:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 4
6: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 7: aload 5
ifnull 10
aload 3
aload 5
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.value:()Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 10
8: iconst_1
istore 6
9: aload 5
aload 4
aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.valueType:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;
aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.refQueue:Ljava/lang/ref/ReferenceQueue;
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.setValue:(Ljava/lang/Object;Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;Ljava/lang/ref/ReferenceQueue;)V
10: StackMap locals: int
StackMap stack:
iload 6
istore 8
11: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.unlock:()V
12: iload 8
ireturn
end local 6 end local 5 13: StackMap locals: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment java.lang.Object int java.lang.Object java.lang.Object
StackMap stack: java.lang.Throwable
astore 7
14: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.unlock:()V
15: aload 7
athrow
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/hibernate/internal/util/collections/ConcurrentReferenceHashMap$Segment<TK;TV;>;
0 16 1 key TK;
0 16 2 hash I
0 16 3 oldValue TV;
0 16 4 newValue TV;
3 13 5 e Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
7 13 6 replaced Z
Exception table:
from to target type
1 11 13 any
Signature: (TK;ITV;TV;)Z
MethodParameters:
Name Flags
key
hash
oldValue
newValue
V replace(K, int, );
descriptor: (Ljava/lang/Object;ILjava/lang/Object;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.lock:()V
1: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.removeStale:()V
2: aload 0
iload 2
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.getFirst:(I)Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 4
start local 4 3: goto 5
4: StackMap locals: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry
StackMap stack:
aload 4
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 4
5: StackMap locals:
StackMap stack:
aload 4
ifnull 6
aload 4
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.hash:I
iload 2
if_icmpne 4
aload 0
aload 1
aload 4
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.key:()Ljava/lang/Object;
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.keyEq:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 4
6: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 7: aload 4
ifnull 10
8: aload 4
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.value:()Ljava/lang/Object;
astore 5
9: aload 4
aload 3
aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.valueType:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;
aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.refQueue:Ljava/lang/ref/ReferenceQueue;
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.setValue:(Ljava/lang/Object;Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;Ljava/lang/ref/ReferenceQueue;)V
10: StackMap locals: java.lang.Object
StackMap stack:
aload 5
astore 7
11: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.unlock:()V
12: aload 7
areturn
end local 5 end local 4 13: StackMap locals: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment java.lang.Object int java.lang.Object
StackMap stack: java.lang.Throwable
astore 6
14: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.unlock:()V
15: aload 6
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$Segment<TK;TV;>;
0 16 1 key TK;
0 16 2 hash I
0 16 3 newValue TV;
3 13 4 e Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
7 13 5 oldValue TV;
Exception table:
from to target type
1 11 13 any
Signature: (TK;ITV;)TV;
MethodParameters:
Name Flags
key
hash
newValue
V put(K, int, V, );
descriptor: (Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=7, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.lock:()V
1: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.removeStale:()V
2: aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.count:I
istore 5
start local 5 3: iload 5
iinc 5 1
aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.threshold:I
if_icmple 7
4: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.rehash:()I
istore 6
start local 6 5: iload 6
ifle 7
6: aload 0
iload 5
iload 6
isub
dup
istore 5
iconst_1
isub
putfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.count:I
end local 6 7: StackMap locals: int
StackMap stack:
aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.table:[Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 6
start local 6 8: iload 2
aload 6
arraylength
iconst_1
isub
iand
istore 7
start local 7 9: aload 6
iload 7
aaload
astore 8
start local 8 10: aload 8
astore 9
start local 9 11: goto 13
12: StackMap locals: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment java.lang.Object int java.lang.Object int int org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry[] int org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry
StackMap stack:
aload 9
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 9
13: StackMap locals:
StackMap stack:
aload 9
ifnull 14
aload 9
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.hash:I
iload 2
if_icmpne 12
aload 0
aload 1
aload 9
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.key:()Ljava/lang/Object;
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.keyEq:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 12
14: StackMap locals:
StackMap stack:
aload 9
ifnull 19
15: aload 9
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.value:()Ljava/lang/Object;
astore 10
start local 10 16: iload 4
ifne 23
17: aload 9
aload 3
aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.valueType:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;
aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.refQueue:Ljava/lang/ref/ReferenceQueue;
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.setValue:(Ljava/lang/Object;Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;Ljava/lang/ref/ReferenceQueue;)V
18: goto 23
end local 10 19: StackMap locals:
StackMap stack:
aconst_null
astore 10
start local 10 20: aload 0
dup
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.modCount:I
iconst_1
iadd
putfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.modCount:I
21: aload 6
iload 7
aload 0
aload 1
iload 2
aload 8
aload 3
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.newHashEntry:(Ljava/lang/Object;ILorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;Ljava/lang/Object;)Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
aastore
22: aload 0
iload 5
putfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.count:I
23: StackMap locals: java.lang.Object
StackMap stack:
aload 10
astore 12
24: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.unlock:()V
25: aload 12
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 26: StackMap locals: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment java.lang.Object int java.lang.Object int
StackMap stack: java.lang.Throwable
astore 11
27: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.unlock:()V
28: aload 11
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$Segment<TK;TV;>;
0 29 1 key TK;
0 29 2 hash I
0 29 3 value TV;
0 29 4 onlyIfAbsent Z
3 26 5 c I
5 7 6 reduced I
8 26 6 tab [Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
9 26 7 index I
10 26 8 first Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
11 26 9 e Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
16 19 10 oldValue TV;
20 26 10 oldValue TV;
Exception table:
from to target type
1 24 26 any
Signature: (TK;ITV;Z)TV;
MethodParameters:
Name Flags
key
hash
value
onlyIfAbsent
int rehash();
descriptor: ()I
flags: (0x0000)
Code:
stack=7, locals=16, args_size=1
start local 0 0: aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.table:[Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 1
start local 1 1: aload 1
arraylength
istore 2
start local 2 2: iload 2
ldc 1073741824
if_icmplt 4
3: iconst_0
ireturn
4: StackMap locals: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry[] int
StackMap stack:
iload 2
iconst_1
ishl
invokestatic org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.newArray:(I)[Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 3
start local 3 5: aload 0
aload 3
arraylength
i2f
aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.loadFactor:F
fmul
f2i
putfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.threshold:I
6: aload 3
arraylength
iconst_1
isub
istore 4
start local 4 7: iconst_0
istore 5
start local 5 8: iconst_0
istore 6
start local 6 9: goto 40
10: StackMap locals: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry[] int org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry[] int int int
StackMap stack:
aload 1
iload 6
aaload
astore 7
start local 7 11: aload 7
ifnull 39
12: aload 7
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 8
start local 8 13: aload 7
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.hash:I
iload 4
iand
istore 9
start local 9 14: aload 8
ifnonnull 17
15: aload 3
iload 9
aload 7
aastore
16: goto 39
17: StackMap locals: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry int
StackMap stack:
aload 7
astore 10
start local 10 18: iload 9
istore 11
start local 11 19: aload 8
astore 12
start local 12 20: goto 26
21: StackMap locals: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry int org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry
StackMap stack:
aload 12
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.hash:I
iload 4
iand
istore 13
start local 13 22: iload 13
iload 11
if_icmpeq 25
23: iload 13
istore 11
24: aload 12
astore 10
end local 13 25: StackMap locals:
StackMap stack:
aload 12
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 12
26: StackMap locals:
StackMap stack:
aload 12
ifnonnull 21
end local 12 27: aload 3
iload 11
aload 10
aastore
28: aload 7
astore 12
start local 12 29: goto 38
30: StackMap locals:
StackMap stack:
aload 12
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.key:()Ljava/lang/Object;
astore 13
start local 13 31: aload 13
ifnonnull 34
32: iinc 5 1
33: goto 37
34: StackMap locals: java.lang.Object
StackMap stack:
aload 12
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.hash:I
iload 4
iand
istore 14
start local 14 35: aload 3
iload 14
aaload
astore 15
start local 15 36: aload 3
iload 14
aload 0
aload 13
aload 12
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.hash:I
aload 15
aload 12
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.value:()Ljava/lang/Object;
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.newHashEntry:(Ljava/lang/Object;ILorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;Ljava/lang/Object;)Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
aastore
end local 15 end local 14 end local 13 37: StackMap locals:
StackMap stack:
aload 12
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 12
StackMap locals:
StackMap stack:
38: aload 12
aload 10
if_acmpne 30
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 39: StackMap locals: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry[] int org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry[] int int int
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
40: iload 6
iload 2
if_icmplt 10
end local 6 41: aload 0
aload 3
putfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.table:[Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
42: iload 5
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$Segment<TK;TV;>;
1 43 1 oldTable [Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
2 43 2 oldCapacity I
5 43 3 newTable [Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
7 43 4 sizeMask I
8 43 5 reduce I
9 41 6 i I
11 39 7 e Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
13 39 8 next Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
14 39 9 idx I
18 39 10 lastRun Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
19 39 11 lastIdx I
20 27 12 last Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
22 25 13 k I
29 39 12 p Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
31 37 13 key TK;
35 37 14 k I
36 37 15 n Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
V remove(, int, , );
descriptor: (Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=5, locals=17, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.lock:()V
1: iload 4
ifne 3
2: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.removeStale:()V
3: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.count:I
iconst_1
isub
istore 5
start local 5 4: aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.table:[Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 6
start local 6 5: iload 2
aload 6
arraylength
iconst_1
isub
iand
istore 7
start local 7 6: aload 6
iload 7
aaload
astore 8
start local 8 7: aload 8
astore 9
start local 9 8: goto 10
9: StackMap locals: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment java.lang.Object int java.lang.Object int int org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry[] int org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry
StackMap stack:
aload 9
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 9
10: StackMap locals:
StackMap stack:
aload 9
ifnull 12
aload 1
aload 9
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.keyRef:Ljava/lang/Object;
if_acmpeq 12
11: iload 4
ifne 9
iload 2
aload 9
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.hash:I
if_icmpne 9
aload 0
aload 1
aload 9
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.key:()Ljava/lang/Object;
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.keyEq:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 9
12: StackMap locals:
StackMap stack:
aconst_null
astore 10
start local 10 13: aload 9
ifnull 30
14: aload 9
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.value:()Ljava/lang/Object;
astore 11
start local 11 15: aload 3
ifnull 16
aload 3
aload 11
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 30
16: StackMap locals: java.lang.Object java.lang.Object
StackMap stack:
aload 11
astore 10
17: aload 0
dup
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.modCount:I
iconst_1
iadd
putfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.modCount:I
18: aload 9
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 12
start local 12 19: aload 8
astore 13
start local 13 20: goto 27
21: StackMap locals: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry
StackMap stack:
aload 13
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.key:()Ljava/lang/Object;
astore 14
start local 14 22: aload 14
ifnonnull 25
23: iinc 5 -1
24: goto 26
25: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 14
aload 13
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.hash:I
aload 12
aload 13
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.value:()Ljava/lang/Object;
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.newHashEntry:(Ljava/lang/Object;ILorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;Ljava/lang/Object;)Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 12
end local 14 26: StackMap locals:
StackMap stack:
aload 13
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 13
StackMap locals:
StackMap stack:
27: aload 13
aload 9
if_acmpne 21
end local 13 28: aload 6
iload 7
aload 12
aastore
29: aload 0
iload 5
putfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.count:I
end local 12 end local 11 30: StackMap locals:
StackMap stack:
aload 10
astore 16
31: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.unlock:()V
32: aload 16
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 33: StackMap locals: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment java.lang.Object int java.lang.Object int
StackMap stack: java.lang.Throwable
astore 15
34: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.unlock:()V
35: aload 15
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$Segment<TK;TV;>;
0 36 1 key Ljava/lang/Object;
0 36 2 hash I
0 36 3 value Ljava/lang/Object;
0 36 4 refRemove Z
4 33 5 c I
5 33 6 tab [Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
6 33 7 index I
7 33 8 first Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
8 33 9 e Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
13 33 10 oldValue TV;
15 30 11 v TV;
19 30 12 newFirst Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
20 28 13 p Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry<TK;TV;>;
22 26 14 pKey TK;
Exception table:
from to target type
1 31 33 any
Signature: (Ljava/lang/Object;ILjava/lang/Object;Z)TV;
MethodParameters:
Name Flags
key
hash
value
refRemove
final void removeStale();
descriptor: ()V
flags: (0x0010) ACC_FINAL
Code:
stack=5, locals=2, args_size=1
start local 0 0: goto 2
start local 1 1: StackMap locals: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$KeyReference
StackMap stack:
aload 0
aload 1
invokeinterface org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$KeyReference.keyRef:()Ljava/lang/Object;
aload 1
invokeinterface org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$KeyReference.keyHash:()I
aconst_null
iconst_1
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.remove:(Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/Object;
pop
end local 1 2: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.refQueue:Ljava/lang/ref/ReferenceQueue;
invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
checkcast org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$KeyReference
dup
astore 1
start local 1 3: ifnonnull 1
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$Segment<TK;TV;>;
1 2 1 ref Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$KeyReference;
3 5 1 ref Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$KeyReference;
void clear();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.count:I
ifeq 16
1: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.lock:()V
2: aload 0
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.table:[Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
astore 1
start local 1 3: iconst_0
istore 2
start local 2 4: goto 7
5: StackMap locals: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry[] int
StackMap stack:
aload 1
iload 2
aconst_null
aastore
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 1
arraylength
if_icmplt 5
end local 2 8: aload 0
dup
getfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.modCount:I
iconst_1
iadd
putfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.modCount:I
9: aload 0
new java.lang.ref.ReferenceQueue
dup
invokespecial java.lang.ref.ReferenceQueue.<init>:()V
putfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.refQueue:Ljava/lang/ref/ReferenceQueue;
10: aload 0
iconst_0
putfield org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.count:I
end local 1 11: goto 15
12: StackMap locals: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment
StackMap stack: java.lang.Throwable
astore 3
13: aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.unlock:()V
14: aload 3
athrow
15: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment.unlock:()V
16: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$Segment<TK;TV;>;
3 11 1 tab [Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$HashEntry;
4 8 2 i I
Exception table:
from to target type
2 12 12 any
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/concurrent/locks/ReentrantLock;Ljava/io/Serializable;
SourceFile: "ConcurrentReferenceHashMap.java"
NestHost: org.hibernate.internal.util.collections.ConcurrentReferenceHashMap
InnerClasses:
final HashEntry = org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$HashEntry of org.hibernate.internal.util.collections.ConcurrentReferenceHashMap
abstract KeyReference = org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$KeyReference of org.hibernate.internal.util.collections.ConcurrentReferenceHashMap
public final ReferenceType = org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$ReferenceType of org.hibernate.internal.util.collections.ConcurrentReferenceHashMap
final Segment = org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Segment of org.hibernate.internal.util.collections.ConcurrentReferenceHashMap