class com.google.common.cache.LocalCache<K, V> extends java.util.AbstractMap<K, V> implements java.util.concurrent.ConcurrentMap<K, V>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.google.common.cache.LocalCache
super_class: java.util.AbstractMap
{
static final int MAXIMUM_CAPACITY;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1073741824
static final int MAX_SEGMENTS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 65536
static final int CONTAINS_VALUE_RETRIES;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final int DRAIN_THRESHOLD;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 63
static final int DRAIN_MAX;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 16
static final java.util.logging.Logger logger;
descriptor: Ljava/util/logging/Logger;
flags: (0x0018) ACC_STATIC, ACC_FINAL
final int segmentMask;
descriptor: I
flags: (0x0010) ACC_FINAL
final int segmentShift;
descriptor: I
flags: (0x0010) ACC_FINAL
final com.google.common.cache.LocalCache$Segment<K, V>[] segments;
descriptor: [Lcom/google/common/cache/LocalCache$Segment;
flags: (0x0010) ACC_FINAL
Signature: [Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
final int concurrencyLevel;
descriptor: I
flags: (0x0010) ACC_FINAL
final com.google.common.base.Equivalence<java.lang.Object> keyEquivalence;
descriptor: Lcom/google/common/base/Equivalence;
flags: (0x0010) ACC_FINAL
Signature: Lcom/google/common/base/Equivalence<Ljava/lang/Object;>;
final com.google.common.base.Equivalence<java.lang.Object> valueEquivalence;
descriptor: Lcom/google/common/base/Equivalence;
flags: (0x0010) ACC_FINAL
Signature: Lcom/google/common/base/Equivalence<Ljava/lang/Object;>;
final com.google.common.cache.LocalCache$Strength keyStrength;
descriptor: Lcom/google/common/cache/LocalCache$Strength;
flags: (0x0010) ACC_FINAL
Signature: Lcom/google/common/cache/LocalCache$Strength;
final com.google.common.cache.LocalCache$Strength valueStrength;
descriptor: Lcom/google/common/cache/LocalCache$Strength;
flags: (0x0010) ACC_FINAL
Signature: Lcom/google/common/cache/LocalCache$Strength;
final long maxWeight;
descriptor: J
flags: (0x0010) ACC_FINAL
final com.google.common.cache.Weigher<K, V> weigher;
descriptor: Lcom/google/common/cache/Weigher;
flags: (0x0010) ACC_FINAL
Signature: Lcom/google/common/cache/Weigher<TK;TV;>;
final long expireAfterAccessNanos;
descriptor: J
flags: (0x0010) ACC_FINAL
final long expireAfterWriteNanos;
descriptor: J
flags: (0x0010) ACC_FINAL
final long refreshNanos;
descriptor: J
flags: (0x0010) ACC_FINAL
final java.util.Queue<com.google.common.cache.RemovalNotification<K, V>> removalNotificationQueue;
descriptor: Ljava/util/Queue;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/Queue<Lcom/google/common/cache/RemovalNotification<TK;TV;>;>;
final com.google.common.cache.RemovalListener<K, V> removalListener;
descriptor: Lcom/google/common/cache/RemovalListener;
flags: (0x0010) ACC_FINAL
Signature: Lcom/google/common/cache/RemovalListener<TK;TV;>;
final com.google.common.base.Ticker ticker;
descriptor: Lcom/google/common/base/Ticker;
flags: (0x0010) ACC_FINAL
final com.google.common.cache.LocalCache$EntryFactory entryFactory;
descriptor: Lcom/google/common/cache/LocalCache$EntryFactory;
flags: (0x0010) ACC_FINAL
Signature: Lcom/google/common/cache/LocalCache$EntryFactory;
final com.google.common.cache.AbstractCache$StatsCounter globalStatsCounter;
descriptor: Lcom/google/common/cache/AbstractCache$StatsCounter;
flags: (0x0010) ACC_FINAL
final com.google.common.cache.CacheLoader<? super K, V> defaultLoader;
descriptor: Lcom/google/common/cache/CacheLoader;
flags: (0x0010) ACC_FINAL
Signature: Lcom/google/common/cache/CacheLoader<-TK;TV;>;
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.Nullable()
static final com.google.common.cache.LocalCache$ValueReference<java.lang.Object, java.lang.Object> UNSET;
descriptor: Lcom/google/common/cache/LocalCache$ValueReference;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Lcom/google/common/cache/LocalCache$ValueReference<Ljava/lang/Object;Ljava/lang/Object;>;
static final java.util.Queue<?> DISCARDING_QUEUE;
descriptor: Ljava/util/Queue;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Queue<*>;
java.util.Set<K> keySet;
descriptor: Ljava/util/Set;
flags: (0x0000)
Signature: Ljava/util/Set<TK;>;
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.MonotonicNonNull()
java.util.Collection<V> values;
descriptor: Ljava/util/Collection;
flags: (0x0000)
Signature: Ljava/util/Collection<TV;>;
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.MonotonicNonNull()
java.util.Set<java.util.Map$Entry<K, V>> entrySet;
descriptor: Ljava/util/Set;
flags: (0x0000)
Signature: Ljava/util/Set<Ljava/util/Map$Entry<TK;TV;>;>;
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.MonotonicNonNull()
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lcom/google/common/cache/LocalCache;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
putstatic com.google.common.cache.LocalCache.logger:Ljava/util/logging/Logger;
1: new com.google.common.cache.LocalCache$1
dup
invokespecial com.google.common.cache.LocalCache$1.<init>:()V
2: putstatic com.google.common.cache.LocalCache.UNSET:Lcom/google/common/cache/LocalCache$ValueReference;
3: new com.google.common.cache.LocalCache$2
dup
invokespecial com.google.common.cache.LocalCache$2.<init>:()V
4: putstatic com.google.common.cache.LocalCache.DISCARDING_QUEUE:Ljava/util/Queue;
5: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.google.common.cache.CacheBuilder<? super K, ? super V>, com.google.common.cache.CacheLoader<? super K, V>);
descriptor: (Lcom/google/common/cache/CacheBuilder;Lcom/google/common/cache/CacheLoader;)V
flags: (0x0000)
Code:
stack=7, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.util.AbstractMap.<init>:()V
1: aload 0
aload 1
invokevirtual com.google.common.cache.CacheBuilder.getConcurrencyLevel:()I
ldc 65536
invokestatic java.lang.Math.min:(II)I
putfield com.google.common.cache.LocalCache.concurrencyLevel:I
2: aload 0
aload 1
invokevirtual com.google.common.cache.CacheBuilder.getKeyStrength:()Lcom/google/common/cache/LocalCache$Strength;
putfield com.google.common.cache.LocalCache.keyStrength:Lcom/google/common/cache/LocalCache$Strength;
3: aload 0
aload 1
invokevirtual com.google.common.cache.CacheBuilder.getValueStrength:()Lcom/google/common/cache/LocalCache$Strength;
putfield com.google.common.cache.LocalCache.valueStrength:Lcom/google/common/cache/LocalCache$Strength;
4: aload 0
aload 1
invokevirtual com.google.common.cache.CacheBuilder.getKeyEquivalence:()Lcom/google/common/base/Equivalence;
putfield com.google.common.cache.LocalCache.keyEquivalence:Lcom/google/common/base/Equivalence;
5: aload 0
aload 1
invokevirtual com.google.common.cache.CacheBuilder.getValueEquivalence:()Lcom/google/common/base/Equivalence;
putfield com.google.common.cache.LocalCache.valueEquivalence:Lcom/google/common/base/Equivalence;
6: aload 0
aload 1
invokevirtual com.google.common.cache.CacheBuilder.getMaximumWeight:()J
putfield com.google.common.cache.LocalCache.maxWeight:J
7: aload 0
aload 1
invokevirtual com.google.common.cache.CacheBuilder.getWeigher:()Lcom/google/common/cache/Weigher;
putfield com.google.common.cache.LocalCache.weigher:Lcom/google/common/cache/Weigher;
8: aload 0
aload 1
invokevirtual com.google.common.cache.CacheBuilder.getExpireAfterAccessNanos:()J
putfield com.google.common.cache.LocalCache.expireAfterAccessNanos:J
9: aload 0
aload 1
invokevirtual com.google.common.cache.CacheBuilder.getExpireAfterWriteNanos:()J
putfield com.google.common.cache.LocalCache.expireAfterWriteNanos:J
10: aload 0
aload 1
invokevirtual com.google.common.cache.CacheBuilder.getRefreshNanos:()J
putfield com.google.common.cache.LocalCache.refreshNanos:J
11: aload 0
aload 1
invokevirtual com.google.common.cache.CacheBuilder.getRemovalListener:()Lcom/google/common/cache/RemovalListener;
putfield com.google.common.cache.LocalCache.removalListener:Lcom/google/common/cache/RemovalListener;
12: aload 0
13: aload 0
getfield com.google.common.cache.LocalCache.removalListener:Lcom/google/common/cache/RemovalListener;
getstatic com.google.common.cache.CacheBuilder$NullListener.INSTANCE:Lcom/google/common/cache/CacheBuilder$NullListener;
if_acmpne 15
14: invokestatic com.google.common.cache.LocalCache.discardingQueue:()Ljava/util/Queue;
goto 16
15: StackMap locals: com.google.common.cache.LocalCache com.google.common.cache.CacheBuilder com.google.common.cache.CacheLoader
StackMap stack: com.google.common.cache.LocalCache
new java.util.concurrent.ConcurrentLinkedQueue
dup
invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
16: StackMap locals: com.google.common.cache.LocalCache com.google.common.cache.CacheBuilder com.google.common.cache.CacheLoader
StackMap stack: com.google.common.cache.LocalCache java.util.Queue
putfield com.google.common.cache.LocalCache.removalNotificationQueue:Ljava/util/Queue;
17: aload 0
aload 1
aload 0
invokevirtual com.google.common.cache.LocalCache.recordsTime:()Z
invokevirtual com.google.common.cache.CacheBuilder.getTicker:(Z)Lcom/google/common/base/Ticker;
putfield com.google.common.cache.LocalCache.ticker:Lcom/google/common/base/Ticker;
18: aload 0
aload 0
getfield com.google.common.cache.LocalCache.keyStrength:Lcom/google/common/cache/LocalCache$Strength;
aload 0
invokevirtual com.google.common.cache.LocalCache.usesAccessEntries:()Z
aload 0
invokevirtual com.google.common.cache.LocalCache.usesWriteEntries:()Z
invokestatic com.google.common.cache.LocalCache$EntryFactory.getFactory:(Lcom/google/common/cache/LocalCache$Strength;ZZ)Lcom/google/common/cache/LocalCache$EntryFactory;
putfield com.google.common.cache.LocalCache.entryFactory:Lcom/google/common/cache/LocalCache$EntryFactory;
19: aload 0
aload 1
invokevirtual com.google.common.cache.CacheBuilder.getStatsCounterSupplier:()Lcom/google/common/base/Supplier;
invokeinterface com.google.common.base.Supplier.get:()Ljava/lang/Object;
checkcast com.google.common.cache.AbstractCache$StatsCounter
putfield com.google.common.cache.LocalCache.globalStatsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
20: aload 0
aload 2
putfield com.google.common.cache.LocalCache.defaultLoader:Lcom/google/common/cache/CacheLoader;
21: aload 1
invokevirtual com.google.common.cache.CacheBuilder.getInitialCapacity:()I
ldc 1073741824
invokestatic java.lang.Math.min:(II)I
istore 3
start local 3 22: aload 0
invokevirtual com.google.common.cache.LocalCache.evictsBySize:()Z
ifeq 24
aload 0
invokevirtual com.google.common.cache.LocalCache.customWeigher:()Z
ifne 24
23: iload 3
aload 0
getfield com.google.common.cache.LocalCache.maxWeight:J
l2i
invokestatic java.lang.Math.min:(II)I
istore 3
24: StackMap locals: int
StackMap stack:
iconst_0
istore 4
start local 4 25: iconst_1
istore 5
start local 5 26: goto 29
27: StackMap locals: int int
StackMap stack:
iinc 4 1
28: iload 5
iconst_1
ishl
istore 5
29: StackMap locals:
StackMap stack:
iload 5
aload 0
getfield com.google.common.cache.LocalCache.concurrencyLevel:I
if_icmpge 30
aload 0
invokevirtual com.google.common.cache.LocalCache.evictsBySize:()Z
ifeq 27
iload 5
bipush 20
imul
i2l
aload 0
getfield com.google.common.cache.LocalCache.maxWeight:J
lcmp
ifle 27
30: StackMap locals:
StackMap stack:
aload 0
bipush 32
iload 4
isub
putfield com.google.common.cache.LocalCache.segmentShift:I
31: aload 0
iload 5
iconst_1
isub
putfield com.google.common.cache.LocalCache.segmentMask:I
32: aload 0
aload 0
iload 5
invokevirtual com.google.common.cache.LocalCache.newSegmentArray:(I)[Lcom/google/common/cache/LocalCache$Segment;
putfield com.google.common.cache.LocalCache.segments:[Lcom/google/common/cache/LocalCache$Segment;
33: iload 3
iload 5
idiv
istore 6
start local 6 34: iload 6
iload 5
imul
iload 3
if_icmpge 36
35: iinc 6 1
36: StackMap locals: int
StackMap stack:
iconst_1
istore 7
start local 7 37: goto 39
38: StackMap locals: int
StackMap stack:
iload 7
iconst_1
ishl
istore 7
39: StackMap locals:
StackMap stack:
iload 7
iload 6
if_icmplt 38
40: aload 0
invokevirtual com.google.common.cache.LocalCache.evictsBySize:()Z
ifeq 53
41: aload 0
getfield com.google.common.cache.LocalCache.maxWeight:J
iload 5
i2l
ldiv
lconst_1
ladd
lstore 8
start local 8 42: aload 0
getfield com.google.common.cache.LocalCache.maxWeight:J
iload 5
i2l
lrem
lstore 10
start local 10 43: iconst_0
istore 12
start local 12 44: goto 51
45: StackMap locals: long long int
StackMap stack:
iload 12
i2l
lload 10
lcmp
ifne 47
46: lload 8
lconst_1
lsub
lstore 8
47: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.cache.LocalCache.segments:[Lcom/google/common/cache/LocalCache$Segment;
iload 12
48: aload 0
iload 7
lload 8
aload 1
invokevirtual com.google.common.cache.CacheBuilder.getStatsCounterSupplier:()Lcom/google/common/base/Supplier;
invokeinterface com.google.common.base.Supplier.get:()Ljava/lang/Object;
checkcast com.google.common.cache.AbstractCache$StatsCounter
invokevirtual com.google.common.cache.LocalCache.createSegment:(IJLcom/google/common/cache/AbstractCache$StatsCounter;)Lcom/google/common/cache/LocalCache$Segment;
49: aastore
50: iinc 12 1
StackMap locals:
StackMap stack:
51: iload 12
aload 0
getfield com.google.common.cache.LocalCache.segments:[Lcom/google/common/cache/LocalCache$Segment;
arraylength
if_icmplt 45
end local 12 end local 10 end local 8 52: goto 60
53: StackMap locals:
StackMap stack:
iconst_0
istore 8
start local 8 54: goto 59
55: StackMap locals: int
StackMap stack:
aload 0
getfield com.google.common.cache.LocalCache.segments:[Lcom/google/common/cache/LocalCache$Segment;
iload 8
56: aload 0
iload 7
ldc -1
aload 1
invokevirtual com.google.common.cache.CacheBuilder.getStatsCounterSupplier:()Lcom/google/common/base/Supplier;
invokeinterface com.google.common.base.Supplier.get:()Ljava/lang/Object;
checkcast com.google.common.cache.AbstractCache$StatsCounter
invokevirtual com.google.common.cache.LocalCache.createSegment:(IJLcom/google/common/cache/AbstractCache$StatsCounter;)Lcom/google/common/cache/LocalCache$Segment;
57: aastore
58: iinc 8 1
StackMap locals:
StackMap stack:
59: iload 8
aload 0
getfield com.google.common.cache.LocalCache.segments:[Lcom/google/common/cache/LocalCache$Segment;
arraylength
if_icmplt 55
end local 8 60: StackMap locals:
StackMap stack:
return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 61 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 61 1 builder Lcom/google/common/cache/CacheBuilder<-TK;-TV;>;
0 61 2 loader Lcom/google/common/cache/CacheLoader<-TK;TV;>;
22 61 3 initialCapacity I
25 61 4 segmentShift I
26 61 5 segmentCount I
34 61 6 segmentCapacity I
37 61 7 segmentSize I
42 52 8 maxSegmentWeight J
43 52 10 remainder J
44 52 12 i I
54 60 8 i I
Signature: (Lcom/google/common/cache/CacheBuilder<-TK;-TV;>;Lcom/google/common/cache/CacheLoader<-TK;TV;>;)V
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
builder
loader
boolean evictsBySize();
descriptor: ()Z
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.cache.LocalCache.maxWeight:J
lconst_0
lcmp
iflt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
boolean customWeigher();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.cache.LocalCache.weigher:Lcom/google/common/cache/Weigher;
getstatic com.google.common.cache.CacheBuilder$OneWeigher.INSTANCE:Lcom/google/common/cache/CacheBuilder$OneWeigher;
if_acmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
boolean expires();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.cache.LocalCache.expiresAfterWrite:()Z
ifne 1
aload 0
invokevirtual com.google.common.cache.LocalCache.expiresAfterAccess:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
boolean expiresAfterWrite();
descriptor: ()Z
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.cache.LocalCache.expireAfterWriteNanos:J
lconst_0
lcmp
ifle 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
boolean expiresAfterAccess();
descriptor: ()Z
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.cache.LocalCache.expireAfterAccessNanos:J
lconst_0
lcmp
ifle 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
boolean refreshes();
descriptor: ()Z
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.cache.LocalCache.refreshNanos:J
lconst_0
lcmp
ifle 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
boolean usesAccessQueue();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.cache.LocalCache.expiresAfterAccess:()Z
ifne 1
aload 0
invokevirtual com.google.common.cache.LocalCache.evictsBySize:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
boolean usesWriteQueue();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.cache.LocalCache.expiresAfterWrite:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
boolean recordsWrite();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.cache.LocalCache.expiresAfterWrite:()Z
ifne 1
aload 0
invokevirtual com.google.common.cache.LocalCache.refreshes:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
boolean recordsAccess();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.cache.LocalCache.expiresAfterAccess:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
boolean recordsTime();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.cache.LocalCache.recordsWrite:()Z
ifne 1
aload 0
invokevirtual com.google.common.cache.LocalCache.recordsAccess:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
boolean usesWriteEntries();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.cache.LocalCache.usesWriteQueue:()Z
ifne 1
aload 0
invokevirtual com.google.common.cache.LocalCache.recordsWrite:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
boolean usesAccessEntries();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.cache.LocalCache.usesAccessQueue:()Z
ifne 1
aload 0
invokevirtual com.google.common.cache.LocalCache.recordsAccess:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
boolean usesKeyReferences();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.cache.LocalCache.keyStrength:Lcom/google/common/cache/LocalCache$Strength;
getstatic com.google.common.cache.LocalCache$Strength.STRONG:Lcom/google/common/cache/LocalCache$Strength;
if_acmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
boolean usesValueReferences();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.cache.LocalCache.valueStrength:Lcom/google/common/cache/LocalCache$Strength;
getstatic com.google.common.cache.LocalCache$Strength.STRONG:Lcom/google/common/cache/LocalCache$Strength;
if_acmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
static <K, V> com.google.common.cache.LocalCache$ValueReference<K, V> unset();
descriptor: ()Lcom/google/common/cache/LocalCache$ValueReference;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.google.common.cache.LocalCache.UNSET:Lcom/google/common/cache/LocalCache$ValueReference;
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>()Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
static <K, V> com.google.common.cache.ReferenceEntry<K, V> nullEntry();
descriptor: ()Lcom/google/common/cache/ReferenceEntry;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.google.common.cache.LocalCache$NullEntry.INSTANCE:Lcom/google/common/cache/LocalCache$NullEntry;
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>()Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
static <E> java.util.Queue<E> discardingQueue();
descriptor: ()Ljava/util/Queue;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.google.common.cache.LocalCache.DISCARDING_QUEUE:Ljava/util/Queue;
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: <E:Ljava/lang/Object;>()Ljava/util/Queue<TE;>;
static int rehash(int);
descriptor: (I)I
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: iload 0
iload 0
bipush 15
ishl
sipush -12931
ixor
iadd
istore 0
1: iload 0
iload 0
bipush 10
iushr
ixor
istore 0
2: iload 0
iload 0
iconst_3
ishl
iadd
istore 0
3: iload 0
iload 0
bipush 6
iushr
ixor
istore 0
4: iload 0
iload 0
iconst_2
ishl
iload 0
bipush 14
ishl
iadd
iadd
istore 0
5: iload 0
iload 0
bipush 16
iushr
ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 h I
MethodParameters:
Name Flags
h
com.google.common.cache.ReferenceEntry<K, V> newEntry(K, int, com.google.common.cache.ReferenceEntry<K, V>);
descriptor: (Ljava/lang/Object;ILcom/google/common/cache/ReferenceEntry;)Lcom/google/common/cache/ReferenceEntry;
flags: (0x0000)
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 2
invokevirtual com.google.common.cache.LocalCache.segmentFor:(I)Lcom/google/common/cache/LocalCache$Segment;
astore 4
start local 4 1: aload 4
invokevirtual com.google.common.cache.LocalCache$Segment.lock:()V
2: aload 4
aload 1
iload 2
aload 3
invokevirtual com.google.common.cache.LocalCache$Segment.newEntry:(Ljava/lang/Object;ILcom/google/common/cache/ReferenceEntry;)Lcom/google/common/cache/ReferenceEntry;
astore 6
3: aload 4
invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
4: aload 6
areturn
5: StackMap locals: com.google.common.cache.LocalCache java.lang.Object int com.google.common.cache.ReferenceEntry com.google.common.cache.LocalCache$Segment
StackMap stack: java.lang.Throwable
astore 5
6: aload 4
invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
7: aload 5
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 8 1 key TK;
0 8 2 hash I
0 8 3 next Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
1 8 4 segment Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
Exception table:
from to target type
2 3 5 any
Signature: (TK;ILcom/google/common/cache/ReferenceEntry<TK;TV;>;)Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
RuntimeInvisibleAnnotations:
com.google.common.annotations.VisibleForTesting()
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.google.common.annotations.VisibleForTesting()
MethodParameters:
Name Flags
key
hash
next
com.google.common.cache.ReferenceEntry<K, V> copyEntry(com.google.common.cache.ReferenceEntry<K, V>, com.google.common.cache.ReferenceEntry<K, V>);
descriptor: (Lcom/google/common/cache/ReferenceEntry;Lcom/google/common/cache/ReferenceEntry;)Lcom/google/common/cache/ReferenceEntry;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
istore 3
start local 3 1: aload 0
iload 3
invokevirtual com.google.common.cache.LocalCache.segmentFor:(I)Lcom/google/common/cache/LocalCache$Segment;
aload 1
aload 2
invokevirtual com.google.common.cache.LocalCache$Segment.copyEntry:(Lcom/google/common/cache/ReferenceEntry;Lcom/google/common/cache/ReferenceEntry;)Lcom/google/common/cache/ReferenceEntry;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 2 1 original Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
0 2 2 newNext Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
1 2 3 hash I
Signature: (Lcom/google/common/cache/ReferenceEntry<TK;TV;>;Lcom/google/common/cache/ReferenceEntry<TK;TV;>;)Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
RuntimeInvisibleAnnotations:
com.google.common.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.google.common.annotations.VisibleForTesting()
MethodParameters:
Name Flags
original
newNext
com.google.common.cache.LocalCache$ValueReference<K, V> newValueReference(com.google.common.cache.ReferenceEntry<K, V>, V, int);
descriptor: (Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;I)Lcom/google/common/cache/LocalCache$ValueReference;
flags: (0x0000)
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
istore 4
start local 4 1: aload 0
getfield com.google.common.cache.LocalCache.valueStrength:Lcom/google/common/cache/LocalCache$Strength;
aload 0
iload 4
invokevirtual com.google.common.cache.LocalCache.segmentFor:(I)Lcom/google/common/cache/LocalCache$Segment;
aload 1
aload 2
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
iload 3
invokevirtual com.google.common.cache.LocalCache$Strength.referenceValue:(Lcom/google/common/cache/LocalCache$Segment;Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;I)Lcom/google/common/cache/LocalCache$ValueReference;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 2 1 entry Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
0 2 2 value TV;
0 2 3 weight I
1 2 4 hash I
Signature: (Lcom/google/common/cache/ReferenceEntry<TK;TV;>;TV;I)Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
RuntimeInvisibleAnnotations:
com.google.common.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.google.common.annotations.VisibleForTesting()
MethodParameters:
Name Flags
entry
value
weight
int hash(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.cache.LocalCache.keyEquivalence:Lcom/google/common/base/Equivalence;
aload 1
invokevirtual com.google.common.base.Equivalence.hash:(Ljava/lang/Object;)I
istore 2
start local 2 1: iload 2
invokestatic com.google.common.cache.LocalCache.rehash:(I)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 2 1 key Ljava/lang/Object;
1 2 2 h I
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
key
void reclaimValue(com.google.common.cache.LocalCache$ValueReference<K, V>);
descriptor: (Lcom/google/common/cache/LocalCache$ValueReference;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface com.google.common.cache.LocalCache$ValueReference.getEntry:()Lcom/google/common/cache/ReferenceEntry;
astore 2
start local 2 1: aload 2
invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
istore 3
start local 3 2: aload 0
iload 3
invokevirtual com.google.common.cache.LocalCache.segmentFor:(I)Lcom/google/common/cache/LocalCache$Segment;
aload 2
invokeinterface com.google.common.cache.ReferenceEntry.getKey:()Ljava/lang/Object;
iload 3
aload 1
invokevirtual com.google.common.cache.LocalCache$Segment.reclaimValue:(Ljava/lang/Object;ILcom/google/common/cache/LocalCache$ValueReference;)Z
pop
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 4 1 valueReference Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
1 4 2 entry Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
2 4 3 hash I
Signature: (Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;)V
MethodParameters:
Name Flags
valueReference
void reclaimKey(com.google.common.cache.ReferenceEntry<K, V>);
descriptor: (Lcom/google/common/cache/ReferenceEntry;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
istore 2
start local 2 1: aload 0
iload 2
invokevirtual com.google.common.cache.LocalCache.segmentFor:(I)Lcom/google/common/cache/LocalCache$Segment;
aload 1
iload 2
invokevirtual com.google.common.cache.LocalCache$Segment.reclaimKey:(Lcom/google/common/cache/ReferenceEntry;I)Z
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 3 1 entry Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
1 3 2 hash I
Signature: (Lcom/google/common/cache/ReferenceEntry<TK;TV;>;)V
MethodParameters:
Name Flags
entry
boolean isLive(com.google.common.cache.ReferenceEntry<K, V>, );
descriptor: (Lcom/google/common/cache/ReferenceEntry;J)Z
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
invokevirtual com.google.common.cache.LocalCache.segmentFor:(I)Lcom/google/common/cache/LocalCache$Segment;
aload 1
lload 2
invokevirtual com.google.common.cache.LocalCache$Segment.getLiveValue:(Lcom/google/common/cache/ReferenceEntry;J)Ljava/lang/Object;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 2 1 entry Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
0 2 2 now J
Signature: (Lcom/google/common/cache/ReferenceEntry<TK;TV;>;J)Z
RuntimeInvisibleAnnotations:
com.google.common.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.google.common.annotations.VisibleForTesting()
MethodParameters:
Name Flags
entry
now
com.google.common.cache.LocalCache$Segment<K, V> segmentFor(int);
descriptor: (I)Lcom/google/common/cache/LocalCache$Segment;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.cache.LocalCache.segments:[Lcom/google/common/cache/LocalCache$Segment;
iload 1
aload 0
getfield com.google.common.cache.LocalCache.segmentShift:I
iushr
aload 0
getfield com.google.common.cache.LocalCache.segmentMask:I
iand
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 1 1 hash I
Signature: (I)Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
MethodParameters:
Name Flags
hash
com.google.common.cache.LocalCache$Segment<K, V> createSegment(int, long, com.google.common.cache.AbstractCache$StatsCounter);
descriptor: (IJLcom/google/common/cache/AbstractCache$StatsCounter;)Lcom/google/common/cache/LocalCache$Segment;
flags: (0x0000)
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: new com.google.common.cache.LocalCache$Segment
dup
aload 0
iload 1
lload 2
aload 4
invokespecial com.google.common.cache.LocalCache$Segment.<init>:(Lcom/google/common/cache/LocalCache;IJLcom/google/common/cache/AbstractCache$StatsCounter;)V
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 1 1 initialCapacity I
0 1 2 maxSegmentWeight J
0 1 4 statsCounter Lcom/google/common/cache/AbstractCache$StatsCounter;
Signature: (IJLcom/google/common/cache/AbstractCache$StatsCounter;)Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
MethodParameters:
Name Flags
initialCapacity
maxSegmentWeight
statsCounter
V getLiveValue(com.google.common.cache.ReferenceEntry<K, V>, );
descriptor: (Lcom/google/common/cache/ReferenceEntry;J)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface com.google.common.cache.ReferenceEntry.getKey:()Ljava/lang/Object;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
invokeinterface com.google.common.cache.LocalCache$ValueReference.get:()Ljava/lang/Object;
astore 4
start local 4 3: aload 4
ifnonnull 5
4: aconst_null
areturn
5: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 1
lload 2
invokevirtual com.google.common.cache.LocalCache.isExpired:(Lcom/google/common/cache/ReferenceEntry;J)Z
ifeq 7
6: aconst_null
areturn
7: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 8 1 entry Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
0 8 2 now J
3 8 4 value TV;
Signature: (Lcom/google/common/cache/ReferenceEntry<TK;TV;>;J)TV;
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
entry
now
boolean isExpired(com.google.common.cache.ReferenceEntry<K, V>, );
descriptor: (Lcom/google/common/cache/ReferenceEntry;J)Z
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokevirtual com.google.common.cache.LocalCache.expiresAfterAccess:()Z
ifeq 3
lload 2
aload 1
invokeinterface com.google.common.cache.ReferenceEntry.getAccessTime:()J
lsub
aload 0
getfield com.google.common.cache.LocalCache.expireAfterAccessNanos:J
lcmp
iflt 3
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.google.common.cache.LocalCache.expiresAfterWrite:()Z
ifeq 5
lload 2
aload 1
invokeinterface com.google.common.cache.ReferenceEntry.getWriteTime:()J
lsub
aload 0
getfield com.google.common.cache.LocalCache.expireAfterWriteNanos:J
lcmp
iflt 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 6 1 entry Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
0 6 2 now J
Signature: (Lcom/google/common/cache/ReferenceEntry<TK;TV;>;J)Z
MethodParameters:
Name Flags
entry
now
static <K, V> void connectAccessOrder(com.google.common.cache.ReferenceEntry<K, V>, com.google.common.cache.ReferenceEntry<K, V>);
descriptor: (Lcom/google/common/cache/ReferenceEntry;Lcom/google/common/cache/ReferenceEntry;)V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface com.google.common.cache.ReferenceEntry.setNextInAccessQueue:(Lcom/google/common/cache/ReferenceEntry;)V
1: aload 1
aload 0
invokeinterface com.google.common.cache.ReferenceEntry.setPreviousInAccessQueue:(Lcom/google/common/cache/ReferenceEntry;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 previous Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
0 3 1 next Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lcom/google/common/cache/ReferenceEntry<TK;TV;>;Lcom/google/common/cache/ReferenceEntry<TK;TV;>;)V
MethodParameters:
Name Flags
previous
next
static <K, V> void nullifyAccessOrder(com.google.common.cache.ReferenceEntry<K, V>);
descriptor: (Lcom/google/common/cache/ReferenceEntry;)V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic com.google.common.cache.LocalCache.nullEntry:()Lcom/google/common/cache/ReferenceEntry;
astore 1
start local 1 1: aload 0
aload 1
invokeinterface com.google.common.cache.ReferenceEntry.setNextInAccessQueue:(Lcom/google/common/cache/ReferenceEntry;)V
2: aload 0
aload 1
invokeinterface com.google.common.cache.ReferenceEntry.setPreviousInAccessQueue:(Lcom/google/common/cache/ReferenceEntry;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 nulled Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
1 4 1 nullEntry Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lcom/google/common/cache/ReferenceEntry<TK;TV;>;)V
MethodParameters:
Name Flags
nulled
static <K, V> void connectWriteOrder(com.google.common.cache.ReferenceEntry<K, V>, com.google.common.cache.ReferenceEntry<K, V>);
descriptor: (Lcom/google/common/cache/ReferenceEntry;Lcom/google/common/cache/ReferenceEntry;)V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface com.google.common.cache.ReferenceEntry.setNextInWriteQueue:(Lcom/google/common/cache/ReferenceEntry;)V
1: aload 1
aload 0
invokeinterface com.google.common.cache.ReferenceEntry.setPreviousInWriteQueue:(Lcom/google/common/cache/ReferenceEntry;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 previous Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
0 3 1 next Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lcom/google/common/cache/ReferenceEntry<TK;TV;>;Lcom/google/common/cache/ReferenceEntry<TK;TV;>;)V
MethodParameters:
Name Flags
previous
next
static <K, V> void nullifyWriteOrder(com.google.common.cache.ReferenceEntry<K, V>);
descriptor: (Lcom/google/common/cache/ReferenceEntry;)V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic com.google.common.cache.LocalCache.nullEntry:()Lcom/google/common/cache/ReferenceEntry;
astore 1
start local 1 1: aload 0
aload 1
invokeinterface com.google.common.cache.ReferenceEntry.setNextInWriteQueue:(Lcom/google/common/cache/ReferenceEntry;)V
2: aload 0
aload 1
invokeinterface com.google.common.cache.ReferenceEntry.setPreviousInWriteQueue:(Lcom/google/common/cache/ReferenceEntry;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 nulled Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
1 4 1 nullEntry Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lcom/google/common/cache/ReferenceEntry<TK;TV;>;)V
MethodParameters:
Name Flags
nulled
void processPendingNotifications();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=1
start local 0 0: goto 5
start local 1 1: StackMap locals: com.google.common.cache.RemovalNotification
StackMap stack:
aload 0
getfield com.google.common.cache.LocalCache.removalListener:Lcom/google/common/cache/RemovalListener;
aload 1
invokeinterface com.google.common.cache.RemovalListener.onRemoval:(Lcom/google/common/cache/RemovalNotification;)V
2: goto 5
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 2
start local 2 4: getstatic com.google.common.cache.LocalCache.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
ldc "Exception thrown by removal listener"
aload 2
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 2 end local 1 5: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.cache.LocalCache.removalNotificationQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
checkcast com.google.common.cache.RemovalNotification
dup
astore 1
start local 1 6: ifnonnull 1
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
1 5 1 notification Lcom/google/common/cache/RemovalNotification<TK;TV;>;
6 8 1 notification Lcom/google/common/cache/RemovalNotification<TK;TV;>;
4 5 2 e Ljava/lang/Throwable;
Exception table:
from to target type
1 2 3 Class java.lang.Throwable
final com.google.common.cache.LocalCache$Segment<K, V>[] newSegmentArray(int);
descriptor: (I)[Lcom/google/common/cache/LocalCache$Segment;
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
anewarray com.google.common.cache.LocalCache$Segment
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 1 1 ssize I
Signature: (I)[Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
MethodParameters:
Name Flags
ssize
public void cleanUp();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
getfield com.google.common.cache.LocalCache.segments:[Lcom/google/common/cache/LocalCache$Segment;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 4
StackMap locals: com.google.common.cache.LocalCache top int int com.google.common.cache.LocalCache$Segment[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
invokevirtual com.google.common.cache.LocalCache$Segment.cleanUp:()V
end local 1 3: iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
iload 3
if_icmplt 1
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
2 3 1 segment Lcom/google/common/cache/LocalCache$Segment<**>;
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: aload 0
getfield com.google.common.cache.LocalCache.segments:[Lcom/google/common/cache/LocalCache$Segment;
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 8
4: StackMap locals: long com.google.common.cache.LocalCache$Segment[] int
StackMap stack:
aload 3
iload 4
aaload
getfield com.google.common.cache.LocalCache$Segment.count:I
ifeq 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
lload 1
aload 3
iload 4
aaload
getfield com.google.common.cache.LocalCache$Segment.modCount:I
i2l
ladd
lstore 1
7: iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
aload 3
arraylength
if_icmplt 4
end local 4 9: lload 1
lconst_0
lcmp
ifeq 19
10: iconst_0
istore 4
start local 4 11: goto 16
12: StackMap locals:
StackMap stack:
aload 3
iload 4
aaload
getfield com.google.common.cache.LocalCache$Segment.count:I
ifeq 14
13: iconst_0
ireturn
14: StackMap locals:
StackMap stack:
lload 1
aload 3
iload 4
aaload
getfield com.google.common.cache.LocalCache$Segment.modCount:I
i2l
lsub
lstore 1
15: iinc 4 1
StackMap locals:
StackMap stack:
16: iload 4
aload 3
arraylength
if_icmplt 12
end local 4 17: lload 1
lconst_0
lcmp
ifeq 19
18: iconst_0
ireturn
19: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
1 20 1 sum J
2 20 3 segments [Lcom/google/common/cache/LocalCache$Segment;
3 9 4 i I
11 17 4 i I
long longSize();
descriptor: ()J
flags: (0x0000)
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
getfield com.google.common.cache.LocalCache.segments:[Lcom/google/common/cache/LocalCache$Segment;
astore 1
start local 1 1: lconst_0
lstore 2
start local 2 2: iconst_0
istore 4
start local 4 3: goto 6
4: StackMap locals: com.google.common.cache.LocalCache$Segment[] long int
StackMap stack:
lload 2
iconst_0
aload 1
iload 4
aaload
getfield com.google.common.cache.LocalCache$Segment.count:I
invokestatic java.lang.Math.max:(II)I
i2l
ladd
lstore 2
5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
aload 1
arraylength
if_icmplt 4
end local 4 7: lload 2
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
1 8 1 segments [Lcom/google/common/cache/LocalCache$Segment;
2 8 2 sum J
3 7 4 i I
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.cache.LocalCache.longSize:()J
invokestatic com.google.common.primitives.Ints.saturatedCast:(J)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
public V get();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.google.common.cache.LocalCache.hash:(Ljava/lang/Object;)I
istore 2
start local 2 3: aload 0
iload 2
invokevirtual com.google.common.cache.LocalCache.segmentFor:(I)Lcom/google/common/cache/LocalCache$Segment;
aload 1
iload 2
invokevirtual com.google.common.cache.LocalCache$Segment.get:(Ljava/lang/Object;I)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 4 1 key Ljava/lang/Object;
3 4 2 hash I
Signature: (Ljava/lang/Object;)TV;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
METHOD_RETURN
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
key
V get(K, com.google.common.cache.CacheLoader<? super K, V>);
descriptor: (Ljava/lang/Object;Lcom/google/common/cache/CacheLoader;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual com.google.common.cache.LocalCache.hash:(Ljava/lang/Object;)I
istore 3
start local 3 1: aload 0
iload 3
invokevirtual com.google.common.cache.LocalCache.segmentFor:(I)Lcom/google/common/cache/LocalCache$Segment;
aload 1
iload 3
aload 2
invokevirtual com.google.common.cache.LocalCache$Segment.get:(Ljava/lang/Object;ILcom/google/common/cache/CacheLoader;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 2 1 key TK;
0 2 2 loader Lcom/google/common/cache/CacheLoader<-TK;TV;>;
1 2 3 hash I
Exceptions:
throws java.util.concurrent.ExecutionException
Signature: (TK;Lcom/google/common/cache/CacheLoader<-TK;TV;>;)TV;
MethodParameters:
Name Flags
key
loader
public V getIfPresent();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual com.google.common.cache.LocalCache.hash:(Ljava/lang/Object;)I
istore 2
start local 2 1: aload 0
iload 2
invokevirtual com.google.common.cache.LocalCache.segmentFor:(I)Lcom/google/common/cache/LocalCache$Segment;
aload 1
iload 2
invokevirtual com.google.common.cache.LocalCache$Segment.get:(Ljava/lang/Object;I)Ljava/lang/Object;
astore 3
start local 3 2: aload 3
ifnonnull 5
3: aload 0
getfield com.google.common.cache.LocalCache.globalStatsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
iconst_1
invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordMisses:(I)V
4: goto 6
5: StackMap locals: int java.lang.Object
StackMap stack:
aload 0
getfield com.google.common.cache.LocalCache.globalStatsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
iconst_1
invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordHits:(I)V
6: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 7 1 key Ljava/lang/Object;
1 7 2 hash I
2 7 3 value TV;
Signature: (Ljava/lang/Object;)TV;
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
key
public V getOrDefault(, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.google.common.cache.LocalCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 1: aload 3
ifnull 2
aload 3
goto 3
StackMap locals: java.lang.Object
StackMap stack:
2: aload 2
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 Lcom/google/common/cache/LocalCache<TK;TV;>;
0 4 1 key Ljava/lang/Object;
0 4 2 defaultValue TV;
1 4 3 result TV;
Signature: (Ljava/lang/Object;TV;)TV;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
METHOD_RETURN
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
key
defaultValue
V getOrLoad();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
getfield com.google.common.cache.LocalCache.defaultLoader:Lcom/google/common/cache/CacheLoader;
invokevirtual com.google.common.cache.LocalCache.get:(Ljava/lang/Object;Lcom/google/common/cache/CacheLoader;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 1 1 key TK;
Exceptions:
throws java.util.concurrent.ExecutionException
Signature: (TK;)TV;
MethodParameters:
Name Flags
key
com.google.common.collect.ImmutableMap<K, V> getAllPresent(java.lang.Iterable<?>);
descriptor: (Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableMap;
flags: (0x0000)
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: invokestatic com.google.common.collect.Maps.newLinkedHashMap:()Ljava/util/LinkedHashMap;
astore 4
start local 4 3: aload 1
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6
goto 12
StackMap locals: com.google.common.cache.LocalCache java.lang.Iterable int int java.util.Map top java.util.Iterator
StackMap stack:
4: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 5
start local 5 5: aload 0
aload 5
invokevirtual com.google.common.cache.LocalCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 6: aload 7
ifnonnull 9
7: iinc 3 1
8: goto 12
9: StackMap locals: com.google.common.cache.LocalCache java.lang.Iterable int int java.util.Map java.lang.Object java.util.Iterator java.lang.Object
StackMap stack:
aload 5
astore 8
start local 8 10: aload 4
aload 8
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: iinc 2 1
end local 8 end local 7 end local 5 12: StackMap locals: com.google.common.cache.LocalCache java.lang.Iterable int int java.util.Map top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
13: aload 0
getfield com.google.common.cache.LocalCache.globalStatsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
iload 2
invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordHits:(I)V
14: aload 0
getfield com.google.common.cache.LocalCache.globalStatsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
iload 3
invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordMisses:(I)V
15: aload 4
invokestatic com.google.common.collect.ImmutableMap.copyOf:(Ljava/util/Map;)Lcom/google/common/collect/ImmutableMap;
areturn
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 Lcom/google/common/cache/LocalCache<TK;TV;>;
0 16 1 keys Ljava/lang/Iterable<*>;
1 16 2 hits I
2 16 3 misses I
3 16 4 result Ljava/util/Map<TK;TV;>;
5 12 5 key Ljava/lang/Object;
6 12 7 value TV;
10 12 8 castKey TK;
Signature: (Ljava/lang/Iterable<*>;)Lcom/google/common/collect/ImmutableMap<TK;TV;>;
MethodParameters:
Name Flags
keys
com.google.common.collect.ImmutableMap<K, V> getAll(java.lang.Iterable<? extends K>);
descriptor: (Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableMap;
flags: (0x0000)
Code:
stack=5, locals=12, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: invokestatic com.google.common.collect.Maps.newLinkedHashMap:()Ljava/util/LinkedHashMap;
astore 4
start local 4 3: invokestatic com.google.common.collect.Sets.newLinkedHashSet:()Ljava/util/LinkedHashSet;
astore 5
start local 5 4: aload 1
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 7
goto 14
StackMap locals: com.google.common.cache.LocalCache java.lang.Iterable int int java.util.Map java.util.Set top java.util.Iterator
StackMap stack:
5: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Object
astore 6
start local 6 6: aload 0
aload 6
invokevirtual com.google.common.cache.LocalCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 8
start local 8 7: aload 4
aload 6
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 14
8: aload 4
aload 6
aload 8
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 8
ifnonnull 13
10: iinc 3 1
11: aload 5
aload 6
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
12: goto 14
13: StackMap locals: com.google.common.cache.LocalCache java.lang.Iterable int int java.util.Map java.util.Set java.lang.Object java.util.Iterator java.lang.Object
StackMap stack:
iinc 2 1
end local 8 end local 6 14: StackMap locals: com.google.common.cache.LocalCache java.lang.Iterable int int java.util.Map java.util.Set top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
15: aload 5
invokeinterface java.util.Set.isEmpty:()Z
ifne 31
16: aload 0
aload 5
aload 0
getfield com.google.common.cache.LocalCache.defaultLoader:Lcom/google/common/cache/CacheLoader;
invokevirtual com.google.common.cache.LocalCache.loadAll:(Ljava/util/Set;Lcom/google/common/cache/CacheLoader;)Ljava/util/Map;
astore 6
start local 6 17: aload 5
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 23
StackMap locals: com.google.common.cache.LocalCache java.lang.Iterable int int java.util.Map java.util.Set java.util.Map top java.util.Iterator
StackMap stack:
18: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Object
astore 7
start local 7 19: aload 6
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 9
start local 9 20: aload 9
ifnonnull 22
21: new com.google.common.cache.CacheLoader$InvalidCacheLoadException
dup
new java.lang.StringBuilder
dup
ldc "loadAll failed to return a value for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.google.common.cache.CacheLoader$InvalidCacheLoadException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals: com.google.common.cache.LocalCache java.lang.Iterable int int java.util.Map java.util.Set java.util.Map java.lang.Object java.util.Iterator java.lang.Object
StackMap stack:
aload 4
aload 7
aload 9
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 9 end local 7 23: StackMap locals: com.google.common.cache.LocalCache java.lang.Iterable int int java.util.Map java.util.Set java.util.Map top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
end local 6 24: goto 31
StackMap locals: com.google.common.cache.LocalCache java.lang.Iterable int int java.util.Map java.util.Set
StackMap stack: com.google.common.cache.CacheLoader$UnsupportedLoadingOperationException
25: pop
26: aload 5
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 30
StackMap locals: com.google.common.cache.LocalCache java.lang.Iterable int int java.util.Map java.util.Set top java.util.Iterator
StackMap stack:
27: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Object
astore 6
start local 6 28: iinc 3 -1
29: aload 4
aload 6
aload 0
aload 6
aload 0
getfield com.google.common.cache.LocalCache.defaultLoader:Lcom/google/common/cache/CacheLoader;
invokevirtual com.google.common.cache.LocalCache.get:(Ljava/lang/Object;Lcom/google/common/cache/CacheLoader;)Ljava/lang/Object;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 30: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 27
31: StackMap locals: com.google.common.cache.LocalCache java.lang.Iterable int int java.util.Map java.util.Set
StackMap stack:
aload 4
invokestatic com.google.common.collect.ImmutableMap.copyOf:(Ljava/util/Map;)Lcom/google/common/collect/ImmutableMap;
astore 11
32: aload 0
getfield com.google.common.cache.LocalCache.globalStatsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
iload 2
invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordHits:(I)V
33: aload 0
getfield com.google.common.cache.LocalCache.globalStatsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
iload 3
invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordMisses:(I)V
34: aload 11
areturn
35: StackMap locals:
StackMap stack: java.lang.Throwable
astore 10
36: aload 0
getfield com.google.common.cache.LocalCache.globalStatsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
iload 2
invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordHits:(I)V
37: aload 0
getfield com.google.common.cache.LocalCache.globalStatsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
iload 3
invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordMisses:(I)V
38: aload 10
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 39 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 39 1 keys Ljava/lang/Iterable<+TK;>;
1 39 2 hits I
2 39 3 misses I
3 39 4 result Ljava/util/Map<TK;TV;>;
4 39 5 keysToLoad Ljava/util/Set<TK;>;
6 14 6 key TK;
7 14 8 value TV;
17 24 6 newEntries Ljava/util/Map<TK;TV;>;
19 23 7 key TK;
20 23 9 value TV;
28 30 6 key TK;
Exception table:
from to target type
16 24 25 Class com.google.common.cache.CacheLoader$UnsupportedLoadingOperationException
15 32 35 any
Exceptions:
throws java.util.concurrent.ExecutionException
Signature: (Ljava/lang/Iterable<+TK;>;)Lcom/google/common/collect/ImmutableMap<TK;TV;>;
MethodParameters:
Name Flags
keys
java.util.Map<K, V> loadAll(java.util.Set<? extends K>, com.google.common.cache.CacheLoader<? super K, V>);
descriptor: (Ljava/util/Set;Lcom/google/common/cache/CacheLoader;)Ljava/util/Map;
flags: (0x0000)
Code:
stack=4, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: invokestatic com.google.common.base.Stopwatch.createStarted:()Lcom/google/common/base/Stopwatch;
astore 3
start local 3 3: iconst_0
istore 5
start local 5 4: aload 2
aload 1
invokevirtual com.google.common.cache.CacheLoader.loadAll:(Ljava/lang/Iterable;)Ljava/util/Map;
astore 6
start local 6 5: aload 6
astore 4
start local 4 6: iconst_1
istore 5
end local 6 7: goto 24
end local 4 StackMap locals: com.google.common.cache.LocalCache java.util.Set com.google.common.cache.CacheLoader com.google.common.base.Stopwatch top int
StackMap stack: com.google.common.cache.CacheLoader$UnsupportedLoadingOperationException
8: astore 6
start local 6 9: iconst_1
istore 5
10: aload 6
athrow
end local 6 11: StackMap locals:
StackMap stack: java.lang.InterruptedException
astore 6
start local 6 12: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
13: new java.util.concurrent.ExecutionException
dup
aload 6
invokespecial java.util.concurrent.ExecutionException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 14: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 6
start local 6 15: new com.google.common.util.concurrent.UncheckedExecutionException
dup
aload 6
invokespecial com.google.common.util.concurrent.UncheckedExecutionException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 16: StackMap locals:
StackMap stack: java.lang.Exception
astore 6
start local 6 17: new java.util.concurrent.ExecutionException
dup
aload 6
invokespecial java.util.concurrent.ExecutionException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 18: StackMap locals:
StackMap stack: java.lang.Error
astore 6
start local 6 19: new com.google.common.util.concurrent.ExecutionError
dup
aload 6
invokespecial com.google.common.util.concurrent.ExecutionError.<init>:(Ljava/lang/Error;)V
athrow
end local 6 20: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
21: iload 5
ifne 23
22: aload 0
getfield com.google.common.cache.LocalCache.globalStatsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
aload 3
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual com.google.common.base.Stopwatch.elapsed:(Ljava/util/concurrent/TimeUnit;)J
invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordLoadException:(J)V
23: StackMap locals: com.google.common.cache.LocalCache java.util.Set com.google.common.cache.CacheLoader com.google.common.base.Stopwatch top int top java.lang.Throwable
StackMap stack:
aload 7
athrow
start local 4 24: StackMap locals: com.google.common.cache.LocalCache java.util.Set com.google.common.cache.CacheLoader com.google.common.base.Stopwatch java.util.Map int
StackMap stack:
iload 5
ifne 26
25: aload 0
getfield com.google.common.cache.LocalCache.globalStatsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
aload 3
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual com.google.common.base.Stopwatch.elapsed:(Ljava/util/concurrent/TimeUnit;)J
invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordLoadException:(J)V
26: StackMap locals:
StackMap stack:
aload 4
ifnonnull 29
27: aload 0
getfield com.google.common.cache.LocalCache.globalStatsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
aload 3
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual com.google.common.base.Stopwatch.elapsed:(Ljava/util/concurrent/TimeUnit;)J
invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordLoadException:(J)V
28: new com.google.common.cache.CacheLoader$InvalidCacheLoadException
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " returned null map from loadAll"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.google.common.cache.CacheLoader$InvalidCacheLoadException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.google.common.base.Stopwatch.stop:()Lcom/google/common/base/Stopwatch;
pop
30: iconst_0
istore 6
start local 6 31: aload 4
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 39
StackMap locals: com.google.common.cache.LocalCache java.util.Set com.google.common.cache.CacheLoader com.google.common.base.Stopwatch java.util.Map int int top java.util.Iterator
StackMap stack:
32: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 7
start local 7 33: aload 7
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
astore 9
start local 9 34: aload 7
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
astore 10
start local 10 35: aload 9
ifnull 36
aload 10
ifnonnull 38
36: StackMap locals: com.google.common.cache.LocalCache java.util.Set com.google.common.cache.CacheLoader com.google.common.base.Stopwatch java.util.Map int int java.util.Map$Entry java.util.Iterator java.lang.Object java.lang.Object
StackMap stack:
iconst_1
istore 6
37: goto 39
38: StackMap locals:
StackMap stack:
aload 0
aload 9
aload 10
invokevirtual com.google.common.cache.LocalCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 10 end local 9 end local 7 39: StackMap locals: com.google.common.cache.LocalCache java.util.Set com.google.common.cache.CacheLoader com.google.common.base.Stopwatch java.util.Map int int top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 32
40: iload 6
ifeq 43
41: aload 0
getfield com.google.common.cache.LocalCache.globalStatsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
aload 3
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual com.google.common.base.Stopwatch.elapsed:(Ljava/util/concurrent/TimeUnit;)J
invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordLoadException:(J)V
42: new com.google.common.cache.CacheLoader$InvalidCacheLoadException
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " returned null keys or values from loadAll"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.google.common.cache.CacheLoader$InvalidCacheLoadException.<init>:(Ljava/lang/String;)V
athrow
43: StackMap locals: com.google.common.cache.LocalCache java.util.Set com.google.common.cache.CacheLoader com.google.common.base.Stopwatch java.util.Map int int
StackMap stack:
aload 0
getfield com.google.common.cache.LocalCache.globalStatsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
aload 3
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual com.google.common.base.Stopwatch.elapsed:(Ljava/util/concurrent/TimeUnit;)J
invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordLoadSuccess:(J)V
44: aload 4
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 45 1 keys Ljava/util/Set<+TK;>;
0 45 2 loader Lcom/google/common/cache/CacheLoader<-TK;TV;>;
3 45 3 stopwatch Lcom/google/common/base/Stopwatch;
6 8 4 result Ljava/util/Map<TK;TV;>;
24 45 4 result Ljava/util/Map<TK;TV;>;
4 45 5 success Z
5 7 6 map Ljava/util/Map<TK;TV;>;
9 11 6 e Lcom/google/common/cache/CacheLoader$UnsupportedLoadingOperationException;
12 14 6 e Ljava/lang/InterruptedException;
15 16 6 e Ljava/lang/RuntimeException;
17 18 6 e Ljava/lang/Exception;
19 20 6 e Ljava/lang/Error;
31 45 6 nullsPresent Z
33 39 7 entry Ljava/util/Map$Entry<TK;TV;>;
34 39 9 key TK;
35 39 10 value TV;
Exception table:
from to target type
4 7 8 Class com.google.common.cache.CacheLoader$UnsupportedLoadingOperationException
4 7 11 Class java.lang.InterruptedException
4 7 14 Class java.lang.RuntimeException
4 7 16 Class java.lang.Exception
4 7 18 Class java.lang.Error
4 20 20 any
Exceptions:
throws java.util.concurrent.ExecutionException
Signature: (Ljava/util/Set<+TK;>;Lcom/google/common/cache/CacheLoader<-TK;TV;>;)Ljava/util/Map<TK;TV;>;
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
keys
loader
com.google.common.cache.ReferenceEntry<K, V> getEntry();
descriptor: (Ljava/lang/Object;)Lcom/google/common/cache/ReferenceEntry;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.google.common.cache.LocalCache.hash:(Ljava/lang/Object;)I
istore 2
start local 2 3: aload 0
iload 2
invokevirtual com.google.common.cache.LocalCache.segmentFor:(I)Lcom/google/common/cache/LocalCache$Segment;
aload 1
iload 2
invokevirtual com.google.common.cache.LocalCache$Segment.getEntry:(Ljava/lang/Object;I)Lcom/google/common/cache/ReferenceEntry;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 4 1 key Ljava/lang/Object;
3 4 2 hash I
Signature: (Ljava/lang/Object;)Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
key
void refresh();
descriptor: (Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual com.google.common.cache.LocalCache.hash:(Ljava/lang/Object;)I
istore 2
start local 2 1: aload 0
iload 2
invokevirtual com.google.common.cache.LocalCache.segmentFor:(I)Lcom/google/common/cache/LocalCache$Segment;
aload 1
iload 2
aload 0
getfield com.google.common.cache.LocalCache.defaultLoader:Lcom/google/common/cache/CacheLoader;
iconst_0
invokevirtual com.google.common.cache.LocalCache$Segment.refresh:(Ljava/lang/Object;ILcom/google/common/cache/CacheLoader;Z)Ljava/lang/Object;
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 3 1 key TK;
1 3 2 hash I
Signature: (TK;)V
MethodParameters:
Name Flags
key
public boolean containsKey(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.google.common.cache.LocalCache.hash:(Ljava/lang/Object;)I
istore 2
start local 2 3: aload 0
iload 2
invokevirtual com.google.common.cache.LocalCache.segmentFor:(I)Lcom/google/common/cache/LocalCache$Segment;
aload 1
iload 2
invokevirtual com.google.common.cache.LocalCache$Segment.containsKey:(Ljava/lang/Object;I)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 4 1 key Ljava/lang/Object;
3 4 2 hash I
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
key
public boolean containsValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=18, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.cache.LocalCache.ticker:Lcom/google/common/base/Ticker;
invokevirtual com.google.common.base.Ticker.read:()J
lstore 2
start local 2 3: aload 0
getfield com.google.common.cache.LocalCache.segments:[Lcom/google/common/cache/LocalCache$Segment;
astore 4
start local 4 4: ldc -1
lstore 5
start local 5 5: iconst_0
istore 7
start local 7 6: goto 30
7: StackMap locals: com.google.common.cache.LocalCache java.lang.Object long com.google.common.cache.LocalCache$Segment[] long int
StackMap stack:
lconst_0
lstore 8
start local 8 8: aload 4
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 25
StackMap locals: com.google.common.cache.LocalCache java.lang.Object long com.google.common.cache.LocalCache$Segment[] long int long top int int com.google.common.cache.LocalCache$Segment[]
StackMap stack:
9: aload 13
iload 11
aaload
astore 10
start local 10 10: aload 10
getfield com.google.common.cache.LocalCache$Segment.count:I
pop
11: aload 10
getfield com.google.common.cache.LocalCache$Segment.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 14
start local 14 12: iconst_0
istore 15
start local 15 13: goto 22
14: StackMap locals: com.google.common.cache.LocalCache java.lang.Object long com.google.common.cache.LocalCache$Segment[] long int long com.google.common.cache.LocalCache$Segment int int com.google.common.cache.LocalCache$Segment[] java.util.concurrent.atomic.AtomicReferenceArray int
StackMap stack:
aload 14
iload 15
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
checkcast com.google.common.cache.ReferenceEntry
astore 16
start local 16 15: goto 20
16: StackMap locals: com.google.common.cache.ReferenceEntry
StackMap stack:
aload 10
aload 16
lload 2
invokevirtual com.google.common.cache.LocalCache$Segment.getLiveValue:(Lcom/google/common/cache/ReferenceEntry;J)Ljava/lang/Object;
astore 17
start local 17 17: aload 17
ifnull 19
aload 0
getfield com.google.common.cache.LocalCache.valueEquivalence:Lcom/google/common/base/Equivalence;
aload 1
aload 17
invokevirtual com.google.common.base.Equivalence.equivalent:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 19
18: iconst_1
ireturn
end local 17 19: StackMap locals:
StackMap stack:
aload 16
invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
astore 16
StackMap locals:
StackMap stack:
20: aload 16
ifnonnull 16
end local 16 21: iinc 15 1
StackMap locals:
StackMap stack:
22: iload 15
aload 14
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
if_icmplt 14
end local 15 23: lload 8
aload 10
getfield com.google.common.cache.LocalCache$Segment.modCount:I
i2l
ladd
lstore 8
end local 14 end local 10 24: iinc 11 1
StackMap locals: com.google.common.cache.LocalCache java.lang.Object long com.google.common.cache.LocalCache$Segment[] long int long top int int com.google.common.cache.LocalCache$Segment[]
StackMap stack:
25: iload 11
iload 12
if_icmplt 9
26: lload 8
lload 5
lcmp
ifne 28
27: goto 31
28: StackMap locals: com.google.common.cache.LocalCache java.lang.Object long com.google.common.cache.LocalCache$Segment[] long int long
StackMap stack:
lload 8
lstore 5
end local 8 29: iinc 7 1
StackMap locals:
StackMap stack:
30: iload 7
iconst_3
if_icmplt 7
end local 7 31: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 32 1 value Ljava/lang/Object;
3 32 2 now J
4 32 4 segments [Lcom/google/common/cache/LocalCache$Segment;
5 32 5 last J
6 31 7 i I
8 29 8 sum J
10 24 10 segment Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
12 24 14 table Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
13 23 15 j I
15 21 16 e Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
17 19 17 v TV;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
value
public V put(K, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 2
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
aload 1
invokevirtual com.google.common.cache.LocalCache.hash:(Ljava/lang/Object;)I
istore 3
start local 3 3: aload 0
iload 3
invokevirtual com.google.common.cache.LocalCache.segmentFor:(I)Lcom/google/common/cache/LocalCache$Segment;
aload 1
iload 3
aload 2
iconst_0
invokevirtual com.google.common.cache.LocalCache$Segment.put:(Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 4 1 key TK;
0 4 2 value TV;
3 4 3 hash I
Signature: (TK;TV;)TV;
MethodParameters:
Name Flags
key
value
public V putIfAbsent(K, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 2
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
aload 1
invokevirtual com.google.common.cache.LocalCache.hash:(Ljava/lang/Object;)I
istore 3
start local 3 3: aload 0
iload 3
invokevirtual com.google.common.cache.LocalCache.segmentFor:(I)Lcom/google/common/cache/LocalCache$Segment;
aload 1
iload 3
aload 2
iconst_1
invokevirtual com.google.common.cache.LocalCache$Segment.put:(Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 4 1 key TK;
0 4 2 value TV;
3 4 3 hash I
Signature: (TK;TV;)TV;
MethodParameters:
Name Flags
key
value
public V compute(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 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 2
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
aload 1
invokevirtual com.google.common.cache.LocalCache.hash:(Ljava/lang/Object;)I
istore 3
start local 3 3: aload 0
iload 3
invokevirtual com.google.common.cache.LocalCache.segmentFor:(I)Lcom/google/common/cache/LocalCache$Segment;
aload 1
iload 3
aload 2
invokevirtual com.google.common.cache.LocalCache$Segment.compute:(Ljava/lang/Object;ILjava/util/function/BiFunction;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 4 1 key TK;
0 4 2 function Ljava/util/function/BiFunction<-TK;-TV;+TV;>;
3 4 3 hash I
Signature: (TK;Ljava/util/function/BiFunction<-TK;-TV;+TV;>;)TV;
MethodParameters:
Name Flags
key
function
public V computeIfAbsent(K, java.util.function.Function<? super K, ? extends V>);
descriptor: (Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 2
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
aload 1
aload 2
aload 1
invokedynamic apply(Ljava/util/function/Function;Ljava/lang/Object;)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;
com/google/common/cache/LocalCache.lambda$0(Ljava/util/function/Function;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; (6)
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual com.google.common.cache.LocalCache.compute:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 3 1 key TK;
0 3 2 function Ljava/util/function/Function<-TK;+TV;>;
Signature: (TK;Ljava/util/function/Function<-TK;+TV;>;)TV;
MethodParameters:
Name Flags
key
function
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=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 2
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
aload 1
aload 2
invokedynamic apply(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;
com/google/common/cache/LocalCache.lambda$1(Ljava/util/function/BiFunction;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; (6)
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual com.google.common.cache.LocalCache.compute:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 3 1 key TK;
0 3 2 function Ljava/util/function/BiFunction<-TK;-TV;+TV;>;
Signature: (TK;Ljava/util/function/BiFunction<-TK;-TV;+TV;>;)TV;
MethodParameters:
Name Flags
key
function
public V merge(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 2
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 3
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 0
4: aload 1
aload 2
aload 3
invokedynamic apply(Ljava/lang/Object;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;
com/google/common/cache/LocalCache.lambda$2(Ljava/lang/Object;Ljava/util/function/BiFunction;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; (6)
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
5: invokevirtual com.google.common.cache.LocalCache.compute:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 6 1 key TK;
0 6 2 newValue TV;
0 6 3 function Ljava/util/function/BiFunction<-TV;-TV;+TV;>;
Signature: (TK;TV;Ljava/util/function/BiFunction<-TV;-TV;+TV;>;)TV;
MethodParameters:
Name Flags
key
newValue
function
public void putAll(java.util.Map<? extends K, ? extends V>);
descriptor: (Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 3
StackMap locals: com.google.common.cache.LocalCache java.util.Map top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 2: aload 0
aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
invokevirtual com.google.common.cache.LocalCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 2 3: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 5 1 m Ljava/util/Map<+TK;+TV;>;
2 3 2 e Ljava/util/Map$Entry<+TK;+TV;>;
Signature: (Ljava/util/Map<+TK;+TV;>;)V
MethodParameters:
Name Flags
m
public V remove();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.google.common.cache.LocalCache.hash:(Ljava/lang/Object;)I
istore 2
start local 2 3: aload 0
iload 2
invokevirtual com.google.common.cache.LocalCache.segmentFor:(I)Lcom/google/common/cache/LocalCache$Segment;
aload 1
iload 2
invokevirtual com.google.common.cache.LocalCache$Segment.remove:(Ljava/lang/Object;I)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 4 1 key Ljava/lang/Object;
3 4 2 hash I
Signature: (Ljava/lang/Object;)TV;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
key
public boolean remove(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 1
aload 2
ifnonnull 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.google.common.cache.LocalCache.hash:(Ljava/lang/Object;)I
istore 3
start local 3 3: aload 0
iload 3
invokevirtual com.google.common.cache.LocalCache.segmentFor:(I)Lcom/google/common/cache/LocalCache$Segment;
aload 1
iload 3
aload 2
invokevirtual com.google.common.cache.LocalCache$Segment.remove:(Ljava/lang/Object;ILjava/lang/Object;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 4 1 key Ljava/lang/Object;
0 4 2 value Ljava/lang/Object;
3 4 3 hash I
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
key
value
public boolean replace(K, V, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
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 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 3
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 2
ifnonnull 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.google.common.cache.LocalCache.hash:(Ljava/lang/Object;)I
istore 4
start local 4 5: aload 0
iload 4
invokevirtual com.google.common.cache.LocalCache.segmentFor:(I)Lcom/google/common/cache/LocalCache$Segment;
aload 1
iload 4
aload 2
aload 3
invokevirtual com.google.common.cache.LocalCache$Segment.replace:(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 6 1 key TK;
0 6 2 oldValue TV;
0 6 3 newValue TV;
5 6 4 hash I
Signature: (TK;TV;TV;)Z
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
key
oldValue
newValue
public V replace(K, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)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 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 2
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
aload 1
invokevirtual com.google.common.cache.LocalCache.hash:(Ljava/lang/Object;)I
istore 3
start local 3 3: aload 0
iload 3
invokevirtual com.google.common.cache.LocalCache.segmentFor:(I)Lcom/google/common/cache/LocalCache$Segment;
aload 1
iload 3
aload 2
invokevirtual com.google.common.cache.LocalCache$Segment.replace:(Ljava/lang/Object;ILjava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 4 1 key TK;
0 4 2 value TV;
3 4 3 hash I
Signature: (TK;TV;)TV;
MethodParameters:
Name Flags
key
value
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
getfield com.google.common.cache.LocalCache.segments:[Lcom/google/common/cache/LocalCache$Segment;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 4
StackMap locals: com.google.common.cache.LocalCache top int int com.google.common.cache.LocalCache$Segment[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
invokevirtual com.google.common.cache.LocalCache$Segment.clear:()V
end local 1 3: iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
iload 3
if_icmplt 1
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
2 3 1 segment Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
void invalidateAll(java.lang.Iterable<?>);
descriptor: (Ljava/lang/Iterable;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 3
goto 3
StackMap locals: com.google.common.cache.LocalCache java.lang.Iterable top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 2
start local 2 2: aload 0
aload 2
invokevirtual com.google.common.cache.LocalCache.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 2 3: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 5 1 keys Ljava/lang/Iterable<*>;
2 3 2 key Ljava/lang/Object;
Signature: (Ljava/lang/Iterable<*>;)V
MethodParameters:
Name Flags
keys
public java.util.Set<K> keySet();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield com.google.common.cache.LocalCache.keySet:Ljava/util/Set;
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
goto 3
StackMap locals: java.util.Set
StackMap stack:
2: aload 0
new com.google.common.cache.LocalCache$KeySet
dup
aload 0
aload 0
invokespecial com.google.common.cache.LocalCache$KeySet.<init>:(Lcom/google/common/cache/LocalCache;Ljava/util/concurrent/ConcurrentMap;)V
dup_x1
putfield com.google.common.cache.LocalCache.keySet:Ljava/util/Set;
StackMap locals:
StackMap stack: java.util.Set
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
1 4 1 ks Ljava/util/Set<TK;>;
Signature: ()Ljava/util/Set<TK;>;
public java.util.Collection<V> values();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield com.google.common.cache.LocalCache.values:Ljava/util/Collection;
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
goto 3
StackMap locals: java.util.Collection
StackMap stack:
2: aload 0
new com.google.common.cache.LocalCache$Values
dup
aload 0
aload 0
invokespecial com.google.common.cache.LocalCache$Values.<init>:(Lcom/google/common/cache/LocalCache;Ljava/util/concurrent/ConcurrentMap;)V
dup_x1
putfield com.google.common.cache.LocalCache.values:Ljava/util/Collection;
StackMap locals:
StackMap stack: java.util.Collection
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
1 4 1 vs Ljava/util/Collection<TV;>;
Signature: ()Ljava/util/Collection<TV;>;
public java.util.Set<java.util.Map$Entry<K, V>> entrySet();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield com.google.common.cache.LocalCache.entrySet:Ljava/util/Set;
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
goto 3
StackMap locals: java.util.Set
StackMap stack:
2: aload 0
new com.google.common.cache.LocalCache$EntrySet
dup
aload 0
aload 0
invokespecial com.google.common.cache.LocalCache$EntrySet.<init>:(Lcom/google/common/cache/LocalCache;Ljava/util/concurrent/ConcurrentMap;)V
dup_x1
putfield com.google.common.cache.LocalCache.entrySet:Ljava/util/Set;
StackMap locals:
StackMap stack: java.util.Set
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
1 4 1 es Ljava/util/Set<Ljava/util/Map$Entry<TK;TV;>;>;
Signature: ()Ljava/util/Set<Ljava/util/Map$Entry<TK;TV;>;>;
RuntimeInvisibleAnnotations:
com.google.common.annotations.GwtIncompatible()
private static <E> java.util.ArrayList<E> toArrayList(java.util.Collection<E>);
descriptor: (Ljava/util/Collection;)Ljava/util/ArrayList;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.util.ArrayList
dup
aload 0
invokeinterface java.util.Collection.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 1
start local 1 1: aload 1
aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokestatic com.google.common.collect.Iterators.addAll:(Ljava/util/Collection;Ljava/util/Iterator;)Z
pop
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 c Ljava/util/Collection<TE;>;
1 3 1 result Ljava/util/ArrayList<TE;>;
Signature: <E:Ljava/lang/Object;>(Ljava/util/Collection<TE;>;)Ljava/util/ArrayList<TE;>;
MethodParameters:
Name Flags
c
boolean removeIf(java.util.function.BiPredicate<? super K, ? super V>);
descriptor: (Ljava/util/function/BiPredicate;)Z
flags: (0x0000)
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: iconst_0
istore 2
start local 2 2: aload 0
invokevirtual com.google.common.cache.LocalCache.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: com.google.common.cache.LocalCache java.util.function.BiPredicate int top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Object
astore 3
start local 3 4: StackMap locals: com.google.common.cache.LocalCache java.util.function.BiPredicate int java.lang.Object java.util.Iterator
StackMap stack:
aload 0
aload 3
invokevirtual com.google.common.cache.LocalCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 5: aload 5
ifnull 9
aload 1
aload 3
aload 5
invokeinterface java.util.function.BiPredicate.test:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 7
6: goto 9
7: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 3
aload 5
invokevirtual com.google.common.cache.LocalCache.remove:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 4
8: iconst_1
istore 2
end local 5 end local 3 9: StackMap locals: com.google.common.cache.LocalCache java.util.function.BiPredicate int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
10: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/google/common/cache/LocalCache<TK;TV;>;
0 11 1 filter Ljava/util/function/BiPredicate<-TK;-TV;>;
2 11 2 changed Z
4 9 3 key TK;
5 9 5 value TV;
Signature: (Ljava/util/function/BiPredicate<-TK;-TV;>;)Z
MethodParameters:
Name Flags
filter
private static java.lang.Object lambda$0(java.util.function.Function, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/util/function/Function;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=4, args_size=4
start local 2 start local 3 0: aload 3
ifnonnull 1
aload 0
aload 1
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
goto 2
StackMap locals:
StackMap stack:
1: aload 3
StackMap locals:
StackMap stack: java.lang.Object
2: areturn
end local 3 end local 2 LocalVariableTable:
Start End Slot Name Signature
0 3 2 k TK;
0 3 3 oldValue TV;
private static java.lang.Object lambda$1(java.util.function.BiFunction, java.lang.Object, java.lang.Object);
descriptor: (Ljava/util/function/BiFunction;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 1 start local 2 0: aload 2
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 0
aload 1
aload 2
invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
2: areturn
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 k TK;
0 3 2 oldValue TV;
private static java.lang.Object lambda$2(java.lang.Object, java.util.function.BiFunction, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/util/function/BiFunction;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=4, args_size=4
start local 2 start local 3 0: aload 3
ifnonnull 1
aload 0
goto 2
StackMap locals:
StackMap stack:
1: aload 1
aload 3
aload 0
invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
2: areturn
end local 3 end local 2 LocalVariableTable:
Start End Slot Name Signature
0 3 2 k TK;
0 3 3 oldValue TV;
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/AbstractMap<TK;TV;>;Ljava/util/concurrent/ConcurrentMap<TK;TV;>;
SourceFile: "LocalCache.java"
NestMembers:
com.google.common.cache.LocalCache$1 com.google.common.cache.LocalCache$2 com.google.common.cache.LocalCache$AbstractCacheSet com.google.common.cache.LocalCache$AbstractReferenceEntry com.google.common.cache.LocalCache$AccessQueue com.google.common.cache.LocalCache$AccessQueue$1 com.google.common.cache.LocalCache$AccessQueue$2 com.google.common.cache.LocalCache$EntryFactory com.google.common.cache.LocalCache$EntryFactory$1 com.google.common.cache.LocalCache$EntryFactory$2 com.google.common.cache.LocalCache$EntryFactory$3 com.google.common.cache.LocalCache$EntryFactory$4 com.google.common.cache.LocalCache$EntryFactory$5 com.google.common.cache.LocalCache$EntryFactory$6 com.google.common.cache.LocalCache$EntryFactory$7 com.google.common.cache.LocalCache$EntryFactory$8 com.google.common.cache.LocalCache$EntryIterator com.google.common.cache.LocalCache$EntrySet com.google.common.cache.LocalCache$HashIterator com.google.common.cache.LocalCache$KeyIterator com.google.common.cache.LocalCache$KeySet com.google.common.cache.LocalCache$LoadingSerializationProxy com.google.common.cache.LocalCache$LoadingValueReference com.google.common.cache.LocalCache$LoadingValueReference$1 com.google.common.cache.LocalCache$LocalLoadingCache com.google.common.cache.LocalCache$LocalManualCache com.google.common.cache.LocalCache$LocalManualCache$1 com.google.common.cache.LocalCache$ManualSerializationProxy com.google.common.cache.LocalCache$NullEntry com.google.common.cache.LocalCache$Segment com.google.common.cache.LocalCache$Segment$1 com.google.common.cache.LocalCache$SoftValueReference com.google.common.cache.LocalCache$Strength com.google.common.cache.LocalCache$Strength$1 com.google.common.cache.LocalCache$Strength$2 com.google.common.cache.LocalCache$Strength$3 com.google.common.cache.LocalCache$StrongAccessEntry com.google.common.cache.LocalCache$StrongAccessWriteEntry com.google.common.cache.LocalCache$StrongEntry com.google.common.cache.LocalCache$StrongValueReference com.google.common.cache.LocalCache$StrongWriteEntry com.google.common.cache.LocalCache$ValueIterator com.google.common.cache.LocalCache$ValueReference com.google.common.cache.LocalCache$Values com.google.common.cache.LocalCache$WeakAccessEntry com.google.common.cache.LocalCache$WeakAccessWriteEntry com.google.common.cache.LocalCache$WeakEntry com.google.common.cache.LocalCache$WeakValueReference com.google.common.cache.LocalCache$WeakWriteEntry com.google.common.cache.LocalCache$WeightedSoftValueReference com.google.common.cache.LocalCache$WeightedStrongValueReference com.google.common.cache.LocalCache$WeightedWeakValueReference com.google.common.cache.LocalCache$WriteQueue com.google.common.cache.LocalCache$WriteQueue$1 com.google.common.cache.LocalCache$WriteQueue$2 com.google.common.cache.LocalCache$WriteThroughEntry
InnerClasses:
public abstract StatsCounter = com.google.common.cache.AbstractCache$StatsCounter of com.google.common.cache.AbstractCache
final NullListener = com.google.common.cache.CacheBuilder$NullListener of com.google.common.cache.CacheBuilder
final OneWeigher = com.google.common.cache.CacheBuilder$OneWeigher of com.google.common.cache.CacheBuilder
public final InvalidCacheLoadException = com.google.common.cache.CacheLoader$InvalidCacheLoadException of com.google.common.cache.CacheLoader
public final UnsupportedLoadingOperationException = com.google.common.cache.CacheLoader$UnsupportedLoadingOperationException of com.google.common.cache.CacheLoader
com.google.common.cache.LocalCache$1
com.google.common.cache.LocalCache$2
abstract AbstractCacheSet = com.google.common.cache.LocalCache$AbstractCacheSet of com.google.common.cache.LocalCache
abstract AbstractReferenceEntry = com.google.common.cache.LocalCache$AbstractReferenceEntry of com.google.common.cache.LocalCache
final AccessQueue = com.google.common.cache.LocalCache$AccessQueue of com.google.common.cache.LocalCache
abstract EntryFactory = com.google.common.cache.LocalCache$EntryFactory of com.google.common.cache.LocalCache
final EntryIterator = com.google.common.cache.LocalCache$EntryIterator of com.google.common.cache.LocalCache
final EntrySet = com.google.common.cache.LocalCache$EntrySet of com.google.common.cache.LocalCache
abstract HashIterator = com.google.common.cache.LocalCache$HashIterator of com.google.common.cache.LocalCache
final KeyIterator = com.google.common.cache.LocalCache$KeyIterator of com.google.common.cache.LocalCache
final KeySet = com.google.common.cache.LocalCache$KeySet of com.google.common.cache.LocalCache
final LoadingSerializationProxy = com.google.common.cache.LocalCache$LoadingSerializationProxy of com.google.common.cache.LocalCache
LoadingValueReference = com.google.common.cache.LocalCache$LoadingValueReference of com.google.common.cache.LocalCache
LocalLoadingCache = com.google.common.cache.LocalCache$LocalLoadingCache of com.google.common.cache.LocalCache
LocalManualCache = com.google.common.cache.LocalCache$LocalManualCache of com.google.common.cache.LocalCache
ManualSerializationProxy = com.google.common.cache.LocalCache$ManualSerializationProxy of com.google.common.cache.LocalCache
private final NullEntry = com.google.common.cache.LocalCache$NullEntry of com.google.common.cache.LocalCache
Segment = com.google.common.cache.LocalCache$Segment of com.google.common.cache.LocalCache
SoftValueReference = com.google.common.cache.LocalCache$SoftValueReference of com.google.common.cache.LocalCache
abstract Strength = com.google.common.cache.LocalCache$Strength of com.google.common.cache.LocalCache
final StrongAccessEntry = com.google.common.cache.LocalCache$StrongAccessEntry of com.google.common.cache.LocalCache
final StrongAccessWriteEntry = com.google.common.cache.LocalCache$StrongAccessWriteEntry of com.google.common.cache.LocalCache
StrongEntry = com.google.common.cache.LocalCache$StrongEntry of com.google.common.cache.LocalCache
StrongValueReference = com.google.common.cache.LocalCache$StrongValueReference of com.google.common.cache.LocalCache
final StrongWriteEntry = com.google.common.cache.LocalCache$StrongWriteEntry of com.google.common.cache.LocalCache
final ValueIterator = com.google.common.cache.LocalCache$ValueIterator of com.google.common.cache.LocalCache
abstract ValueReference = com.google.common.cache.LocalCache$ValueReference of com.google.common.cache.LocalCache
final Values = com.google.common.cache.LocalCache$Values of com.google.common.cache.LocalCache
final WeakAccessEntry = com.google.common.cache.LocalCache$WeakAccessEntry of com.google.common.cache.LocalCache
final WeakAccessWriteEntry = com.google.common.cache.LocalCache$WeakAccessWriteEntry of com.google.common.cache.LocalCache
WeakEntry = com.google.common.cache.LocalCache$WeakEntry of com.google.common.cache.LocalCache
WeakValueReference = com.google.common.cache.LocalCache$WeakValueReference of com.google.common.cache.LocalCache
final WeakWriteEntry = com.google.common.cache.LocalCache$WeakWriteEntry of com.google.common.cache.LocalCache
final WeightedSoftValueReference = com.google.common.cache.LocalCache$WeightedSoftValueReference of com.google.common.cache.LocalCache
final WeightedStrongValueReference = com.google.common.cache.LocalCache$WeightedStrongValueReference of com.google.common.cache.LocalCache
final WeightedWeakValueReference = com.google.common.cache.LocalCache$WeightedWeakValueReference of com.google.common.cache.LocalCache
final WriteQueue = com.google.common.cache.LocalCache$WriteQueue of com.google.common.cache.LocalCache
final WriteThroughEntry = com.google.common.cache.LocalCache$WriteThroughEntry of com.google.common.cache.LocalCache
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
RuntimeInvisibleAnnotations:
com.google.common.annotations.GwtCompatible(emulated = true)