final class org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment<K, V> extends java.util.concurrent.locks.ReentrantLock
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.hibernate.internal.util.collections.BoundedConcurrentHashMap$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.BoundedConcurrentHashMap$HashEntry<K, V>[] table;
descriptor: [Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
flags: (0x00c0) ACC_VOLATILE, ACC_TRANSIENT
Signature: [Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
final float loadFactor;
descriptor: F
flags: (0x0010) ACC_FINAL
final int evictCap;
descriptor: I
flags: (0x0010) ACC_FINAL
final transient org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionPolicy<K, V> eviction;
descriptor: Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
flags: (0x0090) ACC_FINAL, ACC_TRANSIENT
Signature: Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy<TK;TV;>;
final transient org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionListener<K, V> evictionListener;
descriptor: Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionListener;
flags: (0x0090) ACC_FINAL, ACC_TRANSIENT
Signature: Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionListener<TK;TV;>;
void <init>(int, int, float, org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Eviction, org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionListener<K, V>);
descriptor: (IIFLorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$Eviction;Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionListener;)V
flags: (0x0000)
Code:
stack=5, 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 3
putfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.loadFactor:F
2: aload 0
iload 2
putfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.evictCap:I
3: aload 0
aload 4
aload 0
iload 2
fload 3
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Eviction.make:(Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$Segment;IF)Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
putfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.eviction:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
4: aload 0
aload 5
putfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.evictionListener:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionListener;
5: aload 0
iload 1
invokestatic org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.newArray:(I)[Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.setTable:([Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$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/BoundedConcurrentHashMap$Segment<TK;TV;>;
0 7 1 cap I
0 7 2 evictCap I
0 7 3 lf F
0 7 4 es Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$Eviction;
0 7 5 listener Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionListener<TK;TV;>;
Signature: (IIFLorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$Eviction;Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionListener<TK;TV;>;)V
MethodParameters:
Name Flags
cap
evictCap
lf
es
listener
static <K, V> org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment<K, V>[] newArray(int);
descriptor: (I)[Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$Segment;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
anewarray org.hibernate.internal.util.collections.BoundedConcurrentHashMap$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/BoundedConcurrentHashMap$Segment<TK;TV;>;
MethodParameters:
Name Flags
i
org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionListener<K, V> getEvictionListener();
descriptor: ()Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionListener;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.evictionListener:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionListener;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$Segment<TK;TV;>;
Signature: ()Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionListener<TK;TV;>;
void setTable(org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry<K, V>[]);
descriptor: ([Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$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.BoundedConcurrentHashMap$Segment.loadFactor:F
fmul
f2i
putfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.threshold:I
1: aload 0
aload 1
putfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.table:[Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$Segment<TK;TV;>;
0 3 1 newTable [Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
Signature: ([Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;)V
MethodParameters:
Name Flags
newTable
org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry<K, V> getFirst(int);
descriptor: (I)Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$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.BoundedConcurrentHashMap$Segment.table:[Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$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/BoundedConcurrentHashMap$Segment<TK;TV;>;
0 2 1 hash I
1 2 2 tab [Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
Signature: (I)Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
MethodParameters:
Name Flags
hash
V readValueUnderLock(org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry<K, V>);
descriptor: (Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$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.BoundedConcurrentHashMap$Segment.lock:()V
1: aload 1
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.value:Ljava/lang/Object;
astore 3
2: aload 0
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.unlock:()V
3: aload 3
areturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
5: aload 0
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.unlock:()V
6: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$Segment<TK;TV;>;
0 7 1 e Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
Exception table:
from to target type
1 2 4 any
Signature: (Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;)TV;
MethodParameters:
Name Flags
e
V get(, );
descriptor: (Ljava/lang/Object;I)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=2, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.count:I
istore 3
start local 3 1: iload 3
ifeq 19
2: aconst_null
astore 4
start local 4 3: aload 0
iload 2
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.getFirst:(I)Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
astore 5
start local 5 4: goto 13
5: StackMap locals: int java.lang.Object org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry
StackMap stack:
aload 5
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.hash:I
iload 2
if_icmpne 12
aload 1
aload 5
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.key:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 12
6: aload 5
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.value:Ljava/lang/Object;
astore 6
start local 6 7: aload 6
ifnull 10
8: aload 6
astore 4
9: goto 14
10: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 5
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.readValueUnderLock:(Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;)Ljava/lang/Object;
astore 4
11: goto 14
end local 6 12: StackMap locals:
StackMap stack:
aload 5
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
astore 5
13: StackMap locals:
StackMap stack:
aload 5
ifnonnull 5
14: StackMap locals:
StackMap stack:
aload 4
ifnull 18
15: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.eviction:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
aload 5
invokeinterface org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionPolicy.onEntryHit:(Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;)Z
ifeq 18
16: aload 0
iconst_0
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.attemptEviction:(Z)Ljava/util/Set;
astore 6
start local 6 17: aload 0
aload 6
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.notifyEvictionListener:(Ljava/util/Set;)V
end local 6 18: StackMap locals:
StackMap stack:
aload 4
areturn
end local 5 end local 4 19: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$Segment<TK;TV;>;
0 20 1 key Ljava/lang/Object;
0 20 2 hash I
1 20 3 c I
3 19 4 result TV;
4 19 5 e Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
7 12 6 v TV;
17 18 6 evicted Ljava/util/Set<Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;>;
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=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.count:I
ifeq 7
1: aload 0
iload 2
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.getFirst:(I)Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
astore 3
start local 3 2: goto 6
3: StackMap locals: org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry
StackMap stack:
aload 3
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.hash:I
iload 2
if_icmpne 5
aload 1
aload 3
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.key:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
aload 3
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$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/BoundedConcurrentHashMap$Segment<TK;TV;>;
0 8 1 key Ljava/lang/Object;
0 8 2 hash I
2 7 3 e Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
MethodParameters:
Name Flags
key
hash
boolean containsValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0000)
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.count:I
ifeq 16
1: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.table:[Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$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 15
5: StackMap locals: org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry[] int int
StackMap stack:
aload 2
iload 4
aaload
astore 5
start local 5 6: goto 13
7: StackMap locals: org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry
StackMap stack:
aload 5
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.value:Ljava/lang/Object;
astore 6
start local 6 8: aload 6
ifnonnull 10
9: aload 0
aload 5
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.readValueUnderLock:(Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;)Ljava/lang/Object;
astore 6
10: StackMap locals: java.lang.Object
StackMap stack:
aload 1
aload 6
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 12
11: iconst_1
ireturn
end local 6 12: StackMap locals:
StackMap stack:
aload 5
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
astore 5
StackMap locals:
StackMap stack:
13: aload 5
ifnonnull 7
end local 5 14: iinc 4 1
StackMap locals:
StackMap stack:
15: iload 4
iload 3
if_icmplt 5
end local 4 end local 3 end local 2 16: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$Segment<TK;TV;>;
0 17 1 value Ljava/lang/Object;
2 16 2 tab [Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
3 16 3 len I
4 16 4 i I
6 14 5 e Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
8 12 6 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=2, locals=10, 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.BoundedConcurrentHashMap$Segment.lock:()V
1: aconst_null
astore 5
start local 5 2: aload 0
iload 2
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.getFirst:(I)Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
astore 6
start local 6 3: goto 5
4: StackMap locals: java.util.Set org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry
StackMap stack:
aload 6
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
astore 6
5: StackMap locals:
StackMap stack:
aload 6
ifnull 6
aload 6
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.hash:I
iload 2
if_icmpne 4
aload 1
aload 6
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.key:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
6: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 7: aload 6
ifnull 12
aload 3
aload 6
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.value:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 12
8: iconst_1
istore 7
9: aload 6
aload 4
putfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.value:Ljava/lang/Object;
10: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.eviction:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
aload 6
invokeinterface org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionPolicy.onEntryHit:(Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;)Z
ifeq 12
11: aload 0
iconst_1
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.attemptEviction:(Z)Ljava/util/Set;
astore 5
12: StackMap locals: int
StackMap stack:
iload 7
istore 9
13: aload 0
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.unlock:()V
14: aload 0
aload 5
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.notifyEvictionListener:(Ljava/util/Set;)V
15: iload 9
ireturn
end local 7 end local 6 16: StackMap locals: org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment java.lang.Object int java.lang.Object java.lang.Object java.util.Set
StackMap stack: java.lang.Throwable
astore 8
17: aload 0
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.unlock:()V
18: aload 0
aload 5
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.notifyEvictionListener:(Ljava/util/Set;)V
19: aload 8
athrow
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/hibernate/internal/util/collections/BoundedConcurrentHashMap$Segment<TK;TV;>;
0 20 1 key TK;
0 20 2 hash I
0 20 3 oldValue TV;
0 20 4 newValue TV;
2 20 5 evicted Ljava/util/Set<Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;>;
3 16 6 e Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
7 16 7 replaced Z
Exception table:
from to target type
2 13 16 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=2, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.lock:()V
1: aconst_null
astore 4
start local 4 2: aload 0
iload 2
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.getFirst:(I)Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
astore 5
start local 5 3: goto 5
4: StackMap locals: java.util.Set org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry
StackMap stack:
aload 5
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
astore 5
5: StackMap locals:
StackMap stack:
aload 5
ifnull 6
aload 5
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.hash:I
iload 2
if_icmpne 4
aload 1
aload 5
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.key:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
6: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 7: aload 5
ifnull 12
8: aload 5
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.value:Ljava/lang/Object;
astore 6
9: aload 5
aload 3
putfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.value:Ljava/lang/Object;
10: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.eviction:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
aload 5
invokeinterface org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionPolicy.onEntryHit:(Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;)Z
ifeq 12
11: aload 0
iconst_1
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.attemptEviction:(Z)Ljava/util/Set;
astore 4
12: StackMap locals: java.lang.Object
StackMap stack:
aload 6
astore 8
13: aload 0
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.unlock:()V
14: aload 0
aload 4
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.notifyEvictionListener:(Ljava/util/Set;)V
15: aload 8
areturn
end local 6 end local 5 16: StackMap locals: org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment java.lang.Object int java.lang.Object java.util.Set
StackMap stack: java.lang.Throwable
astore 7
17: aload 0
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.unlock:()V
18: aload 0
aload 4
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.notifyEvictionListener:(Ljava/util/Set;)V
19: 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 20 0 this Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$Segment<TK;TV;>;
0 20 1 key TK;
0 20 2 hash I
0 20 3 newValue TV;
2 20 4 evicted Ljava/util/Set<Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;>;
3 16 5 e Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
7 16 6 oldValue TV;
Exception table:
from to target type
2 13 16 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=15, 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.BoundedConcurrentHashMap$Segment.lock:()V
1: aconst_null
astore 5
start local 5 2: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.count:I
istore 6
start local 6 3: iload 6
iinc 6 1
aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.threshold:I
if_icmple 5
aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.eviction:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
invokeinterface org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionPolicy.strategy:()Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$Eviction;
getstatic org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Eviction.NONE:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$Eviction;
if_acmpne 5
4: aload 0
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.rehash:()V
5: StackMap locals: java.util.Set int
StackMap stack:
aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.table:[Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
astore 7
start local 7 6: iload 2
aload 7
arraylength
iconst_1
isub
iand
istore 8
start local 8 7: aload 7
iload 8
aaload
astore 9
start local 9 8: aload 9
astore 10
start local 10 9: goto 11
10: StackMap locals: org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment java.lang.Object int java.lang.Object int java.util.Set int org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry[] int org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry
StackMap stack:
aload 10
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
astore 10
11: StackMap locals:
StackMap stack:
aload 10
ifnull 12
aload 10
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.hash:I
iload 2
if_icmpne 10
aload 1
aload 10
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.key:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 10
12: StackMap locals:
StackMap stack:
aload 10
ifnull 18
13: aload 10
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.value:Ljava/lang/Object;
astore 11
start local 11 14: iload 4
ifne 34
15: aload 10
aload 3
putfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.value:Ljava/lang/Object;
16: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.eviction:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
aload 10
invokeinterface org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionPolicy.onEntryHit:(Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;)Z
pop
17: goto 34
end local 11 18: StackMap locals:
StackMap stack:
aconst_null
astore 11
start local 11 19: aload 0
dup
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.modCount:I
iconst_1
iadd
putfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.modCount:I
20: aload 0
iload 6
putfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.count:I
21: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.eviction:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
invokeinterface org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionPolicy.strategy:()Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$Eviction;
getstatic org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Eviction.NONE:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$Eviction;
if_acmpeq 33
22: iload 6
aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.evictCap:I
if_icmple 25
23: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.eviction:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
invokeinterface org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionPolicy.execute:()Ljava/util/Set;
astore 5
24: aload 7
iload 8
aaload
astore 9
25: StackMap locals: java.lang.Object
StackMap stack:
aload 7
iload 8
aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.eviction:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
aload 1
iload 2
aload 9
aload 3
invokeinterface org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionPolicy.createNewEntry:(Ljava/lang/Object;ILorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;Ljava/lang/Object;)Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
aastore
26: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.eviction:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
aload 7
iload 8
aaload
invokeinterface org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionPolicy.onEntryMiss:(Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;)Ljava/util/Set;
astore 12
start local 12 27: aload 12
invokeinterface java.util.Set.isEmpty:()Z
ifne 34
28: aload 5
ifnull 31
29: aload 5
aload 12
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
30: goto 34
31: StackMap locals: java.util.Set
StackMap stack:
aload 12
astore 5
end local 12 32: goto 34
33: StackMap locals:
StackMap stack:
aload 7
iload 8
aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.eviction:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
aload 1
iload 2
aload 9
aload 3
invokeinterface org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionPolicy.createNewEntry:(Ljava/lang/Object;ILorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;Ljava/lang/Object;)Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
aastore
34: StackMap locals:
StackMap stack:
aload 11
astore 14
35: aload 0
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.unlock:()V
36: aload 0
aload 5
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.notifyEvictionListener:(Ljava/util/Set;)V
37: aload 14
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 38: StackMap locals: org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment java.lang.Object int java.lang.Object int java.util.Set
StackMap stack: java.lang.Throwable
astore 13
39: aload 0
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.unlock:()V
40: aload 0
aload 5
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.notifyEvictionListener:(Ljava/util/Set;)V
41: aload 13
athrow
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 42 0 this Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$Segment<TK;TV;>;
0 42 1 key TK;
0 42 2 hash I
0 42 3 value TV;
0 42 4 onlyIfAbsent Z
2 42 5 evicted Ljava/util/Set<Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;>;
3 38 6 c I
6 38 7 tab [Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
7 38 8 index I
8 38 9 first Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
9 38 10 e Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
14 18 11 oldValue TV;
19 38 11 oldValue TV;
27 32 12 newlyEvicted Ljava/util/Set<Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;>;
Exception table:
from to target type
2 35 38 any
Signature: (TK;ITV;Z)TV;
MethodParameters:
Name Flags
key
hash
value
onlyIfAbsent
void rehash();
descriptor: ()V
flags: (0x0000)
Code:
stack=7, locals=14, args_size=1
start local 0 0: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.table:[Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
astore 1
start local 1 1: aload 1
arraylength
istore 2
start local 2 2: iload 2
ldc 1073741824
if_icmplt 4
3: return
4: StackMap locals: org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry[] int
StackMap stack:
iload 2
iconst_1
ishl
invokestatic org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.newArray:(I)[Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
astore 3
start local 3 5: aload 0
aload 3
arraylength
i2f
aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.loadFactor:F
fmul
f2i
putfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.threshold:I
6: aload 3
arraylength
iconst_1
isub
istore 4
start local 4 7: iconst_0
istore 5
start local 5 8: goto 35
9: StackMap locals: org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry[] int int
StackMap stack:
aload 1
iload 5
aaload
astore 6
start local 6 10: aload 6
ifnull 34
11: aload 6
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
astore 7
start local 7 12: aload 6
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.hash:I
iload 4
iand
istore 8
start local 8 13: aload 7
ifnonnull 16
14: aload 3
iload 8
aload 6
aastore
15: goto 34
16: StackMap locals: org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry int
StackMap stack:
aload 6
astore 9
start local 9 17: iload 8
istore 10
start local 10 18: aload 7
astore 11
start local 11 19: goto 25
20: StackMap locals: org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry int org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry
StackMap stack:
aload 11
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.hash:I
iload 4
iand
istore 12
start local 12 21: iload 12
iload 10
if_icmpeq 24
22: iload 12
istore 10
23: aload 11
astore 9
end local 12 24: StackMap locals:
StackMap stack:
aload 11
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
astore 11
StackMap locals:
StackMap stack:
25: aload 11
ifnonnull 20
end local 11 26: aload 3
iload 10
aload 9
aastore
27: aload 6
astore 11
start local 11 28: goto 33
29: StackMap locals:
StackMap stack:
aload 11
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.hash:I
iload 4
iand
istore 12
start local 12 30: aload 3
iload 12
aaload
astore 13
start local 13 31: aload 3
iload 12
aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.eviction:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
aload 11
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.key:Ljava/lang/Object;
aload 11
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.hash:I
aload 13
aload 11
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.value:Ljava/lang/Object;
invokeinterface org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionPolicy.createNewEntry:(Ljava/lang/Object;ILorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;Ljava/lang/Object;)Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
aastore
end local 13 end local 12 32: aload 11
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
astore 11
StackMap locals:
StackMap stack:
33: aload 11
aload 9
if_acmpne 29
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 34: StackMap locals: org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry[] int org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry[] int int
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
35: iload 5
iload 2
if_icmplt 9
end local 5 36: aload 0
aload 3
putfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.table:[Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
37: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$Segment<TK;TV;>;
1 38 1 oldTable [Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
2 38 2 oldCapacity I
5 38 3 newTable [Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
7 38 4 sizeMask I
8 36 5 i I
10 34 6 e Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
12 34 7 next Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
13 34 8 idx I
17 34 9 lastRun Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
18 34 10 lastIdx I
19 26 11 last Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
21 24 12 k I
28 34 11 p Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
30 32 12 k I
31 32 13 n Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
V remove(, int, );
descriptor: (Ljava/lang/Object;ILjava/lang/Object;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=5, locals=15, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.lock:()V
1: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.count:I
iconst_1
isub
istore 4
start local 4 2: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.table:[Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
astore 5
start local 5 3: iload 2
aload 5
arraylength
iconst_1
isub
iand
istore 6
start local 6 4: aload 5
iload 6
aaload
astore 7
start local 7 5: aload 7
astore 8
start local 8 6: goto 8
7: StackMap locals: org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment java.lang.Object int java.lang.Object int org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry[] int org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry
StackMap stack:
aload 8
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
astore 8
8: StackMap locals:
StackMap stack:
aload 8
ifnull 9
aload 8
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.hash:I
iload 2
if_icmpne 7
aload 1
aload 8
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.key:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 7
9: StackMap locals:
StackMap stack:
aconst_null
astore 9
start local 9 10: aload 8
ifnull 26
11: aload 8
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.value:Ljava/lang/Object;
astore 10
start local 10 12: aload 3
ifnull 13
aload 3
aload 10
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 26
13: StackMap locals: java.lang.Object java.lang.Object
StackMap stack:
aload 10
astore 9
14: aload 0
dup
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.modCount:I
iconst_1
iadd
putfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.modCount:I
15: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.eviction:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
aload 8
invokeinterface org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionPolicy.onEntryRemove:(Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;)V
16: aload 8
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
astore 11
start local 11 17: aload 7
astore 12
start local 12 18: goto 23
19: StackMap locals: org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry
StackMap stack:
aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.eviction:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
aload 12
invokeinterface org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionPolicy.onEntryRemove:(Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;)V
20: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.eviction:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
aload 12
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.key:Ljava/lang/Object;
aload 12
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.hash:I
aload 11
aload 12
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.value:Ljava/lang/Object;
invokeinterface org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionPolicy.createNewEntry:(Ljava/lang/Object;ILorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;Ljava/lang/Object;)Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
astore 11
21: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.eviction:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
aload 11
invokeinterface org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionPolicy.onEntryMiss:(Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;)Ljava/util/Set;
pop
22: aload 12
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.next:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
astore 12
StackMap locals:
StackMap stack:
23: aload 12
aload 8
if_acmpne 19
end local 12 24: aload 5
iload 6
aload 11
aastore
25: aload 0
iload 4
putfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.count:I
end local 11 end local 10 26: StackMap locals:
StackMap stack:
aload 9
astore 14
27: aload 0
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.unlock:()V
28: aload 14
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 29: StackMap locals: org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment java.lang.Object int java.lang.Object
StackMap stack: java.lang.Throwable
astore 13
30: aload 0
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.unlock:()V
31: aload 13
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$Segment<TK;TV;>;
0 32 1 key Ljava/lang/Object;
0 32 2 hash I
0 32 3 value Ljava/lang/Object;
2 29 4 c I
3 29 5 tab [Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
4 29 6 index I
5 29 7 first Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
6 29 8 e Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
10 29 9 oldValue TV;
12 26 10 v TV;
17 26 11 newFirst Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
18 24 12 p Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
Exception table:
from to target type
1 27 29 any
Signature: (Ljava/lang/Object;ILjava/lang/Object;)TV;
MethodParameters:
Name Flags
key
hash
value
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.BoundedConcurrentHashMap$Segment.count:I
ifeq 16
1: aload 0
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.lock:()V
2: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.table:[Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$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.BoundedConcurrentHashMap$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.BoundedConcurrentHashMap$Segment.modCount:I
iconst_1
iadd
putfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.modCount:I
9: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.eviction:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
invokeinterface org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionPolicy.clear:()V
10: aload 0
iconst_0
putfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.count:I
end local 1 11: goto 15
12: StackMap locals: org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment
StackMap stack: java.lang.Throwable
astore 3
13: aload 0
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.unlock:()V
14: aload 3
athrow
15: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$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/BoundedConcurrentHashMap$Segment<TK;TV;>;
3 11 1 tab [Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry;
4 8 2 i I
Exception table:
from to target type
2 12 12 any
private java.util.Set<org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry<K, V>> attemptEviction(boolean);
descriptor: (Z)Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: iload 1
ifne 2
aload 0
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.tryLock:()Z
ifne 2
iconst_0
goto 3
StackMap locals: java.util.Set
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: iload 3
ifne 7
aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.eviction:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
invokeinterface org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionPolicy.thresholdExpired:()Z
ifeq 7
5: aload 0
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.lock:()V
6: iconst_1
istore 3
7: StackMap locals: int
StackMap stack:
iload 3
ifeq 17
8: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.eviction:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
invokeinterface org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionPolicy.thresholdExpired:()Z
ifeq 15
9: aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.eviction:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionPolicy;
invokeinterface org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionPolicy.execute:()Ljava/util/Set;
astore 2
10: goto 15
11: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
12: iload 1
ifne 14
13: aload 0
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.unlock:()V
14: StackMap locals: java.lang.Throwable
StackMap stack:
aload 4
athrow
15: StackMap locals:
StackMap stack:
iload 1
ifne 17
16: aload 0
invokevirtual org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.unlock:()V
17: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$Segment<TK;TV;>;
0 18 1 lockedAlready Z
1 18 2 evicted Ljava/util/Set<Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;>;
4 18 3 obtainedLock Z
Exception table:
from to target type
8 11 11 any
Signature: (Z)Ljava/util/Set<Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;>;
MethodParameters:
Name Flags
lockedAlready
private void notifyEvictionListener(java.util.Set<org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry<K, V>>);
descriptor: (Ljava/util/Set;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnull 12
1: aload 1
invokeinterface java.util.Set.size:()I
iconst_1
if_icmpne 5
2: aload 1
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry
astore 3
start local 3 3: aload 3
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.key:Ljava/lang/Object;
aload 3
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.value:Ljava/lang/Object;
invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
astore 2
end local 3 start local 2 4: goto 11
end local 2 5: StackMap locals:
StackMap stack:
new java.util.HashMap
dup
aload 1
invokeinterface java.util.Set.size:()I
invokespecial java.util.HashMap.<init>:(I)V
astore 2
start local 2 6: aload 1
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment java.util.Set java.util.Map top java.util.Iterator
StackMap stack:
7: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry
astore 3
start local 3 8: aload 2
aload 3
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.key:Ljava/lang/Object;
aload 3
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry.value:Ljava/lang/Object;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 9: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
10: aload 2
invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
astore 2
11: StackMap locals: org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment java.util.Set java.util.Map
StackMap stack:
aload 0
getfield org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment.evictionListener:Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$EvictionListener;
aload 2
invokeinterface org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionListener.onEntryEviction:(Ljava/util/Map;)V
end local 2 12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$Segment<TK;TV;>;
0 13 1 evicted Ljava/util/Set<Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;>;
4 5 2 evictedCopy Ljava/util/Map<TK;TV;>;
6 12 2 evictedCopy Ljava/util/Map<TK;TV;>;
3 4 3 evictedEntry Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
8 9 3 he Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;
Signature: (Ljava/util/Set<Lorg/hibernate/internal/util/collections/BoundedConcurrentHashMap$HashEntry<TK;TV;>;>;)V
MethodParameters:
Name Flags
evicted
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/concurrent/locks/ReentrantLock;
SourceFile: "BoundedConcurrentHashMap.java"
NestHost: org.hibernate.internal.util.collections.BoundedConcurrentHashMap
InnerClasses:
public abstract Eviction = org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Eviction of org.hibernate.internal.util.collections.BoundedConcurrentHashMap
public abstract EvictionListener = org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionListener of org.hibernate.internal.util.collections.BoundedConcurrentHashMap
public abstract EvictionPolicy = org.hibernate.internal.util.collections.BoundedConcurrentHashMap$EvictionPolicy of org.hibernate.internal.util.collections.BoundedConcurrentHashMap
private HashEntry = org.hibernate.internal.util.collections.BoundedConcurrentHashMap$HashEntry of org.hibernate.internal.util.collections.BoundedConcurrentHashMap
final Segment = org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment of org.hibernate.internal.util.collections.BoundedConcurrentHashMap