public class org.apache.lucene.search.LRUQueryCache implements org.apache.lucene.search.QueryCache, org.apache.lucene.util.Accountable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.lucene.search.LRUQueryCache
super_class: java.lang.Object
{
private final int maxSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long maxRamBytesUsed;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.function.Predicate<org.apache.lucene.index.LeafReaderContext> leavesToCache;
descriptor: Ljava/util/function/Predicate;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/function/Predicate<Lorg/apache/lucene/index/LeafReaderContext;>;
private final java.util.Map<org.apache.lucene.search.Query, org.apache.lucene.search.Query> uniqueQueries;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lorg/apache/lucene/search/Query;Lorg/apache/lucene/search/Query;>;
private final java.util.Set<org.apache.lucene.search.Query> mostRecentlyUsedQueries;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Lorg/apache/lucene/search/Query;>;
private final java.util.Map<org.apache.lucene.index.IndexReader$CacheKey, org.apache.lucene.search.LRUQueryCache$LeafCache> cache;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lorg/apache/lucene/index/IndexReader$CacheKey;Lorg/apache/lucene/search/LRUQueryCache$LeafCache;>;
private final java.util.concurrent.locks.ReentrantLock lock;
descriptor: Ljava/util/concurrent/locks/ReentrantLock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile long ramBytesUsed;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile long hitCount;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile long missCount;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile long cacheCount;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile long cacheSize;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/lucene/search/LRUQueryCache;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.apache.lucene.search.LRUQueryCache.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(int, long, java.util.function.Predicate<org.apache.lucene.index.LeafReaderContext>);
descriptor: (IJLjava/util/function/Predicate;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield org.apache.lucene.search.LRUQueryCache.maxSize:I
2: aload 0
lload 2
putfield org.apache.lucene.search.LRUQueryCache.maxRamBytesUsed:J
3: aload 0
aload 4
putfield org.apache.lucene.search.LRUQueryCache.leavesToCache:Ljava/util/function/Predicate;
4: aload 0
new java.util.LinkedHashMap
dup
bipush 16
ldc 0.75
iconst_1
invokespecial java.util.LinkedHashMap.<init>:(IFZ)V
putfield org.apache.lucene.search.LRUQueryCache.uniqueQueries:Ljava/util/Map;
5: aload 0
aload 0
getfield org.apache.lucene.search.LRUQueryCache.uniqueQueries:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
putfield org.apache.lucene.search.LRUQueryCache.mostRecentlyUsedQueries:Ljava/util/Set;
6: aload 0
new java.util.IdentityHashMap
dup
invokespecial java.util.IdentityHashMap.<init>:()V
putfield org.apache.lucene.search.LRUQueryCache.cache:Ljava/util/Map;
7: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
8: aload 0
lconst_0
putfield org.apache.lucene.search.LRUQueryCache.ramBytesUsed:J
9: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/lucene/search/LRUQueryCache;
0 10 1 maxSize I
0 10 2 maxRamBytesUsed J
0 10 4 leavesToCache Ljava/util/function/Predicate<Lorg/apache/lucene/index/LeafReaderContext;>;
Signature: (IJLjava/util/function/Predicate<Lorg/apache/lucene/index/LeafReaderContext;>;)V
MethodParameters:
Name Flags
maxSize
maxRamBytesUsed
leavesToCache
public void <init>(int, long);
descriptor: (IJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
lload 2
new org.apache.lucene.search.LRUQueryCache$MinSegmentSizePredicate
dup
sipush 10000
ldc 0.03
invokespecial org.apache.lucene.search.LRUQueryCache$MinSegmentSizePredicate.<init>:(IF)V
invokespecial org.apache.lucene.search.LRUQueryCache.<init>:(IJLjava/util/function/Predicate;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/lucene/search/LRUQueryCache;
0 2 1 maxSize I
0 2 2 maxRamBytesUsed J
MethodParameters:
Name Flags
maxSize
maxRamBytesUsed
protected void onHit(java.lang.Object, org.apache.lucene.search.Query);
descriptor: (Ljava/lang/Object;Lorg/apache/lucene/search/Query;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.apache.lucene.search.LRUQueryCache.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.isHeldByCurrentThread:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.apache.lucene.search.LRUQueryCache.hitCount:J
lconst_1
ladd
putfield org.apache.lucene.search.LRUQueryCache.hitCount:J
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/lucene/search/LRUQueryCache;
0 3 1 readerCoreKey Ljava/lang/Object;
0 3 2 query Lorg/apache/lucene/search/Query;
MethodParameters:
Name Flags
readerCoreKey
query
protected void onMiss(java.lang.Object, org.apache.lucene.search.Query);
descriptor: (Ljava/lang/Object;Lorg/apache/lucene/search/Query;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.apache.lucene.search.LRUQueryCache.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.isHeldByCurrentThread:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.apache.lucene.search.LRUQueryCache.$assertionsDisabled:Z
ifne 2
aload 2
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.apache.lucene.search.LRUQueryCache.missCount:J
lconst_1
ladd
putfield org.apache.lucene.search.LRUQueryCache.missCount:J
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/lucene/search/LRUQueryCache;
0 4 1 readerCoreKey Ljava/lang/Object;
0 4 2 query Lorg/apache/lucene/search/Query;
MethodParameters:
Name Flags
readerCoreKey
query
protected void onQueryCache(org.apache.lucene.search.Query, long);
descriptor: (Lorg/apache/lucene/search/Query;J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.apache.lucene.search.LRUQueryCache.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.isHeldByCurrentThread:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.apache.lucene.search.LRUQueryCache.ramBytesUsed:J
lload 2
ladd
putfield org.apache.lucene.search.LRUQueryCache.ramBytesUsed:J
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/lucene/search/LRUQueryCache;
0 3 1 query Lorg/apache/lucene/search/Query;
0 3 2 ramBytesUsed J
MethodParameters:
Name Flags
query
ramBytesUsed
protected void onQueryEviction(org.apache.lucene.search.Query, long);
descriptor: (Lorg/apache/lucene/search/Query;J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.apache.lucene.search.LRUQueryCache.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.isHeldByCurrentThread:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.apache.lucene.search.LRUQueryCache.ramBytesUsed:J
lload 2
lsub
putfield org.apache.lucene.search.LRUQueryCache.ramBytesUsed:J
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/lucene/search/LRUQueryCache;
0 3 1 query Lorg/apache/lucene/search/Query;
0 3 2 ramBytesUsed J
MethodParameters:
Name Flags
query
ramBytesUsed
protected void onDocIdSetCache(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.apache.lucene.search.LRUQueryCache.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.isHeldByCurrentThread:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.apache.lucene.search.LRUQueryCache.cacheSize:J
lconst_1
ladd
putfield org.apache.lucene.search.LRUQueryCache.cacheSize:J
2: aload 0
dup
getfield org.apache.lucene.search.LRUQueryCache.cacheCount:J
lconst_1
ladd
putfield org.apache.lucene.search.LRUQueryCache.cacheCount:J
3: aload 0
dup
getfield org.apache.lucene.search.LRUQueryCache.ramBytesUsed:J
lload 2
ladd
putfield org.apache.lucene.search.LRUQueryCache.ramBytesUsed:J
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/lucene/search/LRUQueryCache;
0 5 1 readerCoreKey Ljava/lang/Object;
0 5 2 ramBytesUsed J
MethodParameters:
Name Flags
readerCoreKey
ramBytesUsed
protected void onDocIdSetEviction(java.lang.Object, int, long);
descriptor: (Ljava/lang/Object;IJ)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.apache.lucene.search.LRUQueryCache.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.isHeldByCurrentThread:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.apache.lucene.search.LRUQueryCache.ramBytesUsed:J
lload 3
lsub
putfield org.apache.lucene.search.LRUQueryCache.ramBytesUsed:J
2: aload 0
dup
getfield org.apache.lucene.search.LRUQueryCache.cacheSize:J
iload 2
i2l
lsub
putfield org.apache.lucene.search.LRUQueryCache.cacheSize:J
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/lucene/search/LRUQueryCache;
0 4 1 readerCoreKey Ljava/lang/Object;
0 4 2 numEntries I
0 4 3 sumRamBytesUsed J
MethodParameters:
Name Flags
readerCoreKey
numEntries
sumRamBytesUsed
protected void onClear();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic org.apache.lucene.search.LRUQueryCache.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.isHeldByCurrentThread:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
lconst_0
putfield org.apache.lucene.search.LRUQueryCache.ramBytesUsed:J
2: aload 0
lconst_0
putfield org.apache.lucene.search.LRUQueryCache.cacheSize:J
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/lucene/search/LRUQueryCache;
boolean requiresEviction();
descriptor: ()Z
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 0: getstatic org.apache.lucene.search.LRUQueryCache.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.isHeldByCurrentThread:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.search.LRUQueryCache.mostRecentlyUsedQueries:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
istore 1
start local 1 2: iload 1
ifne 4
3: iconst_0
ireturn
4: StackMap locals: int
StackMap stack:
iload 1
aload 0
getfield org.apache.lucene.search.LRUQueryCache.maxSize:I
if_icmpgt 5
aload 0
invokevirtual org.apache.lucene.search.LRUQueryCache.ramBytesUsed:()J
aload 0
getfield org.apache.lucene.search.LRUQueryCache.maxRamBytesUsed:J
lcmp
ifgt 5
iconst_0
ireturn
StackMap locals:
StackMap stack:
5: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/lucene/search/LRUQueryCache;
2 6 1 size I
org.apache.lucene.search.DocIdSet get(org.apache.lucene.search.Query, org.apache.lucene.index.LeafReaderContext, org.apache.lucene.index.IndexReader$CacheHelper);
descriptor: (Lorg/apache/lucene/search/Query;Lorg/apache/lucene/index/LeafReaderContext;Lorg/apache/lucene/index/IndexReader$CacheHelper;)Lorg/apache/lucene/search/DocIdSet;
flags: (0x0000)
Code:
stack=3, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.apache.lucene.search.LRUQueryCache.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.isHeldByCurrentThread:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.apache.lucene.search.LRUQueryCache.$assertionsDisabled:Z
ifne 2
aload 1
instanceof org.apache.lucene.search.BoostQuery
ifeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
getstatic org.apache.lucene.search.LRUQueryCache.$assertionsDisabled:Z
ifne 3
aload 1
instanceof org.apache.lucene.search.ConstantScoreQuery
ifeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.apache.lucene.index.IndexReader$CacheHelper.getKey:()Lorg/apache/lucene/index/IndexReader$CacheKey;
astore 4
start local 4 4: aload 0
getfield org.apache.lucene.search.LRUQueryCache.cache:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.lucene.search.LRUQueryCache$LeafCache
astore 5
start local 5 5: aload 5
ifnonnull 8
6: aload 0
aload 4
aload 1
invokevirtual org.apache.lucene.search.LRUQueryCache.onMiss:(Ljava/lang/Object;Lorg/apache/lucene/search/Query;)V
7: aconst_null
areturn
8: StackMap locals: org.apache.lucene.index.IndexReader$CacheKey org.apache.lucene.search.LRUQueryCache$LeafCache
StackMap stack:
aload 0
getfield org.apache.lucene.search.LRUQueryCache.uniqueQueries:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.lucene.search.Query
astore 6
start local 6 9: aload 6
ifnonnull 12
10: aload 0
aload 4
aload 1
invokevirtual org.apache.lucene.search.LRUQueryCache.onMiss:(Ljava/lang/Object;Lorg/apache/lucene/search/Query;)V
11: aconst_null
areturn
12: StackMap locals: org.apache.lucene.search.Query
StackMap stack:
aload 5
aload 6
invokevirtual org.apache.lucene.search.LRUQueryCache$LeafCache.get:(Lorg/apache/lucene/search/Query;)Lorg/apache/lucene/search/DocIdSet;
astore 7
start local 7 13: aload 7
ifnonnull 16
14: aload 0
aload 4
aload 6
invokevirtual org.apache.lucene.search.LRUQueryCache.onMiss:(Ljava/lang/Object;Lorg/apache/lucene/search/Query;)V
15: goto 17
16: StackMap locals: org.apache.lucene.search.DocIdSet
StackMap stack:
aload 0
aload 4
aload 6
invokevirtual org.apache.lucene.search.LRUQueryCache.onHit:(Ljava/lang/Object;Lorg/apache/lucene/search/Query;)V
17: StackMap locals:
StackMap stack:
aload 7
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/apache/lucene/search/LRUQueryCache;
0 18 1 key Lorg/apache/lucene/search/Query;
0 18 2 context Lorg/apache/lucene/index/LeafReaderContext;
0 18 3 cacheHelper Lorg/apache/lucene/index/IndexReader$CacheHelper;
4 18 4 readerKey Lorg/apache/lucene/index/IndexReader$CacheKey;
5 18 5 leafCache Lorg/apache/lucene/search/LRUQueryCache$LeafCache;
9 18 6 singleton Lorg/apache/lucene/search/Query;
13 18 7 cached Lorg/apache/lucene/search/DocIdSet;
MethodParameters:
Name Flags
key
context
cacheHelper
void putIfAbsent(org.apache.lucene.search.Query, org.apache.lucene.index.LeafReaderContext, org.apache.lucene.search.DocIdSet, org.apache.lucene.index.IndexReader$CacheHelper);
descriptor: (Lorg/apache/lucene/search/Query;Lorg/apache/lucene/index/LeafReaderContext;Lorg/apache/lucene/search/DocIdSet;Lorg/apache/lucene/index/IndexReader$CacheHelper;)V
flags: (0x0000)
Code:
stack=6, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic org.apache.lucene.search.LRUQueryCache.$assertionsDisabled:Z
ifne 1
aload 1
instanceof org.apache.lucene.search.BoostQuery
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.apache.lucene.search.LRUQueryCache.$assertionsDisabled:Z
ifne 2
aload 1
instanceof org.apache.lucene.search.ConstantScoreQuery
ifeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
3: aload 0
getfield org.apache.lucene.search.LRUQueryCache.uniqueQueries:Ljava/util/Map;
aload 1
aload 1
invokeinterface java.util.Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.lucene.search.Query
astore 5
start local 5 4: aload 5
ifnonnull 7
5: aload 0
aload 1
getstatic org.apache.lucene.util.RamUsageEstimator.LINKED_HASHTABLE_RAM_BYTES_PER_ENTRY:J
ldc 1024
ladd
invokevirtual org.apache.lucene.search.LRUQueryCache.onQueryCache:(Lorg/apache/lucene/search/Query;J)V
6: goto 8
7: StackMap locals: org.apache.lucene.search.Query
StackMap stack:
aload 5
astore 1
8: StackMap locals:
StackMap stack:
aload 4
invokeinterface org.apache.lucene.index.IndexReader$CacheHelper.getKey:()Lorg/apache/lucene/index/IndexReader$CacheKey;
astore 6
start local 6 9: aload 0
getfield org.apache.lucene.search.LRUQueryCache.cache:Ljava/util/Map;
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.lucene.search.LRUQueryCache$LeafCache
astore 7
start local 7 10: aload 7
ifnonnull 16
11: new org.apache.lucene.search.LRUQueryCache$LeafCache
dup
aload 0
aload 6
invokespecial org.apache.lucene.search.LRUQueryCache$LeafCache.<init>:(Lorg/apache/lucene/search/LRUQueryCache;Ljava/lang/Object;)V
astore 7
12: aload 0
getfield org.apache.lucene.search.LRUQueryCache.cache:Ljava/util/Map;
aload 6
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.lucene.search.LRUQueryCache$LeafCache
astore 8
start local 8 13: aload 0
dup
getfield org.apache.lucene.search.LRUQueryCache.ramBytesUsed:J
getstatic org.apache.lucene.util.RamUsageEstimator.HASHTABLE_RAM_BYTES_PER_ENTRY:J
ladd
putfield org.apache.lucene.search.LRUQueryCache.ramBytesUsed:J
14: getstatic org.apache.lucene.search.LRUQueryCache.$assertionsDisabled:Z
ifne 15
aload 8
ifnull 15
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
15: StackMap locals: org.apache.lucene.index.IndexReader$CacheKey org.apache.lucene.search.LRUQueryCache$LeafCache org.apache.lucene.search.LRUQueryCache$LeafCache
StackMap stack:
aload 4
aload 0
invokedynamic onClose(Lorg/apache/lucene/search/LRUQueryCache;)Lorg/apache/lucene/index/IndexReader$ClosedListener;
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:
(Lorg/apache/lucene/index/IndexReader$CacheKey;)V
org/apache/lucene/search/LRUQueryCache.clearCoreCacheKey(Ljava/lang/Object;)V (5)
(Lorg/apache/lucene/index/IndexReader$CacheKey;)V
invokeinterface org.apache.lucene.index.IndexReader$CacheHelper.addClosedListener:(Lorg/apache/lucene/index/IndexReader$ClosedListener;)V
end local 8 16: StackMap locals:
StackMap stack:
aload 7
aload 1
aload 3
invokevirtual org.apache.lucene.search.LRUQueryCache$LeafCache.putIfAbsent:(Lorg/apache/lucene/search/Query;Lorg/apache/lucene/search/DocIdSet;)V
17: aload 0
invokevirtual org.apache.lucene.search.LRUQueryCache.evictIfNecessary:()V
end local 7 end local 6 end local 5 18: goto 22
StackMap locals: org.apache.lucene.search.LRUQueryCache org.apache.lucene.search.Query org.apache.lucene.index.LeafReaderContext org.apache.lucene.search.DocIdSet org.apache.lucene.index.IndexReader$CacheHelper
StackMap stack: java.lang.Throwable
19: astore 10
20: aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
21: aload 10
athrow
22: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
23: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/apache/lucene/search/LRUQueryCache;
0 24 1 query Lorg/apache/lucene/search/Query;
0 24 2 context Lorg/apache/lucene/index/LeafReaderContext;
0 24 3 set Lorg/apache/lucene/search/DocIdSet;
0 24 4 cacheHelper Lorg/apache/lucene/index/IndexReader$CacheHelper;
4 18 5 singleton Lorg/apache/lucene/search/Query;
9 18 6 key Lorg/apache/lucene/index/IndexReader$CacheKey;
10 18 7 leafCache Lorg/apache/lucene/search/LRUQueryCache$LeafCache;
13 16 8 previous Lorg/apache/lucene/search/LRUQueryCache$LeafCache;
Exception table:
from to target type
3 19 19 any
MethodParameters:
Name Flags
query
context
set
cacheHelper
void evictIfNecessary();
descriptor: ()V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=1
start local 0 0: getstatic org.apache.lucene.search.LRUQueryCache.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.isHeldByCurrentThread:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.lucene.search.LRUQueryCache.requiresEviction:()Z
ifeq 13
2: aload 0
getfield org.apache.lucene.search.LRUQueryCache.mostRecentlyUsedQueries:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 1
start local 1 3: StackMap locals: java.util.Iterator
StackMap stack:
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.lucene.search.Query
astore 2
start local 2 4: aload 0
getfield org.apache.lucene.search.LRUQueryCache.mostRecentlyUsedQueries:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
istore 3
start local 3 5: aload 1
invokeinterface java.util.Iterator.remove:()V
6: iload 3
aload 0
getfield org.apache.lucene.search.LRUQueryCache.mostRecentlyUsedQueries:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
if_icmpne 11
7: new java.util.ConcurrentModificationException
dup
new java.lang.StringBuilder
dup
ldc "Removal from the cache failed! This is probably due to a query which has been modified after having been put into the cache or a badly implemented clone(). Query class: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9: ldc "], query: ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokespecial java.util.ConcurrentModificationException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: org.apache.lucene.search.Query int
StackMap stack:
aload 0
aload 2
invokevirtual org.apache.lucene.search.LRUQueryCache.onEviction:(Lorg/apache/lucene/search/Query;)V
end local 3 end local 2 12: aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 13
aload 0
invokevirtual org.apache.lucene.search.LRUQueryCache.requiresEviction:()Z
ifne 3
end local 1 13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/lucene/search/LRUQueryCache;
3 13 1 iterator Ljava/util/Iterator<Lorg/apache/lucene/search/Query;>;
4 12 2 query Lorg/apache/lucene/search/Query;
5 12 3 size I
public void clearCoreCacheKey(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: aload 0
getfield org.apache.lucene.search.LRUQueryCache.cache:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.lucene.search.LRUQueryCache$LeafCache
astore 2
start local 2 2: aload 2
ifnull 13
3: aload 0
dup
getfield org.apache.lucene.search.LRUQueryCache.ramBytesUsed:J
getstatic org.apache.lucene.util.RamUsageEstimator.HASHTABLE_RAM_BYTES_PER_ENTRY:J
lsub
putfield org.apache.lucene.search.LRUQueryCache.ramBytesUsed:J
4: aload 2
getfield org.apache.lucene.search.LRUQueryCache$LeafCache.cache:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
istore 3
start local 3 5: iload 3
ifle 8
6: aload 0
aload 1
iload 3
aload 2
getfield org.apache.lucene.search.LRUQueryCache$LeafCache.ramBytesUsed:J
invokevirtual org.apache.lucene.search.LRUQueryCache.onDocIdSetEviction:(Ljava/lang/Object;IJ)V
7: goto 13
8: StackMap locals: org.apache.lucene.search.LRUQueryCache$LeafCache int
StackMap stack:
getstatic org.apache.lucene.search.LRUQueryCache.$assertionsDisabled:Z
ifne 9
iload 3
ifeq 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
getstatic org.apache.lucene.search.LRUQueryCache.$assertionsDisabled:Z
ifne 13
aload 2
getfield org.apache.lucene.search.LRUQueryCache$LeafCache.ramBytesUsed:J
lconst_0
lcmp
ifeq 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 3 end local 2 10: StackMap locals: org.apache.lucene.search.LRUQueryCache java.lang.Object
StackMap stack: java.lang.Throwable
astore 4
11: aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
12: aload 4
athrow
13: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
14: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/lucene/search/LRUQueryCache;
0 15 1 coreKey Ljava/lang/Object;
2 10 2 leafCache Lorg/apache/lucene/search/LRUQueryCache$LeafCache;
5 10 3 numEntries I
Exception table:
from to target type
1 10 10 any
MethodParameters:
Name Flags
coreKey
public void clearQuery(org.apache.lucene.search.Query);
descriptor: (Lorg/apache/lucene/search/Query;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: aload 0
getfield org.apache.lucene.search.LRUQueryCache.uniqueQueries:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.lucene.search.Query
astore 2
start local 2 2: aload 2
ifnull 8
3: aload 0
aload 2
invokevirtual org.apache.lucene.search.LRUQueryCache.onEviction:(Lorg/apache/lucene/search/Query;)V
end local 2 4: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 3
6: aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
7: aload 3
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/lucene/search/LRUQueryCache;
0 10 1 query Lorg/apache/lucene/search/Query;
2 4 2 singleton Lorg/apache/lucene/search/Query;
Exception table:
from to target type
1 5 5 any
MethodParameters:
Name Flags
query
private void onEviction(org.apache.lucene.search.Query);
descriptor: (Lorg/apache/lucene/search/Query;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: getstatic org.apache.lucene.search.LRUQueryCache.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.isHeldByCurrentThread:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
getstatic org.apache.lucene.util.RamUsageEstimator.LINKED_HASHTABLE_RAM_BYTES_PER_ENTRY:J
ldc 1024
ladd
invokevirtual org.apache.lucene.search.LRUQueryCache.onQueryEviction:(Lorg/apache/lucene/search/Query;J)V
2: aload 0
getfield org.apache.lucene.search.LRUQueryCache.cache:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: org.apache.lucene.search.LRUQueryCache org.apache.lucene.search.Query top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.lucene.search.LRUQueryCache$LeafCache
astore 2
start local 2 4: aload 2
aload 1
invokevirtual org.apache.lucene.search.LRUQueryCache$LeafCache.remove:(Lorg/apache/lucene/search/Query;)V
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/lucene/search/LRUQueryCache;
0 7 1 singleton Lorg/apache/lucene/search/Query;
4 5 2 leafCache Lorg/apache/lucene/search/LRUQueryCache$LeafCache;
MethodParameters:
Name Flags
singleton
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: aload 0
getfield org.apache.lucene.search.LRUQueryCache.cache:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
2: aload 0
getfield org.apache.lucene.search.LRUQueryCache.mostRecentlyUsedQueries:Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
3: aload 0
invokevirtual org.apache.lucene.search.LRUQueryCache.onClear:()V
4: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 1
6: aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
7: aload 1
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/lucene/search/LRUQueryCache;
Exception table:
from to target type
1 5 5 any
void assertConsistent();
descriptor: ()V
flags: (0x0000)
Code:
stack=6, locals=8, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: aload 0
invokevirtual org.apache.lucene.search.LRUQueryCache.requiresEviction:()Z
ifeq 5
2: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "requires evictions: size="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.lucene.search.LRUQueryCache.mostRecentlyUsedQueries:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
3: ldc ", maxSize="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.lucene.search.LRUQueryCache.maxSize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", ramBytesUsed="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.apache.lucene.search.LRUQueryCache.ramBytesUsed:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ", maxRamBytesUsed="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.lucene.search.LRUQueryCache.maxRamBytesUsed:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.search.LRUQueryCache.cache:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 12
StackMap locals: org.apache.lucene.search.LRUQueryCache top java.util.Iterator
StackMap stack:
6: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.lucene.search.LRUQueryCache$LeafCache
astore 1
start local 1 7: new java.util.IdentityHashMap
dup
invokespecial java.util.IdentityHashMap.<init>:()V
invokestatic java.util.Collections.newSetFromMap:(Ljava/util/Map;)Ljava/util/Set;
astore 3
start local 3 8: aload 3
aload 1
getfield org.apache.lucene.search.LRUQueryCache$LeafCache.cache:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
9: aload 3
aload 0
getfield org.apache.lucene.search.LRUQueryCache.mostRecentlyUsedQueries:Ljava/util/Set;
invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
pop
10: aload 3
invokeinterface java.util.Set.isEmpty:()Z
ifne 12
11: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "One leaf cache contains more keys than the top-level cache: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 3 end local 1 12: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
13: getstatic org.apache.lucene.util.RamUsageEstimator.HASHTABLE_RAM_BYTES_PER_ENTRY:J
aload 0
getfield org.apache.lucene.search.LRUQueryCache.cache:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
i2l
lmul
14: getstatic org.apache.lucene.util.RamUsageEstimator.LINKED_HASHTABLE_RAM_BYTES_PER_ENTRY:J
aload 0
getfield org.apache.lucene.search.LRUQueryCache.uniqueQueries:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
i2l
lmul
15: ladd
16: lstore 1
start local 1 17: lload 1
aload 0
getfield org.apache.lucene.search.LRUQueryCache.mostRecentlyUsedQueries:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
sipush 1024
imul
i2l
ladd
lstore 1
18: aload 0
getfield org.apache.lucene.search.LRUQueryCache.cache:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 25
StackMap locals: org.apache.lucene.search.LRUQueryCache long top java.util.Iterator
StackMap stack:
19: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.lucene.search.LRUQueryCache$LeafCache
astore 3
start local 3 20: lload 1
getstatic org.apache.lucene.util.RamUsageEstimator.HASHTABLE_RAM_BYTES_PER_ENTRY:J
aload 3
getfield org.apache.lucene.search.LRUQueryCache$LeafCache.cache:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
i2l
lmul
ladd
lstore 1
21: aload 3
getfield org.apache.lucene.search.LRUQueryCache$LeafCache.cache:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 24
StackMap locals: org.apache.lucene.search.LRUQueryCache long org.apache.lucene.search.LRUQueryCache$LeafCache java.util.Iterator top java.util.Iterator
StackMap stack:
22: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.lucene.search.DocIdSet
astore 5
start local 5 23: lload 1
aload 5
invokevirtual org.apache.lucene.search.DocIdSet.ramBytesUsed:()J
ladd
lstore 1
end local 5 24: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
end local 3 25: StackMap locals: org.apache.lucene.search.LRUQueryCache long top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
26: lload 1
aload 0
getfield org.apache.lucene.search.LRUQueryCache.ramBytesUsed:J
lcmp
ifeq 28
27: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "ramBytesUsed mismatch : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.lucene.search.LRUQueryCache.ramBytesUsed:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " != "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
28: StackMap locals: org.apache.lucene.search.LRUQueryCache long
StackMap stack:
lconst_0
lstore 3
start local 3 29: aload 0
getfield org.apache.lucene.search.LRUQueryCache.cache:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 32
StackMap locals: org.apache.lucene.search.LRUQueryCache long long top java.util.Iterator
StackMap stack:
30: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.lucene.search.LRUQueryCache$LeafCache
astore 5
start local 5 31: lload 3
aload 5
getfield org.apache.lucene.search.LRUQueryCache$LeafCache.cache:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
i2l
ladd
lstore 3
end local 5 32: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 30
33: lload 3
aload 0
invokevirtual org.apache.lucene.search.LRUQueryCache.getCacheSize:()J
lcmp
ifeq 38
34: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "cacheSize mismatch : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.apache.lucene.search.LRUQueryCache.getCacheSize:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " != "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 3
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 3 end local 1 35: StackMap locals: org.apache.lucene.search.LRUQueryCache
StackMap stack: java.lang.Throwable
astore 7
36: aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
37: aload 7
athrow
38: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
39: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lorg/apache/lucene/search/LRUQueryCache;
7 12 1 leafCache Lorg/apache/lucene/search/LRUQueryCache$LeafCache;
8 12 3 keys Ljava/util/Set<Lorg/apache/lucene/search/Query;>;
17 35 1 recomputedRamBytesUsed J
20 25 3 leafCache Lorg/apache/lucene/search/LRUQueryCache$LeafCache;
23 24 5 set Lorg/apache/lucene/search/DocIdSet;
29 35 3 recomputedCacheSize J
31 32 5 leafCache Lorg/apache/lucene/search/LRUQueryCache$LeafCache;
Exception table:
from to target type
1 35 35 any
java.util.List<org.apache.lucene.search.Query> cachedQueries();
descriptor: ()Ljava/util/List;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: new java.util.ArrayList
dup
aload 0
getfield org.apache.lucene.search.LRUQueryCache.mostRecentlyUsedQueries:Ljava/util/Set;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 2
2: aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
3: aload 2
areturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
5: aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
6: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/lucene/search/LRUQueryCache;
Exception table:
from to target type
1 2 4 any
Signature: ()Ljava/util/List<Lorg/apache/lucene/search/Query;>;
public org.apache.lucene.search.Weight doCache(org.apache.lucene.search.Weight, org.apache.lucene.search.QueryCachingPolicy);
descriptor: (Lorg/apache/lucene/search/Weight;Lorg/apache/lucene/search/QueryCachingPolicy;)Lorg/apache/lucene/search/Weight;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: goto 2
1: StackMap locals:
StackMap stack:
aload 1
checkcast org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight
getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
astore 1
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight
ifne 1
3: new org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight
dup
aload 0
aload 1
aload 2
invokespecial org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.<init>:(Lorg/apache/lucene/search/LRUQueryCache;Lorg/apache/lucene/search/Weight;Lorg/apache/lucene/search/QueryCachingPolicy;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/lucene/search/LRUQueryCache;
0 4 1 weight Lorg/apache/lucene/search/Weight;
0 4 2 policy Lorg/apache/lucene/search/QueryCachingPolicy;
MethodParameters:
Name Flags
weight
policy
public long ramBytesUsed();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.search.LRUQueryCache.ramBytesUsed:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/search/LRUQueryCache;
public java.util.Collection<org.apache.lucene.util.Accountable> getChildResources();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: ldc "segment"
aload 0
getfield org.apache.lucene.search.LRUQueryCache.cache:Ljava/util/Map;
invokestatic org.apache.lucene.util.Accountables.namedAccountables:(Ljava/lang/String;Ljava/util/Map;)Ljava/util/Collection;
astore 2
2: aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
3: aload 2
areturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
5: aload 0
getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
6: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/lucene/search/LRUQueryCache;
Exception table:
from to target type
1 2 4 any
Signature: ()Ljava/util/Collection<Lorg/apache/lucene/util/Accountable;>;
protected org.apache.lucene.search.DocIdSet cacheImpl(org.apache.lucene.search.BulkScorer, int);
descriptor: (Lorg/apache/lucene/search/BulkScorer;I)Lorg/apache/lucene/search/DocIdSet;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.apache.lucene.search.BulkScorer.cost:()J
ldc 100
lmul
iload 2
i2l
lcmp
iflt 2
1: aload 1
iload 2
invokestatic org.apache.lucene.search.LRUQueryCache.cacheIntoBitSet:(Lorg/apache/lucene/search/BulkScorer;I)Lorg/apache/lucene/search/DocIdSet;
areturn
2: StackMap locals:
StackMap stack:
aload 1
iload 2
invokestatic org.apache.lucene.search.LRUQueryCache.cacheIntoRoaringDocIdSet:(Lorg/apache/lucene/search/BulkScorer;I)Lorg/apache/lucene/search/DocIdSet;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/lucene/search/LRUQueryCache;
0 3 1 scorer Lorg/apache/lucene/search/BulkScorer;
0 3 2 maxDoc I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
scorer
maxDoc
private static org.apache.lucene.search.DocIdSet cacheIntoBitSet(org.apache.lucene.search.BulkScorer, int);
descriptor: (Lorg/apache/lucene/search/BulkScorer;I)Lorg/apache/lucene/search/DocIdSet;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: new org.apache.lucene.util.FixedBitSet
dup
iload 1
invokespecial org.apache.lucene.util.FixedBitSet.<init>:(I)V
astore 2
start local 2 1: iconst_1
newarray 11
astore 3
start local 3 2: aload 0
new org.apache.lucene.search.LRUQueryCache$1
dup
aload 3
aload 2
invokespecial org.apache.lucene.search.LRUQueryCache$1.<init>:([JLorg/apache/lucene/util/FixedBitSet;)V
3: aconst_null
4: invokevirtual org.apache.lucene.search.BulkScorer.score:(Lorg/apache/lucene/search/LeafCollector;Lorg/apache/lucene/util/Bits;)V
5: new org.apache.lucene.util.BitDocIdSet
dup
aload 2
aload 3
iconst_0
laload
invokespecial org.apache.lucene.util.BitDocIdSet.<init>:(Lorg/apache/lucene/util/BitSet;J)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 scorer Lorg/apache/lucene/search/BulkScorer;
0 6 1 maxDoc I
1 6 2 bitSet Lorg/apache/lucene/util/FixedBitSet;
2 6 3 cost [J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
scorer
maxDoc
private static org.apache.lucene.search.DocIdSet cacheIntoRoaringDocIdSet(org.apache.lucene.search.BulkScorer, int);
descriptor: (Lorg/apache/lucene/search/BulkScorer;I)Lorg/apache/lucene/search/DocIdSet;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new org.apache.lucene.util.RoaringDocIdSet$Builder
dup
iload 1
invokespecial org.apache.lucene.util.RoaringDocIdSet$Builder.<init>:(I)V
astore 2
start local 2 1: aload 0
new org.apache.lucene.search.LRUQueryCache$2
dup
aload 2
invokespecial org.apache.lucene.search.LRUQueryCache$2.<init>:(Lorg/apache/lucene/util/RoaringDocIdSet$Builder;)V
2: aconst_null
3: invokevirtual org.apache.lucene.search.BulkScorer.score:(Lorg/apache/lucene/search/LeafCollector;Lorg/apache/lucene/util/Bits;)V
4: aload 2
invokevirtual org.apache.lucene.util.RoaringDocIdSet$Builder.build:()Lorg/apache/lucene/util/RoaringDocIdSet;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 scorer Lorg/apache/lucene/search/BulkScorer;
0 5 1 maxDoc I
1 5 2 builder Lorg/apache/lucene/util/RoaringDocIdSet$Builder;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
scorer
maxDoc
public final long getTotalCount();
descriptor: ()J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.lucene.search.LRUQueryCache.getHitCount:()J
aload 0
invokevirtual org.apache.lucene.search.LRUQueryCache.getMissCount:()J
ladd
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/search/LRUQueryCache;
public final long getHitCount();
descriptor: ()J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.search.LRUQueryCache.hitCount:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/search/LRUQueryCache;
public final long getMissCount();
descriptor: ()J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.search.LRUQueryCache.missCount:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/search/LRUQueryCache;
public final long getCacheSize();
descriptor: ()J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.search.LRUQueryCache.cacheSize:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/search/LRUQueryCache;
public final long getCacheCount();
descriptor: ()J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.search.LRUQueryCache.cacheCount:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/search/LRUQueryCache;
public final long getEvictionCount();
descriptor: ()J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.lucene.search.LRUQueryCache.getCacheCount:()J
aload 0
invokevirtual org.apache.lucene.search.LRUQueryCache.getCacheSize:()J
lsub
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/search/LRUQueryCache;
}
SourceFile: "LRUQueryCache.java"
NestMembers:
org.apache.lucene.search.LRUQueryCache$1 org.apache.lucene.search.LRUQueryCache$2 org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight$1 org.apache.lucene.search.LRUQueryCache$LeafCache org.apache.lucene.search.LRUQueryCache$MinSegmentSizePredicate
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract CacheHelper = org.apache.lucene.index.IndexReader$CacheHelper of org.apache.lucene.index.IndexReader
public final CacheKey = org.apache.lucene.index.IndexReader$CacheKey of org.apache.lucene.index.IndexReader
public abstract ClosedListener = org.apache.lucene.index.IndexReader$ClosedListener of org.apache.lucene.index.IndexReader
org.apache.lucene.search.LRUQueryCache$1
org.apache.lucene.search.LRUQueryCache$2
private CachingWrapperWeight = org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight of org.apache.lucene.search.LRUQueryCache
private LeafCache = org.apache.lucene.search.LRUQueryCache$LeafCache of org.apache.lucene.search.LRUQueryCache
MinSegmentSizePredicate = org.apache.lucene.search.LRUQueryCache$MinSegmentSizePredicate of org.apache.lucene.search.LRUQueryCache
public Builder = org.apache.lucene.util.RoaringDocIdSet$Builder of org.apache.lucene.util.RoaringDocIdSet