final class jdk.nashorn.internal.runtime.Context$AnonymousContextCodeInstaller extends jdk.nashorn.internal.runtime.Context$ContextCodeInstaller
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.nashorn.internal.runtime.Context$AnonymousContextCodeInstaller
super_class: jdk.nashorn.internal.runtime.Context$ContextCodeInstaller
{
private static final jdk.internal.misc.Unsafe UNSAFE;
descriptor: Ljdk/internal/misc/Unsafe;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String ANONYMOUS_HOST_CLASS_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] ANONYMOUS_HOST_CLASS_BYTES;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.lang.Class<?> hostClass;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<*>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: invokestatic jdk.internal.misc.Unsafe.getUnsafe:()Ljdk/internal/misc/Unsafe;
putstatic jdk.nashorn.internal.runtime.Context$AnonymousContextCodeInstaller.UNSAFE:Ljdk/internal/misc/Unsafe;
1: new java.lang.StringBuilder
dup
ldc "jdk/nashorn/internal/scripts"
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".AnonymousHost"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putstatic jdk.nashorn.internal.runtime.Context$AnonymousContextCodeInstaller.ANONYMOUS_HOST_CLASS_NAME:Ljava/lang/String;
2: invokestatic jdk.nashorn.internal.runtime.Context$AnonymousContextCodeInstaller.getAnonymousHostClassBytes:()[B
putstatic jdk.nashorn.internal.runtime.Context$AnonymousContextCodeInstaller.ANONYMOUS_HOST_CLASS_BYTES:[B
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(jdk.nashorn.internal.runtime.Context, java.security.CodeSource, java.lang.Class<?>);
descriptor: (Ljdk/nashorn/internal/runtime/Context;Ljava/security/CodeSource;Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokespecial jdk.nashorn.internal.runtime.Context$ContextCodeInstaller.<init>:(Ljdk/nashorn/internal/runtime/Context;Ljava/security/CodeSource;)V
1: aload 0
aload 3
putfield jdk.nashorn.internal.runtime.Context$AnonymousContextCodeInstaller.hostClass:Ljava/lang/Class;
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/runtime/Context$AnonymousContextCodeInstaller;
0 3 1 context Ljdk/nashorn/internal/runtime/Context;
0 3 2 codeSource Ljava/security/CodeSource;
0 3 3 hostClass Ljava/lang/Class<*>;
Signature: (Ljdk/nashorn/internal/runtime/Context;Ljava/security/CodeSource;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
context final
codeSource final
hostClass final
public java.lang.Class<?> install(java.lang.String, byte[]);
descriptor: (Ljava/lang/String;[B)Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.nashorn.internal.runtime.Context.ANONYMOUS_INSTALLED_SCRIPT_COUNT:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.increment:()V
1: getstatic jdk.nashorn.internal.runtime.Context$AnonymousContextCodeInstaller.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield jdk.nashorn.internal.runtime.Context$AnonymousContextCodeInstaller.hostClass:Ljava/lang/Class;
aload 2
aconst_null
invokevirtual jdk.internal.misc.Unsafe.defineAnonymousClass:(Ljava/lang/Class;[B[Ljava/lang/Object;)Ljava/lang/Class;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/Context$AnonymousContextCodeInstaller;
0 2 1 className Ljava/lang/String;
0 2 2 bytecode [B
Signature: (Ljava/lang/String;[B)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
className final
bytecode final
public jdk.nashorn.internal.runtime.CodeInstaller getOnDemandCompilationInstaller();
descriptor: ()Ljdk/nashorn/internal/runtime/CodeInstaller;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/Context$AnonymousContextCodeInstaller;
public jdk.nashorn.internal.runtime.CodeInstaller getMultiClassCodeInstaller();
descriptor: ()Ljdk/nashorn/internal/runtime/CodeInstaller;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller
dup
aload 0
getfield jdk.nashorn.internal.runtime.Context$AnonymousContextCodeInstaller.context:Ljdk/nashorn/internal/runtime/Context;
aload 0
getfield jdk.nashorn.internal.runtime.Context$AnonymousContextCodeInstaller.codeSource:Ljava/security/CodeSource;
aload 0
getfield jdk.nashorn.internal.runtime.Context$AnonymousContextCodeInstaller.context:Ljdk/nashorn/internal/runtime/Context;
invokevirtual jdk.nashorn.internal.runtime.Context.createNewLoader:()Ljdk/nashorn/internal/runtime/ScriptLoader;
invokespecial jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller.<init>:(Ljdk/nashorn/internal/runtime/Context;Ljava/security/CodeSource;Ljdk/nashorn/internal/runtime/ScriptLoader;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/Context$AnonymousContextCodeInstaller;
private static byte[] getAnonymousHostClassBytes();
descriptor: ()[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=1, args_size=0
0: new jdk.internal.org.objectweb.asm.ClassWriter
dup
iconst_3
invokespecial jdk.internal.org.objectweb.asm.ClassWriter.<init>:(I)V
astore 0
start local 0 1: aload 0
bipush 51
sipush 1536
getstatic jdk.nashorn.internal.runtime.Context$AnonymousContextCodeInstaller.ANONYMOUS_HOST_CLASS_NAME:Ljava/lang/String;
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
aconst_null
ldc "java/lang/Object"
aconst_null
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visit:(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
2: aload 0
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitEnd:()V
3: aload 0
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.toByteArray:()[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 cw Ljdk/internal/org/objectweb/asm/ClassWriter;
}
SourceFile: "Context.java"
NestHost: jdk.nashorn.internal.runtime.Context
InnerClasses:
private final AnonymousContextCodeInstaller = jdk.nashorn.internal.runtime.Context$AnonymousContextCodeInstaller of jdk.nashorn.internal.runtime.Context
private abstract ContextCodeInstaller = jdk.nashorn.internal.runtime.Context$ContextCodeInstaller of jdk.nashorn.internal.runtime.Context
private NamedContextCodeInstaller = jdk.nashorn.internal.runtime.Context$NamedContextCodeInstaller of jdk.nashorn.internal.runtime.Context