class jdk.nashorn.internal.runtime.Context$ClassCache extends java.util.LinkedHashMap<jdk.nashorn.internal.runtime.Source, jdk.nashorn.internal.runtime.Context$ClassReference> implements jdk.nashorn.internal.runtime.logging.Loggable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.nashorn.internal.runtime.Context$ClassCache
super_class: java.util.LinkedHashMap
{
private final int size;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.ref.ReferenceQueue<java.lang.Class<?>> queue;
descriptor: Ljava/lang/ref/ReferenceQueue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/ref/ReferenceQueue<Ljava/lang/Class<*>;>;
private final jdk.nashorn.internal.runtime.logging.DebugLogger log;
descriptor: Ljdk/nashorn/internal/runtime/logging/DebugLogger;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(jdk.nashorn.internal.runtime.Context, int);
descriptor: (Ljdk/nashorn/internal/runtime/Context;I)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 2
ldc 0.75
iconst_1
invokespecial java.util.LinkedHashMap.<init>:(IFZ)V
1: aload 0
iload 2
putfield jdk.nashorn.internal.runtime.Context$ClassCache.size:I
2: aload 0
new java.lang.ref.ReferenceQueue
dup
invokespecial java.lang.ref.ReferenceQueue.<init>:()V
putfield jdk.nashorn.internal.runtime.Context$ClassCache.queue:Ljava/lang/ref/ReferenceQueue;
3: aload 0
aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.Context$ClassCache.initLogger:(Ljdk/nashorn/internal/runtime/Context;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
putfield jdk.nashorn.internal.runtime.Context$ClassCache.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/runtime/Context$ClassCache;
0 5 1 context Ljdk/nashorn/internal/runtime/Context;
0 5 2 size I
MethodParameters:
Name Flags
context final
size final
void cache(jdk.nashorn.internal.runtime.Source, java.lang.Class<?>);
descriptor: (Ljdk/nashorn/internal/runtime/Source;Ljava/lang/Class;)V
flags: (0x0000)
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.nashorn.internal.runtime.Context$ClassCache.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.isEnabled:()Z
ifeq 2
1: aload 0
getfield jdk.nashorn.internal.runtime.Context$ClassCache.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
iconst_3
anewarray java.lang.Object
dup
iconst_0
ldc "Caching "
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
ldc " in class cache"
aastore
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.info:([Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
aload 1
new jdk.nashorn.internal.runtime.Context$ClassReference
dup
aload 2
aload 0
getfield jdk.nashorn.internal.runtime.Context$ClassCache.queue:Ljava/lang/ref/ReferenceQueue;
aload 1
invokespecial jdk.nashorn.internal.runtime.Context$ClassReference.<init>:(Ljava/lang/Class;Ljava/lang/ref/ReferenceQueue;Ljdk/nashorn/internal/runtime/Source;)V
invokevirtual jdk.nashorn.internal.runtime.Context$ClassCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/runtime/Context$ClassCache;
0 4 1 source Ljdk/nashorn/internal/runtime/Source;
0 4 2 clazz Ljava/lang/Class<*>;
Signature: (Ljdk/nashorn/internal/runtime/Source;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
source final
clazz final
protected boolean removeEldestEntry(java.util.Map$Entry<jdk.nashorn.internal.runtime.Source, jdk.nashorn.internal.runtime.Context$ClassReference>);
descriptor: (Ljava/util/Map$Entry;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.nashorn.internal.runtime.Context$ClassCache.size:()I
aload 0
getfield jdk.nashorn.internal.runtime.Context$ClassCache.size:I
if_icmple 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/Context$ClassCache;
0 2 1 eldest Ljava/util/Map$Entry<Ljdk/nashorn/internal/runtime/Source;Ljdk/nashorn/internal/runtime/Context$ClassReference;>;
Signature: (Ljava/util/Map$Entry<Ljdk/nashorn/internal/runtime/Source;Ljdk/nashorn/internal/runtime/Context$ClassReference;>;)Z
MethodParameters:
Name Flags
eldest final
public jdk.nashorn.internal.runtime.Context$ClassReference get(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Context$ClassReference;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: goto 5
start local 2 1: StackMap locals: jdk.nashorn.internal.runtime.Context$ClassReference
StackMap stack:
aload 2
getfield jdk.nashorn.internal.runtime.Context$ClassReference.source:Ljdk/nashorn/internal/runtime/Source;
astore 3
start local 3 2: aload 0
getfield jdk.nashorn.internal.runtime.Context$ClassCache.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.isEnabled:()Z
ifeq 4
3: aload 0
getfield jdk.nashorn.internal.runtime.Context$ClassCache.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
iconst_3
anewarray java.lang.Object
dup
iconst_0
ldc "Evicting "
aastore
dup
iconst_1
aload 3
aastore
dup
iconst_2
ldc " from class cache."
aastore
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.info:([Ljava/lang/Object;)V
4: StackMap locals: jdk.nashorn.internal.runtime.Source
StackMap stack:
aload 0
aload 3
invokevirtual jdk.nashorn.internal.runtime.Context$ClassCache.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 end local 2 5: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.Context$ClassCache.queue:Ljava/lang/ref/ReferenceQueue;
invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
checkcast jdk.nashorn.internal.runtime.Context$ClassReference
dup
astore 2
start local 2 6: ifnonnull 1
end local 2 7: aload 0
aload 1
invokespecial java.util.LinkedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.nashorn.internal.runtime.Context$ClassReference
astore 2
start local 2 8: aload 2
ifnull 10
aload 0
getfield jdk.nashorn.internal.runtime.Context$ClassCache.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.isEnabled:()Z
ifeq 10
9: aload 0
getfield jdk.nashorn.internal.runtime.Context$ClassCache.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
iconst_3
anewarray java.lang.Object
dup
iconst_0
ldc "Retrieved class reference for "
aastore
dup
iconst_1
aload 2
getfield jdk.nashorn.internal.runtime.Context$ClassReference.source:Ljdk/nashorn/internal/runtime/Source;
aastore
dup
iconst_2
ldc " from class cache"
aastore
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.info:([Ljava/lang/Object;)V
10: StackMap locals: jdk.nashorn.internal.runtime.Context$ClassReference
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/nashorn/internal/runtime/Context$ClassCache;
0 11 1 key Ljava/lang/Object;
1 5 2 ref Ljdk/nashorn/internal/runtime/Context$ClassReference;
6 7 2 ref Ljdk/nashorn/internal/runtime/Context$ClassReference;
2 5 3 source Ljdk/nashorn/internal/runtime/Source;
8 11 2 ref Ljdk/nashorn/internal/runtime/Context$ClassReference;
MethodParameters:
Name Flags
key final
public jdk.nashorn.internal.runtime.logging.DebugLogger initLogger(jdk.nashorn.internal.runtime.Context);
descriptor: (Ljdk/nashorn/internal/runtime/Context;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual jdk.nashorn.internal.runtime.Context.getLogger:(Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/Context$ClassCache;
0 1 1 context Ljdk/nashorn/internal/runtime/Context;
MethodParameters:
Name Flags
context final
public jdk.nashorn.internal.runtime.logging.DebugLogger getLogger();
descriptor: ()Ljdk/nashorn/internal/runtime/logging/DebugLogger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.Context$ClassCache.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/Context$ClassCache;
public java.lang.Object get(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.Context$ClassCache.get:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Context$ClassReference;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/util/LinkedHashMap<Ljdk/nashorn/internal/runtime/Source;Ljdk/nashorn/internal/runtime/Context$ClassReference;>;Ljdk/nashorn/internal/runtime/logging/Loggable;
SourceFile: "Context.java"
NestHost: jdk.nashorn.internal.runtime.Context
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
private ClassCache = jdk.nashorn.internal.runtime.Context$ClassCache of jdk.nashorn.internal.runtime.Context
private ClassReference = jdk.nashorn.internal.runtime.Context$ClassReference of jdk.nashorn.internal.runtime.Context
RuntimeVisibleAnnotations:
jdk.nashorn.internal.runtime.logging.Logger(name = "classcache")