public class org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache<K, V> extends org.terracotta.offheapstore.concurrent.AbstractConcurrentOffHeapCache<K, V> implements org.ehcache.impl.internal.store.offheap.EhcacheOffHeapBackingMap<K, V>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache
super_class: org.terracotta.offheapstore.concurrent.AbstractConcurrentOffHeapCache
{
private final org.ehcache.config.EvictionAdvisor<? super K, ? super V> evictionAdvisor;
descriptor: Lorg/ehcache/config/EvictionAdvisor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/ehcache/config/EvictionAdvisor<-TK;-TV;>;
private final java.util.concurrent.atomic.AtomicLong[] counters;
descriptor: [Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.ehcache.config.EvictionAdvisor<? super K, ? super V>, org.terracotta.offheapstore.util.Factory<? extends org.terracotta.offheapstore.pinning.PinnableSegment<K, V>>, );
descriptor: (Lorg/ehcache/config/EvictionAdvisor;Lorg/terracotta/offheapstore/util/Factory;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
iload 3
invokespecial org.terracotta.offheapstore.concurrent.AbstractConcurrentOffHeapCache.<init>:(Lorg/terracotta/offheapstore/util/Factory;I)V
1: aload 0
aload 1
putfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.evictionAdvisor:Lorg/ehcache/config/EvictionAdvisor;
2: aload 0
aload 0
getfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.segments:[Lorg/terracotta/offheapstore/Segment;
arraylength
anewarray java.util.concurrent.atomic.AtomicLong
putfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.counters:[Ljava/util/concurrent/atomic/AtomicLong;
3: iconst_0
istore 4
start local 4 4: goto 7
5: StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache org.ehcache.config.EvictionAdvisor org.terracotta.offheapstore.util.Factory int int
StackMap stack:
aload 0
getfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.counters:[Ljava/util/concurrent/atomic/AtomicLong;
iload 4
new java.util.concurrent.atomic.AtomicLong
dup
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
aastore
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
aload 0
getfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.segments:[Lorg/terracotta/offheapstore/Segment;
arraylength
if_icmplt 5
end local 4 8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
0 9 1 evictionAdvisor Lorg/ehcache/config/EvictionAdvisor<-TK;-TV;>;
0 9 2 segmentFactory Lorg/terracotta/offheapstore/util/Factory<+Lorg/terracotta/offheapstore/pinning/PinnableSegment<TK;TV;>;>;
0 9 3 ssize I
4 8 4 i I
Signature: (Lorg/ehcache/config/EvictionAdvisor<-TK;-TV;>;Lorg/terracotta/offheapstore/util/Factory<+Lorg/terracotta/offheapstore/pinning/PinnableSegment<TK;TV;>;>;I)V
MethodParameters:
Name Flags
evictionAdvisor
segmentFactory
ssize
public long allocatedMemory();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: aload 0
getfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.segments:[Lorg/terracotta/offheapstore/Segment;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache long top int int org.terracotta.offheapstore.Segment[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: lload 1
aload 3
invokeinterface org.terracotta.offheapstore.Segment.getAllocatedMemory:()J
ladd
lstore 1
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
1 7 1 total J
3 4 3 segment Lorg/terracotta/offheapstore/Segment<TK;TV;>;
public long occupiedMemory();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: aload 0
getfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.segments:[Lorg/terracotta/offheapstore/Segment;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache long top int int org.terracotta.offheapstore.Segment[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: lload 1
aload 3
invokeinterface org.terracotta.offheapstore.Segment.getOccupiedMemory:()J
ladd
lstore 1
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
1 7 1 total J
3 4 3 segment Lorg/terracotta/offheapstore/Segment<TK;TV;>;
public long dataAllocatedMemory();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: aload 0
getfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.segments:[Lorg/terracotta/offheapstore/Segment;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache long top int int org.terracotta.offheapstore.Segment[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: lload 1
aload 3
invokeinterface org.terracotta.offheapstore.Segment.getDataAllocatedMemory:()J
ladd
lstore 1
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
1 7 1 total J
3 4 3 segment Lorg/terracotta/offheapstore/Segment<TK;TV;>;
public long dataOccupiedMemory();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: aload 0
getfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.segments:[Lorg/terracotta/offheapstore/Segment;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache long top int int org.terracotta.offheapstore.Segment[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: lload 1
aload 3
invokeinterface org.terracotta.offheapstore.Segment.getDataOccupiedMemory:()J
ladd
lstore 1
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
1 7 1 total J
3 4 3 segment Lorg/terracotta/offheapstore/Segment<TK;TV;>;
public long dataSize();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: aload 0
getfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.segments:[Lorg/terracotta/offheapstore/Segment;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache long top int int org.terracotta.offheapstore.Segment[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: lload 1
aload 3
invokeinterface org.terracotta.offheapstore.Segment.getDataSize:()J
ladd
lstore 1
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
1 7 1 total J
3 4 3 segment Lorg/terracotta/offheapstore/Segment<TK;TV;>;
public long longSize();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: aload 0
getfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.segments:[Lorg/terracotta/offheapstore/Segment;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache long top int int org.terracotta.offheapstore.Segment[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: lload 1
aload 3
invokeinterface org.terracotta.offheapstore.Segment.getSize:()J
ladd
lstore 1
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
1 7 1 total J
3 4 3 segment Lorg/terracotta/offheapstore/Segment<TK;TV;>;
public long tableCapacity();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: aload 0
getfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.segments:[Lorg/terracotta/offheapstore/Segment;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache long top int int org.terracotta.offheapstore.Segment[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: lload 1
aload 3
invokeinterface org.terracotta.offheapstore.Segment.getTableCapacity:()J
ladd
lstore 1
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
1 7 1 total J
3 4 3 segment Lorg/terracotta/offheapstore/Segment<TK;TV;>;
public long usedSlotCount();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: aload 0
getfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.segments:[Lorg/terracotta/offheapstore/Segment;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache long top int int org.terracotta.offheapstore.Segment[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: lload 1
aload 3
invokeinterface org.terracotta.offheapstore.Segment.getUsedSlotCount:()J
ladd
lstore 1
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
1 7 1 total J
3 4 3 segment Lorg/terracotta/offheapstore/Segment<TK;TV;>;
public long removedSlotCount();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: aload 0
getfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.segments:[Lorg/terracotta/offheapstore/Segment;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache long top int int org.terracotta.offheapstore.Segment[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: lload 1
aload 3
invokeinterface org.terracotta.offheapstore.Segment.getRemovedSlotCount:()J
ladd
lstore 1
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
1 7 1 total J
3 4 3 segment Lorg/terracotta/offheapstore/Segment<TK;TV;>;
public long reprobeLength();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: aload 0
getfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.segments:[Lorg/terracotta/offheapstore/Segment;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache long top int int org.terracotta.offheapstore.Segment[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: lload 1
aload 3
invokeinterface org.terracotta.offheapstore.Segment.getReprobeLength:()I
i2l
ladd
lstore 1
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
1 7 1 total J
3 4 3 segment Lorg/terracotta/offheapstore/Segment<TK;TV;>;
public long vitalMemory();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: aload 0
getfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.segments:[Lorg/terracotta/offheapstore/Segment;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache long top int int org.terracotta.offheapstore.Segment[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: lload 1
aload 3
invokeinterface org.terracotta.offheapstore.Segment.getVitalMemory:()J
ladd
lstore 1
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
1 7 1 total J
3 4 3 segment Lorg/terracotta/offheapstore/Segment<TK;TV;>;
public long dataVitalMemory();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: aload 0
getfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.segments:[Lorg/terracotta/offheapstore/Segment;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache long top int int org.terracotta.offheapstore.Segment[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: lload 1
aload 3
invokeinterface org.terracotta.offheapstore.Segment.getDataVitalMemory:()J
ladd
lstore 1
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
1 7 1 total J
3 4 3 segment Lorg/terracotta/offheapstore/Segment<TK;TV;>;
public V compute(K, java.util.function.BiFunction<K, V, V>, );
descriptor: (Ljava/lang/Object;Ljava/util/function/BiFunction;Z)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 0
aload 2
iload 3
invokedynamic apply(Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache;Ljava/util/function/BiFunction;Z)Ljava/util/function/BiFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
org/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache.lambda$0(Ljava/util/function/BiFunction;ZLjava/lang/Object;Lorg/terracotta/offheapstore/MetadataTuple;)Lorg/terracotta/offheapstore/MetadataTuple; (7)
(Ljava/lang/Object;Lorg/terracotta/offheapstore/MetadataTuple;)Lorg/terracotta/offheapstore/MetadataTuple;
invokevirtual org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.computeWithMetadata:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/terracotta/offheapstore/MetadataTuple;
astore 4
start local 4 1: aload 4
ifnonnull 2
aconst_null
goto 3
StackMap locals: org.terracotta.offheapstore.MetadataTuple
StackMap stack:
2: aload 4
invokevirtual org.terracotta.offheapstore.MetadataTuple.value:()Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
3: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
0 4 1 key TK;
0 4 2 mappingFunction Ljava/util/function/BiFunction<TK;TV;TV;>;
0 4 3 pin Z
1 4 4 result Lorg/terracotta/offheapstore/MetadataTuple<TV;>;
Signature: (TK;Ljava/util/function/BiFunction<TK;TV;TV;>;Z)TV;
MethodParameters:
Name Flags
key
mappingFunction final
pin final
public V computeIfPresent(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>);
descriptor: (Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 0
aload 2
invokedynamic apply(Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache;Ljava/util/function/BiFunction;)Ljava/util/function/BiFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
org/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache.lambda$1(Ljava/util/function/BiFunction;Ljava/lang/Object;Lorg/terracotta/offheapstore/MetadataTuple;)Lorg/terracotta/offheapstore/MetadataTuple; (7)
(Ljava/lang/Object;Lorg/terracotta/offheapstore/MetadataTuple;)Lorg/terracotta/offheapstore/MetadataTuple;
invokevirtual org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.computeIfPresentWithMetadata:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/terracotta/offheapstore/MetadataTuple;
astore 3
start local 3 1: aload 3
ifnonnull 2
aconst_null
goto 3
StackMap locals: org.terracotta.offheapstore.MetadataTuple
StackMap stack:
2: aload 3
invokevirtual org.terracotta.offheapstore.MetadataTuple.value:()Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
3: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
0 4 1 key TK;
0 4 2 mappingFunction Ljava/util/function/BiFunction<-TK;-TV;+TV;>;
1 4 3 result Lorg/terracotta/offheapstore/MetadataTuple<TV;>;
Signature: (TK;Ljava/util/function/BiFunction<-TK;-TV;+TV;>;)TV;
MethodParameters:
Name Flags
key
mappingFunction final
public V computeIfPresentAndPin(K, java.util.function.BiFunction<K, V, V>);
descriptor: (Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 0
aload 2
invokedynamic apply(Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache;Ljava/util/function/BiFunction;)Ljava/util/function/BiFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
org/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache.lambda$2(Ljava/util/function/BiFunction;Ljava/lang/Object;Lorg/terracotta/offheapstore/MetadataTuple;)Lorg/terracotta/offheapstore/MetadataTuple; (7)
(Ljava/lang/Object;Lorg/terracotta/offheapstore/MetadataTuple;)Lorg/terracotta/offheapstore/MetadataTuple;
invokevirtual org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.computeIfPresentWithMetadata:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/terracotta/offheapstore/MetadataTuple;
astore 3
start local 3 1: aload 3
ifnonnull 2
aconst_null
goto 3
StackMap locals: org.terracotta.offheapstore.MetadataTuple
StackMap stack:
2: aload 3
invokevirtual org.terracotta.offheapstore.MetadataTuple.value:()Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
3: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
0 4 1 key TK;
0 4 2 mappingFunction Ljava/util/function/BiFunction<TK;TV;TV;>;
1 4 3 result Lorg/terracotta/offheapstore/MetadataTuple<TV;>;
Signature: (TK;Ljava/util/function/BiFunction<TK;TV;TV;>;)TV;
MethodParameters:
Name Flags
key final
mappingFunction final
public boolean computeIfPinned(K, java.util.function.BiFunction<K, V, V>, java.util.function.Function<V, java.lang.Boolean>);
descriptor: (Ljava/lang/Object;Ljava/util/function/BiFunction;Ljava/util/function/Function;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.util.concurrent.atomic.AtomicBoolean
dup
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
astore 4
start local 4 1: aload 0
aload 1
aload 0
aload 2
aload 3
aload 4
invokedynamic apply(Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache;Ljava/util/function/BiFunction;Ljava/util/function/Function;Ljava/util/concurrent/atomic/AtomicBoolean;)Ljava/util/function/BiFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
org/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache.lambda$3(Ljava/util/function/BiFunction;Ljava/util/function/Function;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/lang/Object;Lorg/terracotta/offheapstore/MetadataTuple;)Lorg/terracotta/offheapstore/MetadataTuple; (7)
(Ljava/lang/Object;Lorg/terracotta/offheapstore/MetadataTuple;)Lorg/terracotta/offheapstore/MetadataTuple;
invokevirtual org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.computeIfPresentWithMetadata:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/terracotta/offheapstore/MetadataTuple;
pop
2: aload 4
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
0 3 1 key TK;
0 3 2 remappingFunction Ljava/util/function/BiFunction<TK;TV;TV;>;
0 3 3 unpinFunction Ljava/util/function/Function<TV;Ljava/lang/Boolean;>;
1 3 4 unpin Ljava/util/concurrent/atomic/AtomicBoolean;
Signature: (TK;Ljava/util/function/BiFunction<TK;TV;TV;>;Ljava/util/function/Function<TV;Ljava/lang/Boolean;>;)Z
MethodParameters:
Name Flags
key final
remappingFunction final
unpinFunction final
public long nextIdFor();
descriptor: (Ljava/lang/Object;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.counters:[Ljava/util/concurrent/atomic/AtomicLong;
aload 0
aload 1
invokevirtual java.lang.Object.hashCode:()I
invokevirtual org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.getIndexFor:(I)I
aaload
invokevirtual java.util.concurrent.atomic.AtomicLong.getAndIncrement:()J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
0 1 1 key TK;
Signature: (TK;)J
MethodParameters:
Name Flags
key final
private org.terracotta.offheapstore.MetadataTuple lambda$0(java.util.function.BiFunction, boolean, java.lang.Object, org.terracotta.offheapstore.MetadataTuple);
descriptor: (Ljava/util/function/BiFunction;ZLjava/lang/Object;Lorg/terracotta/offheapstore/MetadataTuple;)Lorg/terracotta/offheapstore/MetadataTuple;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=7, args_size=5
start local 0 start local 3 start local 4 0: aload 4
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 4
invokevirtual org.terracotta.offheapstore.MetadataTuple.value:()Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
2: astore 5
start local 5 3: aload 1
aload 3
aload 5
invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 6
start local 6 4: aload 6
ifnonnull 6
5: aconst_null
areturn
6: StackMap locals: java.lang.Object java.lang.Object
StackMap stack:
aload 5
aload 6
if_acmpne 10
7: aload 6
iload 2
ifeq 8
ldc 1073741824
goto 9
StackMap locals:
StackMap stack: java.lang.Object
8: iconst_0
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache java.util.function.BiFunction int java.lang.Object org.terracotta.offheapstore.MetadataTuple java.lang.Object java.lang.Object
StackMap stack: java.lang.Object int
9: aload 4
invokevirtual org.terracotta.offheapstore.MetadataTuple.metadata:()I
ior
invokestatic org.terracotta.offheapstore.MetadataTuple.metadataTuple:(Ljava/lang/Object;I)Lorg/terracotta/offheapstore/MetadataTuple;
areturn
10: StackMap locals:
StackMap stack:
aload 6
iload 2
ifeq 11
ldc 1073741824
goto 12
StackMap locals:
StackMap stack: java.lang.Object
11: iconst_0
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache java.util.function.BiFunction int java.lang.Object org.terracotta.offheapstore.MetadataTuple java.lang.Object java.lang.Object
StackMap stack: java.lang.Object int
12: aload 0
getfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.evictionAdvisor:Lorg/ehcache/config/EvictionAdvisor;
aload 3
aload 6
invokeinterface org.ehcache.config.EvictionAdvisor.adviseAgainstEviction:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 13
ldc 536870912
goto 14
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache java.util.function.BiFunction int java.lang.Object org.terracotta.offheapstore.MetadataTuple java.lang.Object java.lang.Object
StackMap stack: java.lang.Object int
13: iconst_0
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache java.util.function.BiFunction int java.lang.Object org.terracotta.offheapstore.MetadataTuple java.lang.Object java.lang.Object
StackMap stack: java.lang.Object int int
14: ior
invokestatic org.terracotta.offheapstore.MetadataTuple.metadataTuple:(Ljava/lang/Object;I)Lorg/terracotta/offheapstore/MetadataTuple;
areturn
end local 6 end local 5 end local 4 end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
0 15 3 k TK;
0 15 4 current Lorg/terracotta/offheapstore/MetadataTuple<TV;>;
3 15 5 oldValue TV;
4 15 6 newValue TV;
private org.terracotta.offheapstore.MetadataTuple lambda$1(java.util.function.BiFunction, java.lang.Object, org.terracotta.offheapstore.MetadataTuple);
descriptor: (Ljava/util/function/BiFunction;Ljava/lang/Object;Lorg/terracotta/offheapstore/MetadataTuple;)Lorg/terracotta/offheapstore/MetadataTuple;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 2 start local 3 0: aload 3
invokevirtual org.terracotta.offheapstore.MetadataTuple.value:()Ljava/lang/Object;
astore 4
start local 4 1: aload 1
aload 2
aload 4
invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 2: aload 5
ifnonnull 4
3: aconst_null
areturn
4: StackMap locals: java.lang.Object java.lang.Object
StackMap stack:
aload 4
aload 5
if_acmpne 6
5: aload 3
areturn
6: StackMap locals:
StackMap stack:
aload 5
aload 0
getfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.evictionAdvisor:Lorg/ehcache/config/EvictionAdvisor;
aload 2
aload 5
invokeinterface org.ehcache.config.EvictionAdvisor.adviseAgainstEviction:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 7
ldc 536870912
goto 8
StackMap locals:
StackMap stack: java.lang.Object
7: iconst_0
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache java.util.function.BiFunction java.lang.Object org.terracotta.offheapstore.MetadataTuple java.lang.Object java.lang.Object
StackMap stack: java.lang.Object int
8: invokestatic org.terracotta.offheapstore.MetadataTuple.metadataTuple:(Ljava/lang/Object;I)Lorg/terracotta/offheapstore/MetadataTuple;
areturn
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
0 9 2 k TK;
0 9 3 current Lorg/terracotta/offheapstore/MetadataTuple<TV;>;
1 9 4 oldValue TV;
2 9 5 newValue TV;
private org.terracotta.offheapstore.MetadataTuple lambda$2(java.util.function.BiFunction, java.lang.Object, org.terracotta.offheapstore.MetadataTuple);
descriptor: (Ljava/util/function/BiFunction;Ljava/lang/Object;Lorg/terracotta/offheapstore/MetadataTuple;)Lorg/terracotta/offheapstore/MetadataTuple;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 2 start local 3 0: aload 3
invokevirtual org.terracotta.offheapstore.MetadataTuple.value:()Ljava/lang/Object;
astore 4
start local 4 1: aload 1
aload 2
aload 4
invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 2: aload 5
ifnonnull 4
3: aconst_null
areturn
4: StackMap locals: java.lang.Object java.lang.Object
StackMap stack:
aload 4
aload 5
if_acmpne 6
5: aload 5
ldc 1073741824
aload 3
invokevirtual org.terracotta.offheapstore.MetadataTuple.metadata:()I
ior
invokestatic org.terracotta.offheapstore.MetadataTuple.metadataTuple:(Ljava/lang/Object;I)Lorg/terracotta/offheapstore/MetadataTuple;
areturn
6: StackMap locals:
StackMap stack:
aload 5
ldc 1073741824
aload 0
getfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.evictionAdvisor:Lorg/ehcache/config/EvictionAdvisor;
aload 2
aload 5
invokeinterface org.ehcache.config.EvictionAdvisor.adviseAgainstEviction:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 7
ldc 536870912
goto 8
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache java.util.function.BiFunction java.lang.Object org.terracotta.offheapstore.MetadataTuple java.lang.Object java.lang.Object
StackMap stack: java.lang.Object int
7: iconst_0
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache java.util.function.BiFunction java.lang.Object org.terracotta.offheapstore.MetadataTuple java.lang.Object java.lang.Object
StackMap stack: java.lang.Object int int
8: ior
invokestatic org.terracotta.offheapstore.MetadataTuple.metadataTuple:(Ljava/lang/Object;I)Lorg/terracotta/offheapstore/MetadataTuple;
areturn
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
0 9 2 k TK;
0 9 3 current Lorg/terracotta/offheapstore/MetadataTuple<TV;>;
1 9 4 oldValue TV;
2 9 5 newValue TV;
private org.terracotta.offheapstore.MetadataTuple lambda$3(java.util.function.BiFunction, java.util.function.Function, java.util.concurrent.atomic.AtomicBoolean, java.lang.Object, org.terracotta.offheapstore.MetadataTuple);
descriptor: (Ljava/util/function/BiFunction;Ljava/util/function/Function;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/lang/Object;Lorg/terracotta/offheapstore/MetadataTuple;)Lorg/terracotta/offheapstore/MetadataTuple;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=9, args_size=6
start local 0 start local 4 start local 5 0: aload 5
invokevirtual org.terracotta.offheapstore.MetadataTuple.metadata:()I
ldc 1073741824
iand
ifeq 16
1: aload 5
invokevirtual org.terracotta.offheapstore.MetadataTuple.value:()Ljava/lang/Object;
astore 6
start local 6 2: aload 1
aload 4
aload 6
invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 3: aload 2
aload 6
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 8
start local 8 4: aload 7
ifnonnull 7
5: aload 3
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
6: aconst_null
areturn
7: StackMap locals: java.lang.Object java.lang.Object java.lang.Boolean
StackMap stack:
aload 6
aload 7
if_acmpne 12
8: aload 3
aload 8
invokevirtual java.lang.Boolean.booleanValue:()Z
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
9: aload 6
aload 5
invokevirtual org.terracotta.offheapstore.MetadataTuple.metadata:()I
aload 8
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 10
ldc -1073741825
goto 11
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache java.util.function.BiFunction java.util.function.Function java.util.concurrent.atomic.AtomicBoolean java.lang.Object org.terracotta.offheapstore.MetadataTuple java.lang.Object java.lang.Object java.lang.Boolean
StackMap stack: java.lang.Object int
10: iconst_m1
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache java.util.function.BiFunction java.util.function.Function java.util.concurrent.atomic.AtomicBoolean java.lang.Object org.terracotta.offheapstore.MetadataTuple java.lang.Object java.lang.Object java.lang.Boolean
StackMap stack: java.lang.Object int int
11: iand
invokestatic org.terracotta.offheapstore.MetadataTuple.metadataTuple:(Ljava/lang/Object;I)Lorg/terracotta/offheapstore/MetadataTuple;
areturn
12: StackMap locals:
StackMap stack:
aload 3
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
13: aload 7
aload 0
getfield org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache.evictionAdvisor:Lorg/ehcache/config/EvictionAdvisor;
aload 4
aload 7
invokeinterface org.ehcache.config.EvictionAdvisor.adviseAgainstEviction:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 14
ldc 536870912
goto 15
StackMap locals:
StackMap stack: java.lang.Object
14: iconst_0
StackMap locals: org.ehcache.impl.internal.store.offheap.EhcacheConcurrentOffHeapClockCache java.util.function.BiFunction java.util.function.Function java.util.concurrent.atomic.AtomicBoolean java.lang.Object org.terracotta.offheapstore.MetadataTuple java.lang.Object java.lang.Object java.lang.Boolean
StackMap stack: java.lang.Object int
15: invokestatic org.terracotta.offheapstore.MetadataTuple.metadataTuple:(Ljava/lang/Object;I)Lorg/terracotta/offheapstore/MetadataTuple;
areturn
end local 8 end local 7 end local 6 16: StackMap locals:
StackMap stack:
aload 5
areturn
end local 5 end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/ehcache/impl/internal/store/offheap/EhcacheConcurrentOffHeapClockCache<TK;TV;>;
0 17 4 k TK;
0 17 5 current Lorg/terracotta/offheapstore/MetadataTuple<TV;>;
2 16 6 oldValue TV;
3 16 7 newValue TV;
4 16 8 unpinLocal Ljava/lang/Boolean;
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Lorg/terracotta/offheapstore/concurrent/AbstractConcurrentOffHeapCache<TK;TV;>;Lorg/ehcache/impl/internal/store/offheap/EhcacheOffHeapBackingMap<TK;TV;>;
SourceFile: "EhcacheConcurrentOffHeapClockCache.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles