final class jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator
super_class: java.lang.Object
{
private static final java.lang.String GLOBAL_FIELD_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "global"
private static final java.lang.String DELEGATE_FIELD_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "delegate"
private static final java.lang.String IS_FUNCTION_FIELD_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "isFunction"
private static final java.lang.String CALL_THIS_FIELD_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "callThis"
private static final java.lang.String INIT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "<init>"
private static final java.lang.String CLASS_INIT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "<clinit>"
private static final jdk.internal.org.objectweb.asm.Type OBJECT_TYPE;
descriptor: Ljdk/internal/org/objectweb/asm/Type;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.internal.org.objectweb.asm.Type SCRIPT_OBJECT_TYPE;
descriptor: Ljdk/internal/org/objectweb/asm/Type;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.internal.org.objectweb.asm.Type SCRIPT_FUNCTION_TYPE;
descriptor: Ljdk/internal/org/objectweb/asm/Type;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.internal.org.objectweb.asm.Type SCRIPT_OBJECT_MIRROR_TYPE;
descriptor: Ljdk/internal/org/objectweb/asm/Type;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call CHECK_FUNCTION;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call EXPORT_RETURN_VALUE;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call GET_CALL_THIS;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call GET_CLASS_OVERRIDES;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call GET_NON_NULL_GLOBAL;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call HAS_OWN_TO_STRING;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call INVOKE_NO_PERMISSIONS;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call NOT_AN_OBJECT;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call SET_GLOBAL;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call TO_CHAR_PRIMITIVE;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call UNSUPPORTED;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call WRAP_THROWABLE;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call UNWRAP_MIRROR;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call UNWRAP;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call CHAR_VALUE_OF;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call DOUBLE_VALUE_OF;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call LONG_VALUE_OF;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call RUN;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.internal.org.objectweb.asm.Handle BOOTSTRAP_HANDLE;
descriptor: Ljdk/internal/org/objectweb/asm/Handle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.internal.org.objectweb.asm.Handle CREATE_ARRAY_BOOTSTRAP_HANDLE;
descriptor: Ljdk/internal/org/objectweb/asm/Handle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String SCRIPT_OBJECT_TYPE_DESCRIPTOR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String OBJECT_TYPE_DESCRIPTOR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String BOOLEAN_TYPE_DESCRIPTOR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String RUNTIME_EXCEPTION_TYPE_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String ERROR_TYPE_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String THROWABLE_TYPE_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String GET_METHOD_PROPERTY_METHOD_DESCRIPTOR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String VOID_METHOD_DESCRIPTOR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String ADAPTER_PACKAGE_INTERNAL;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "jdk/nashorn/javaadapters/"
private static final int MAX_GENERATED_TYPE_NAME_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 255
static final java.lang.String SUPER_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "super$"
private static final java.lang.String FINALIZER_DELEGATE_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "$$nashornFinalizerDelegate"
private static final java.lang.String FINALIZER_DELEGATE_METHOD_DESCRIPTOR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Collection<jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo> EXCLUDED;
descriptor: Ljava/util/Collection;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Collection<Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator$MethodInfo;>;
private final java.lang.Class<?> superClass;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private final java.util.List<java.lang.Class<?>> interfaces;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/Class<*>;>;
private final java.lang.ClassLoader commonLoader;
descriptor: Ljava/lang/ClassLoader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean classOverride;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String superClassName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String generatedClassName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Set<java.lang.String> abstractMethodNames;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
private final java.lang.String samName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Set<jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo> finalMethods;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator$MethodInfo;>;
private final java.util.Set<jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo> methodInfos;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator$MethodInfo;>;
private final boolean autoConvertibleFromFunction;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean hasExplicitFinalizer;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final jdk.internal.org.objectweb.asm.ClassWriter cw;
descriptor: Ljdk/internal/org/objectweb/asm/ClassWriter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final java.security.AccessControlContext GET_DECLARED_MEMBERS_ACC_CTXT;
descriptor: Ljava/security/AccessControlContext;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
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=11, locals=0, args_size=0
0: ldc Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
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 jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.$assertionsDisabled:Z
3: ldc Ljava/lang/Object;
invokestatic jdk.internal.org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Ljdk/internal/org/objectweb/asm/Type;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.OBJECT_TYPE:Ljdk/internal/org/objectweb/asm/Type;
4: ldc Ljdk/nashorn/internal/runtime/ScriptObject;
invokestatic jdk.internal.org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Ljdk/internal/org/objectweb/asm/Type;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_TYPE:Ljdk/internal/org/objectweb/asm/Type;
5: ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
invokestatic jdk.internal.org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Ljdk/internal/org/objectweb/asm/Type;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_FUNCTION_TYPE:Ljdk/internal/org/objectweb/asm/Type;
6: ldc Ljdk/nashorn/api/scripting/ScriptObjectMirror;
invokestatic jdk.internal.org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Ljdk/internal/org/objectweb/asm/Type;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_MIRROR_TYPE:Ljdk/internal/org/objectweb/asm/Type;
7: ldc "checkFunction"
ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
dup
iconst_1
ldc Ljava/lang/String;
aastore
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.lookupServiceMethod:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.CHECK_FUNCTION:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
8: ldc "exportReturnValue"
ldc Ljava/lang/Object;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.lookupServiceMethod:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.EXPORT_RETURN_VALUE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
9: ldc "getCallThis"
ldc Ljava/lang/Object;
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
aastore
dup
iconst_1
ldc Ljava/lang/Object;
aastore
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.lookupServiceMethod:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.GET_CALL_THIS:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
10: ldc "getClassOverrides"
ldc Ljdk/nashorn/internal/runtime/ScriptObject;
iconst_0
anewarray java.lang.Class
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.lookupServiceMethod:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.GET_CLASS_OVERRIDES:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
11: ldc "getNonNullGlobal"
ldc Ljdk/nashorn/internal/runtime/ScriptObject;
iconst_0
anewarray java.lang.Class
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.lookupServiceMethod:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.GET_NON_NULL_GLOBAL:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
12: ldc "hasOwnToString"
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljdk/nashorn/internal/runtime/ScriptObject;
aastore
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.lookupServiceMethod:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.HAS_OWN_TO_STRING:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
13: ldc "invokeNoPermissions"
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/invoke/MethodHandle;
aastore
dup
iconst_1
ldc Ljava/lang/Object;
aastore
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.lookupServiceMethod:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.INVOKE_NO_PERMISSIONS:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
14: ldc "notAnObject"
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.lookupServiceMethod:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.NOT_AN_OBJECT:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
15: ldc "setGlobal"
ldc Ljava/lang/Runnable;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljdk/nashorn/internal/runtime/ScriptObject;
aastore
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.lookupServiceMethod:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SET_GLOBAL:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
16: ldc "toCharPrimitive"
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.lookupServiceMethod:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.TO_CHAR_PRIMITIVE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
17: ldc "unsupported"
ldc Ljava/lang/UnsupportedOperationException;
iconst_0
anewarray java.lang.Class
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.lookupServiceMethod:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.UNSUPPORTED:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
18: ldc "wrapThrowable"
ldc Ljava/lang/RuntimeException;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Throwable;
aastore
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.lookupServiceMethod:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.WRAP_THROWABLE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
19: ldc "unwrapMirror"
ldc Ljdk/nashorn/internal/runtime/ScriptObject;
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
dup
iconst_1
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
aastore
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.lookupServiceMethod:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.UNWRAP_MIRROR:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
20: ldc Ljdk/nashorn/api/scripting/ScriptUtils;
ldc "unwrap"
ldc Ljava/lang/Object;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.UNWRAP:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
21: ldc Ljava/lang/Character;
ldc "valueOf"
ldc Ljava/lang/Character;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.CHAR_VALUE_OF:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
22: ldc Ljava/lang/Double;
ldc "valueOf"
ldc Ljava/lang/Double;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.DOUBLE_VALUE_OF:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
23: ldc Ljava/lang/Long;
ldc "valueOf"
ldc Ljava/lang/Long;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
aastore
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.LONG_VALUE_OF:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
24: ldc Ljava/lang/Runnable;
ldc "run"
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.interfaceCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.RUN:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
25: new jdk.internal.org.objectweb.asm.Handle
dup
bipush 6
26: ldc Ljdk/nashorn/internal/runtime/linker/JavaAdapterServices;
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
ldc "bootstrap"
27: ldc Ljava/lang/invoke/CallSite;
ldc Ljava/lang/invoke/MethodHandles$Lookup;
iconst_3
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
dup
iconst_1
28: ldc Ljava/lang/invoke/MethodType;
aastore
dup
iconst_2
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
29: invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
30: invokevirtual java.lang.invoke.MethodType.toMethodDescriptorString:()Ljava/lang/String;
iconst_0
31: invokespecial jdk.internal.org.objectweb.asm.Handle.<init>:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.BOOTSTRAP_HANDLE:Ljdk/internal/org/objectweb/asm/Handle;
32: new jdk.internal.org.objectweb.asm.Handle
dup
bipush 6
33: ldc Ljdk/nashorn/internal/runtime/linker/JavaAdapterServices;
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
ldc "createArrayBootstrap"
34: ldc Ljava/lang/invoke/CallSite;
ldc Ljava/lang/invoke/MethodHandles$Lookup;
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
dup
iconst_1
35: ldc Ljava/lang/invoke/MethodType;
aastore
36: invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
37: invokevirtual java.lang.invoke.MethodType.toMethodDescriptorString:()Ljava/lang/String;
iconst_0
38: invokespecial jdk.internal.org.objectweb.asm.Handle.<init>:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.CREATE_ARRAY_BOOTSTRAP_HANDLE:Ljdk/internal/org/objectweb/asm/Handle;
39: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_TYPE:Ljdk/internal/org/objectweb/asm/Type;
invokevirtual jdk.internal.org.objectweb.asm.Type.getDescriptor:()Ljava/lang/String;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_TYPE_DESCRIPTOR:Ljava/lang/String;
40: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.OBJECT_TYPE:Ljdk/internal/org/objectweb/asm/Type;
invokevirtual jdk.internal.org.objectweb.asm.Type.getDescriptor:()Ljava/lang/String;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.OBJECT_TYPE_DESCRIPTOR:Ljava/lang/String;
41: getstatic jdk.internal.org.objectweb.asm.Type.BOOLEAN_TYPE:Ljdk/internal/org/objectweb/asm/Type;
invokevirtual jdk.internal.org.objectweb.asm.Type.getDescriptor:()Ljava/lang/String;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.BOOLEAN_TYPE_DESCRIPTOR:Ljava/lang/String;
42: ldc Ljava/lang/RuntimeException;
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.RUNTIME_EXCEPTION_TYPE_NAME:Ljava/lang/String;
43: ldc Ljava/lang/Error;
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.ERROR_TYPE_NAME:Ljava/lang/String;
44: ldc Ljava/lang/Throwable;
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.THROWABLE_TYPE_NAME:Ljava/lang/String;
45: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.OBJECT_TYPE:Ljdk/internal/org/objectweb/asm/Type;
iconst_1
anewarray jdk.internal.org.objectweb.asm.Type
dup
iconst_0
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_TYPE:Ljdk/internal/org/objectweb/asm/Type;
aastore
invokestatic jdk.internal.org.objectweb.asm.Type.getMethodDescriptor:(Ljdk/internal/org/objectweb/asm/Type;[Ljdk/internal/org/objectweb/asm/Type;)Ljava/lang/String;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.GET_METHOD_PROPERTY_METHOD_DESCRIPTOR:Ljava/lang/String;
46: getstatic jdk.internal.org.objectweb.asm.Type.VOID_TYPE:Ljdk/internal/org/objectweb/asm/Type;
iconst_0
anewarray jdk.internal.org.objectweb.asm.Type
invokestatic jdk.internal.org.objectweb.asm.Type.getMethodDescriptor:(Ljdk/internal/org/objectweb/asm/Type;[Ljdk/internal/org/objectweb/asm/Type;)Ljava/lang/String;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.VOID_METHOD_DESCRIPTOR:Ljava/lang/String;
47: getstatic jdk.internal.org.objectweb.asm.Type.VOID_TYPE:Ljdk/internal/org/objectweb/asm/Type;
iconst_1
anewarray jdk.internal.org.objectweb.asm.Type
dup
iconst_0
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.OBJECT_TYPE:Ljdk/internal/org/objectweb/asm/Type;
aastore
invokestatic jdk.internal.org.objectweb.asm.Type.getMethodDescriptor:(Ljdk/internal/org/objectweb/asm/Type;[Ljdk/internal/org/objectweb/asm/Type;)Ljava/lang/String;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.FINALIZER_DELEGATE_METHOD_DESCRIPTOR:Ljava/lang/String;
48: invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.getExcludedMethods:()Ljava/util/Collection;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.EXCLUDED:Ljava/util/Collection;
49: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "accessDeclaredMembers"
aastore
invokestatic jdk.nashorn.internal.runtime.linker.ClassAndLoader.createPermAccCtxt:([Ljava/lang/String;)Ljava/security/AccessControlContext;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.GET_DECLARED_MEMBERS_ACC_CTXT:Ljava/security/AccessControlContext;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.lang.Class<?>, java.util.List<java.lang.Class<?>>, java.lang.ClassLoader, );
descriptor: (Ljava/lang/Class;Ljava/util/List;Ljava/lang/ClassLoader;Z)V
flags: (0x0000)
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.abstractMethodNames:Ljava/util/Set;
2: aload 0
new java.util.HashSet
dup
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.EXCLUDED:Ljava/util/Collection;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
putfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.finalMethods:Ljava/util/Set;
3: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.methodInfos:Ljava/util/Set;
4: aload 0
iconst_0
putfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.hasExplicitFinalizer:Z
5: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.$assertionsDisabled:Z
ifne 7
aload 1
ifnull 6
aload 1
invokevirtual java.lang.Class.isInterface:()Z
ifeq 7
StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator java.lang.Class java.util.List java.lang.ClassLoader int
StackMap stack:
6: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.$assertionsDisabled:Z
ifne 8
aload 2
ifnonnull 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.superClass:Ljava/lang/Class;
9: aload 0
aload 2
putfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.interfaces:Ljava/util/List;
10: aload 0
iload 4
putfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.classOverride:Z
11: aload 0
aload 3
putfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.commonLoader:Ljava/lang/ClassLoader;
12: aload 0
new jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$1
dup
aload 0
iconst_3
invokespecial jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$1.<init>:(Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;I)V
putfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
13: aload 0
aload 1
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
putfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.superClassName:Ljava/lang/String;
14: aload 0
aload 1
aload 2
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.getGeneratedClassName:(Ljava/lang/Class;Ljava/util/List;)Ljava/lang/String;
putfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generatedClassName:Ljava/lang/String;
15: aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
bipush 52
bipush 33
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generatedClassName:Ljava/lang/String;
aconst_null
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.superClassName:Ljava/lang/String;
aload 2
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.getInternalTypeNames:(Ljava/util/List;)[Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visit:(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
16: aload 0
ldc "global"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generateField:(Ljava/lang/String;Ljava/lang/String;)V
17: aload 0
ldc "delegate"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generateField:(Ljava/lang/String;Ljava/lang/String;)V
18: aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.gatherMethods:(Ljava/lang/Class;)V
19: aload 0
aload 2
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.gatherMethods:(Ljava/util/List;)V
20: aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.abstractMethodNames:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
iconst_1
if_icmpne 25
21: aload 0
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.abstractMethodNames:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
putfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.samName:Ljava/lang/String;
22: aload 0
ldc "callThis"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.OBJECT_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generateField:(Ljava/lang/String;Ljava/lang/String;)V
23: aload 0
ldc "isFunction"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.BOOLEAN_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generateField:(Ljava/lang/String;Ljava/lang/String;)V
24: goto 26
25: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.samName:Ljava/lang/String;
26: StackMap locals:
StackMap stack:
iload 4
ifeq 28
27: aload 0
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generateClassInit:()V
28: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generateConstructors:()Z
putfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.autoConvertibleFromFunction:Z
29: aload 0
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generateMethods:()V
30: aload 0
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generateSuperMethods:()V
31: aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.hasExplicitFinalizer:Z
ifeq 33
32: aload 0
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generateFinalizerMethods:()V
33: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitEnd:()V
34: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
0 35 1 superClass Ljava/lang/Class<*>;
0 35 2 interfaces Ljava/util/List<Ljava/lang/Class<*>;>;
0 35 3 commonLoader Ljava/lang/ClassLoader;
0 35 4 classOverride Z
Exceptions:
throws jdk.nashorn.internal.runtime.linker.AdaptationException
Signature: (Ljava/lang/Class<*>;Ljava/util/List<Ljava/lang/Class<*>;>;Ljava/lang/ClassLoader;Z)V
MethodParameters:
Name Flags
superClass final
interfaces final
commonLoader final
classOverride final
private void generateField(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
bipush 18
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.classOverride:Z
ifeq 1
bipush 8
goto 2
StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator java.lang.String java.lang.String
StackMap stack: jdk.internal.org.objectweb.asm.ClassWriter int
1: iconst_0
StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator java.lang.String java.lang.String
StackMap stack: jdk.internal.org.objectweb.asm.ClassWriter int int
2: ior
aload 1
aload 2
aconst_null
aconst_null
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitField:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Ljdk/internal/org/objectweb/asm/FieldVisitor;
invokevirtual jdk.internal.org.objectweb.asm.FieldVisitor.visitEnd:()V
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/linker/JavaAdapterBytecodeGenerator;
0 4 1 name Ljava/lang/String;
0 4 2 fieldDesc Ljava/lang/String;
MethodParameters:
Name Flags
name final
fieldDesc final
jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader createAdapterClassLoader();
descriptor: ()Ljdk/nashorn/internal/runtime/linker/JavaAdapterClassLoader;
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: new jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader
dup
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generatedClassName:Ljava/lang/String;
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.toByteArray:()[B
invokespecial jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader.<init>:(Ljava/lang/String;[B)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
boolean isAutoConvertibleFromFunction();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.autoConvertibleFromFunction:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
private static java.lang.String getGeneratedClassName(java.lang.Class<?>, java.util.List<java.lang.Class<?>>);
descriptor: (Ljava/lang/Class;Ljava/util/List;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
ldc Ljava/lang/Object;
if_acmpne 2
aload 1
invokeinterface java.util.List.isEmpty:()Z
ifeq 1
ldc Ljava/lang/Object;
goto 3
StackMap locals:
StackMap stack:
1: aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Class
goto 3
StackMap locals:
StackMap stack:
2: aload 0
StackMap locals:
StackMap stack: java.lang.Class
3: astore 2
start local 2 4: aload 2
invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
pop
5: aload 2
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
astore 3
start local 3 6: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 4
start local 4 7: aload 4
ldc "jdk/nashorn/javaadapters/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
bipush 47
bipush 95
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
start local 5 9: aload 0
ldc Ljava/lang/Object;
if_acmpne 13
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 13
10: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
pop
11: goto 13
12: StackMap locals: java.lang.Class java.util.List java.lang.Class java.lang.String java.lang.StringBuilder java.util.Iterator
StackMap stack:
aload 4
ldc "$$"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
14: aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
sipush 255
aload 4
invokevirtual java.lang.StringBuilder.length:()I
invokestatic java.lang.Math.min:(II)I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
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 15 0 superType Ljava/lang/Class<*>;
0 15 1 interfaces Ljava/util/List<Ljava/lang/Class<*>;>;
4 15 2 namingType Ljava/lang/Class<*>;
6 15 3 namingTypeName Ljava/lang/String;
7 15 4 buf Ljava/lang/StringBuilder;
9 15 5 it Ljava/util/Iterator<Ljava/lang/Class<*>;>;
Signature: (Ljava/lang/Class<*>;Ljava/util/List<Ljava/lang/Class<*>;>;)Ljava/lang/String;
MethodParameters:
Name Flags
superType final
interfaces final
private static java.lang.String[] getInternalTypeNames(java.util.List<java.lang.Class<?>>);
descriptor: (Ljava/util/List;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokeinterface java.util.List.size:()I
istore 1
start local 1 1: iload 1
anewarray java.lang.String
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: int java.lang.String[] int
StackMap stack:
aload 2
iload 3
aload 0
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Class
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
aastore
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 1
if_icmplt 4
end local 3 7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 classes Ljava/util/List<Ljava/lang/Class<*>;>;
1 8 1 interfaceCount I
2 8 2 interfaceNames [Ljava/lang/String;
3 7 3 i I
Signature: (Ljava/util/List<Ljava/lang/Class<*>;>;)[Ljava/lang/String;
MethodParameters:
Name Flags
classes final
private void generateClassInit();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=3, args_size=1
start local 0 0: new jdk.internal.org.objectweb.asm.commons.InstructionAdapter
dup
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
bipush 8
ldc "<clinit>"
1: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.VOID_METHOD_DESCRIPTOR:Ljava/lang/String;
aconst_null
aconst_null
2: invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokespecial jdk.internal.org.objectweb.asm.commons.InstructionAdapter.<init>:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
astore 1
start local 1 3: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.GET_NON_NULL_GLOBAL:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 1
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
4: aload 1
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generatedClassName:Ljava/lang/String;
ldc "global"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.putstatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
5: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.GET_CLASS_OVERRIDES:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 1
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
6: aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.samName:Ljava/lang/String;
ifnull 17
7: aload 1
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.dup:()V
8: aload 1
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_FUNCTION_TYPE:Ljdk/internal/org/objectweb/asm/Type;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.instanceOf:(Ljdk/internal/org/objectweb/asm/Type;)V
9: aload 1
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.dup:()V
10: aload 1
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generatedClassName:Ljava/lang/String;
ldc "isFunction"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.BOOLEAN_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.putstatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
11: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 2
start local 2 12: aload 1
aload 2
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.ifeq:(Ljdk/internal/org/objectweb/asm/Label;)V
13: aload 1
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.dup:()V
14: aload 1
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_FUNCTION_TYPE:Ljdk/internal/org/objectweb/asm/Type;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.checkcast:(Ljdk/internal/org/objectweb/asm/Type;)V
15: aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.emitInitCallThis:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;)V
16: aload 1
aload 2
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
end local 2 17: StackMap locals: jdk.internal.org.objectweb.asm.commons.InstructionAdapter
StackMap stack:
aload 1
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generatedClassName:Ljava/lang/String;
ldc "delegate"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.putstatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
18: aload 1
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.endInitMethod:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;)V
19: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
3 20 1 mv Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;
12 17 2 notFunction Ljdk/internal/org/objectweb/asm/Label;
private void emitInitCallThis(jdk.internal.org.objectweb.asm.commons.InstructionAdapter);
descriptor: (Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc "global"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.loadField:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/String;Ljava/lang/String;)V
1: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.GET_CALL_THIS:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 1
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
2: aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.classOverride:Z
ifeq 5
3: aload 1
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generatedClassName:Ljava/lang/String;
ldc "callThis"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.OBJECT_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.putstatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generatedClassName:Ljava/lang/String;
ldc "callThis"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.OBJECT_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.putfield:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
0 7 1 mv Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;
MethodParameters:
Name Flags
mv final
private boolean generateConstructors();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.superClass:Ljava/lang/Class;
invokevirtual java.lang.Class.getDeclaredConstructors:()[Ljava/lang/reflect/Constructor;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 9
StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator int int top int int java.lang.reflect.Constructor[]
StackMap stack:
3: aload 6
iload 4
aaload
astore 3
start local 3 4: aload 3
invokevirtual java.lang.reflect.Constructor.getModifiers:()I
istore 7
start local 7 5: iload 7
iconst_5
iand
ifeq 8
aload 3
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.isCallerSensitive:(Ljava/lang/reflect/AccessibleObject;)Z
ifne 8
6: aload 0
aload 3
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generateConstructors:(Ljava/lang/reflect/Constructor;)Z
iload 2
ior
istore 2
7: iconst_1
istore 1
end local 7 end local 3 8: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 5
if_icmplt 3
10: iload 1
ifne 12
11: new jdk.nashorn.internal.runtime.linker.AdaptationException
dup
getstatic jdk.nashorn.internal.runtime.linker.AdaptationResult$Outcome.ERROR_NO_ACCESSIBLE_CONSTRUCTOR:Ljdk/nashorn/internal/runtime/linker/AdaptationResult$Outcome;
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.superClass:Ljava/lang/Class;
invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
invokespecial jdk.nashorn.internal.runtime.linker.AdaptationException.<init>:(Ljdk/nashorn/internal/runtime/linker/AdaptationResult$Outcome;Ljava/lang/String;)V
athrow
12: StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator int int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
1 13 1 gotCtor Z
2 13 2 canBeAutoConverted Z
4 8 3 ctor Ljava/lang/reflect/Constructor<*>;
5 8 7 modifier I
Exceptions:
throws jdk.nashorn.internal.runtime.linker.AdaptationException
private boolean generateConstructors(java.lang.reflect.Constructor<?>);
descriptor: (Ljava/lang/reflect/Constructor;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.classOverride:Z
ifeq 3
1: aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generateDelegatingConstructor:(Ljava/lang/reflect/Constructor;)V
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generateOverridingConstructor:(Ljava/lang/reflect/Constructor;Z)V
4: aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.samName:Ljava/lang/String;
ifnonnull 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_1
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generateOverridingConstructor:(Ljava/lang/reflect/Constructor;Z)V
7: aload 1
invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
arraylength
ifne 8
iconst_1
ireturn
StackMap locals:
StackMap stack:
8: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
0 9 1 ctor Ljava/lang/reflect/Constructor<*>;
Signature: (Ljava/lang/reflect/Constructor<*>;)Z
MethodParameters:
Name Flags
ctor final
private void generateDelegatingConstructor(java.lang.reflect.Constructor<?>);
descriptor: (Ljava/lang/reflect/Constructor;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokestatic jdk.internal.org.objectweb.asm.Type.getType:(Ljava/lang/reflect/Constructor;)Ljdk/internal/org/objectweb/asm/Type;
astore 2
start local 2 1: aload 2
invokevirtual jdk.internal.org.objectweb.asm.Type.getArgumentTypes:()[Ljdk/internal/org/objectweb/asm/Type;
astore 3
start local 3 2: new jdk.internal.org.objectweb.asm.commons.InstructionAdapter
dup
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
iconst_1
3: aload 1
invokevirtual java.lang.reflect.Constructor.isVarArgs:()Z
ifeq 4
sipush 128
goto 5
StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator java.lang.reflect.Constructor jdk.internal.org.objectweb.asm.Type jdk.internal.org.objectweb.asm.Type[]
StackMap stack: new 2 new 2 jdk.internal.org.objectweb.asm.ClassWriter int
4: iconst_0
StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator java.lang.reflect.Constructor jdk.internal.org.objectweb.asm.Type jdk.internal.org.objectweb.asm.Type[]
StackMap stack: new 2 new 2 jdk.internal.org.objectweb.asm.ClassWriter int int
5: ior
ldc "<init>"
6: aload 2
invokevirtual jdk.internal.org.objectweb.asm.Type.getReturnType:()Ljdk/internal/org/objectweb/asm/Type;
aload 3
invokestatic jdk.internal.org.objectweb.asm.Type.getMethodDescriptor:(Ljdk/internal/org/objectweb/asm/Type;[Ljdk/internal/org/objectweb/asm/Type;)Ljava/lang/String;
aconst_null
aconst_null
7: invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokespecial jdk.internal.org.objectweb.asm.commons.InstructionAdapter.<init>:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
astore 4
start local 4 8: aload 4
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitCode:()V
9: aload 0
aload 4
aload 2
invokevirtual jdk.internal.org.objectweb.asm.Type.getDescriptor:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.emitSuperConstructorCall:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/String;)I
pop
10: aload 4
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.endInitMethod:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;)V
11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
0 12 1 ctor Ljava/lang/reflect/Constructor<*>;
1 12 2 originalCtorType Ljdk/internal/org/objectweb/asm/Type;
2 12 3 argTypes [Ljdk/internal/org/objectweb/asm/Type;
8 12 4 mv Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;
Signature: (Ljava/lang/reflect/Constructor<*>;)V
MethodParameters:
Name Flags
ctor final
private void generateOverridingConstructor(java.lang.reflect.Constructor<?>, );
descriptor: (Ljava/lang/reflect/Constructor;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic jdk.internal.org.objectweb.asm.Type.getType:(Ljava/lang/reflect/Constructor;)Ljdk/internal/org/objectweb/asm/Type;
astore 3
start local 3 1: aload 3
invokevirtual jdk.internal.org.objectweb.asm.Type.getArgumentTypes:()[Ljdk/internal/org/objectweb/asm/Type;
astore 4
start local 4 2: aload 4
arraylength
istore 5
start local 5 3: iload 5
iconst_1
iadd
anewarray jdk.internal.org.objectweb.asm.Type
astore 6
start local 6 4: iload 2
ifeq 5
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_FUNCTION_TYPE:Ljdk/internal/org/objectweb/asm/Type;
goto 6
StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator java.lang.reflect.Constructor int jdk.internal.org.objectweb.asm.Type jdk.internal.org.objectweb.asm.Type[] int jdk.internal.org.objectweb.asm.Type[]
StackMap stack:
5: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_TYPE:Ljdk/internal/org/objectweb/asm/Type;
StackMap locals:
StackMap stack: jdk.internal.org.objectweb.asm.Type
6: astore 7
start local 7 7: aload 6
iload 5
aload 7
aastore
8: aload 4
iconst_0
aload 6
iconst_0
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: new jdk.internal.org.objectweb.asm.commons.InstructionAdapter
dup
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
iconst_1
ldc "<init>"
10: aload 3
invokevirtual jdk.internal.org.objectweb.asm.Type.getReturnType:()Ljdk/internal/org/objectweb/asm/Type;
aload 6
invokestatic jdk.internal.org.objectweb.asm.Type.getMethodDescriptor:(Ljdk/internal/org/objectweb/asm/Type;[Ljdk/internal/org/objectweb/asm/Type;)Ljava/lang/String;
aconst_null
aconst_null
11: invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokespecial jdk.internal.org.objectweb.asm.commons.InstructionAdapter.<init>:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
astore 8
start local 8 12: aload 8
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitCode:()V
13: aload 0
aload 8
aload 3
invokevirtual jdk.internal.org.objectweb.asm.Type.getDescriptor:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.emitSuperConstructorCall:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/String;)I
istore 9
start local 9 14: aload 8
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
15: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.GET_NON_NULL_GLOBAL:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 8
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
16: aload 8
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generatedClassName:Ljava/lang/String;
ldc "global"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.putfield:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
17: aload 8
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
18: aload 8
bipush 25
iload 9
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
19: aload 8
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generatedClassName:Ljava/lang/String;
ldc "delegate"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.putfield:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
20: iload 2
ifeq 27
21: aload 8
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
22: aload 8
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.iconst:(I)V
23: aload 8
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generatedClassName:Ljava/lang/String;
ldc "isFunction"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.BOOLEAN_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.putfield:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
24: aload 8
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
25: aload 8
bipush 25
iload 9
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
26: aload 0
aload 8
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.emitInitCallThis:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;)V
27: StackMap locals: jdk.internal.org.objectweb.asm.Type jdk.internal.org.objectweb.asm.commons.InstructionAdapter int
StackMap stack:
aload 8
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.endInitMethod:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;)V
28: iload 2
ifne 34
29: aload 6
iload 5
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.OBJECT_TYPE:Ljdk/internal/org/objectweb/asm/Type;
aastore
30: new jdk.internal.org.objectweb.asm.commons.InstructionAdapter
dup
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
iconst_1
ldc "<init>"
31: aload 3
invokevirtual jdk.internal.org.objectweb.asm.Type.getReturnType:()Ljdk/internal/org/objectweb/asm/Type;
aload 6
invokestatic jdk.internal.org.objectweb.asm.Type.getMethodDescriptor:(Ljdk/internal/org/objectweb/asm/Type;[Ljdk/internal/org/objectweb/asm/Type;)Ljava/lang/String;
aconst_null
aconst_null
32: invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokespecial jdk.internal.org.objectweb.asm.commons.InstructionAdapter.<init>:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
astore 10
start local 10 33: aload 0
aload 10
aload 3
invokevirtual jdk.internal.org.objectweb.asm.Type.getDescriptor:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generateOverridingConstructorWithObjectParam:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/String;)V
end local 10 34: StackMap locals:
StackMap stack:
return
end local 9 end local 8 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 35 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
0 35 1 ctor Ljava/lang/reflect/Constructor<*>;
0 35 2 fromFunction Z
1 35 3 originalCtorType Ljdk/internal/org/objectweb/asm/Type;
2 35 4 originalArgTypes [Ljdk/internal/org/objectweb/asm/Type;
3 35 5 argLen I
4 35 6 newArgTypes [Ljdk/internal/org/objectweb/asm/Type;
7 35 7 extraArgumentType Ljdk/internal/org/objectweb/asm/Type;
12 35 8 mv Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;
14 35 9 extraArgOffset I
33 34 10 mv2 Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;
Signature: (Ljava/lang/reflect/Constructor<*>;Z)V
MethodParameters:
Name Flags
ctor final
fromFunction final
private void generateOverridingConstructorWithObjectParam(jdk.internal.org.objectweb.asm.commons.InstructionAdapter, java.lang.String);
descriptor: (Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitCode:()V
1: aload 0
aload 1
aload 2
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.emitSuperConstructorCall:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/String;)I
istore 3
start local 3 2: aload 1
bipush 25
iload 3
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
3: aload 1
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_MIRROR_TYPE:Ljdk/internal/org/objectweb/asm/Type;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.instanceOf:(Ljdk/internal/org/objectweb/asm/Type;)V
4: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 4
start local 4 5: aload 1
aload 4
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.ifeq:(Ljdk/internal/org/objectweb/asm/Label;)V
6: aload 1
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
7: aload 1
bipush 25
iload 3
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
8: aload 1
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.iconst:(I)V
9: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.UNWRAP_MIRROR:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 1
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
10: aload 1
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generatedClassName:Ljava/lang/String;
ldc "delegate"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.putfield:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
11: aload 1
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
12: aload 1
bipush 25
iload 3
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
13: aload 1
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.iconst:(I)V
14: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.UNWRAP_MIRROR:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 1
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
15: aload 1
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generatedClassName:Ljava/lang/String;
ldc "global"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.putfield:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
16: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 5
start local 5 17: aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.samName:Ljava/lang/String;
ifnull 31
18: aload 1
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
19: aload 1
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generatedClassName:Ljava/lang/String;
ldc "delegate"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.getfield:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
20: aload 1
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_FUNCTION_TYPE:Ljdk/internal/org/objectweb/asm/Type;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.instanceOf:(Ljdk/internal/org/objectweb/asm/Type;)V
21: aload 1
aload 5
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.ifeq:(Ljdk/internal/org/objectweb/asm/Label;)V
22: aload 1
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
23: aload 1
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.iconst:(I)V
24: aload 1
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generatedClassName:Ljava/lang/String;
ldc "isFunction"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.BOOLEAN_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.putfield:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
25: aload 1
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
26: aload 1
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.dup:()V
27: aload 1
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generatedClassName:Ljava/lang/String;
ldc "delegate"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.getfield:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
28: aload 1
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_FUNCTION_TYPE:Ljdk/internal/org/objectweb/asm/Type;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.checkcast:(Ljdk/internal/org/objectweb/asm/Type;)V
29: aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.emitInitCallThis:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;)V
30: aload 1
aload 5
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.goTo:(Ljdk/internal/org/objectweb/asm/Label;)V
31: StackMap locals: int jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label
StackMap stack:
aload 1
aload 4
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
32: aload 1
bipush 25
iload 3
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
33: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.NOT_AN_OBJECT:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 1
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
34: aload 1
aload 5
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
35: aload 1
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.endInitMethod:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;)V
36: return
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 37 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
0 37 1 mv Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;
0 37 2 ctorDescriptor Ljava/lang/String;
2 37 3 extraArgOffset I
5 37 4 notMirror Ljdk/internal/org/objectweb/asm/Label;
17 37 5 done Ljdk/internal/org/objectweb/asm/Label;
MethodParameters:
Name Flags
mv final
ctorDescriptor final
private static void endInitMethod(jdk.internal.org.objectweb.asm.commons.InstructionAdapter);
descriptor: (Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
sipush 177
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitInsn:(I)V
1: aload 0
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.endMethod:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 mv Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;
MethodParameters:
Name Flags
mv final
private static void endMethod(jdk.internal.org.objectweb.asm.commons.InstructionAdapter);
descriptor: (Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitMaxs:(II)V
1: aload 0
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitEnd:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 mv Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;
MethodParameters:
Name Flags
mv final
private void generateMethods();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.methodInfos:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 3
StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo
astore 1
start local 1 2: aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generateMethod:(Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator$MethodInfo;)V
end local 1 3: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
2 3 1 mi Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator$MethodInfo;
private void generateMethod(jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo);
descriptor: (Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator$MethodInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=31, args_size=2
start local 0 start local 1 0: aload 1
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo.method:Ljava/lang/reflect/Method;
astore 2
start local 2 1: aload 2
invokevirtual java.lang.reflect.Method.getExceptionTypes:()[Ljava/lang/Class;
astore 3
start local 3 2: aload 3
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.getExceptionNames:([Ljava/lang/Class;)[Ljava/lang/String;
astore 4
start local 4 3: aload 1
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo.type:Ljava/lang/invoke/MethodType;
astore 5
start local 5 4: aload 5
invokevirtual java.lang.invoke.MethodType.toMethodDescriptorString:()Ljava/lang/String;
astore 6
start local 6 5: aload 1
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo.getName:()Ljava/lang/String;
astore 7
start local 7 6: aload 6
invokestatic jdk.internal.org.objectweb.asm.Type.getMethodType:(Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/Type;
astore 8
start local 8 7: aload 8
invokevirtual jdk.internal.org.objectweb.asm.Type.getArgumentTypes:()[Ljdk/internal/org/objectweb/asm/Type;
astore 9
start local 9 8: new jdk.internal.org.objectweb.asm.commons.InstructionAdapter
dup
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
aload 2
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.getAccessModifiers:(Ljava/lang/reflect/Method;)I
aload 7
9: aload 6
aconst_null
aload 4
10: invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokespecial jdk.internal.org.objectweb.asm.commons.InstructionAdapter.<init>:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
astore 10
start local 10 11: aload 10
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitCode:()V
12: aload 5
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 11
start local 11 13: aload 11
invokestatic jdk.internal.org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Ljdk/internal/org/objectweb/asm/Type;
astore 12
start local 12 14: iconst_1
istore 13
start local 13 15: aload 9
dup
astore 17
arraylength
istore 16
iconst_0
istore 15
goto 19
StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo java.lang.reflect.Method java.lang.Class[] java.lang.String[] java.lang.invoke.MethodType java.lang.String java.lang.String jdk.internal.org.objectweb.asm.Type jdk.internal.org.objectweb.asm.Type[] jdk.internal.org.objectweb.asm.commons.InstructionAdapter java.lang.Class jdk.internal.org.objectweb.asm.Type int top int int jdk.internal.org.objectweb.asm.Type[]
StackMap stack:
16: aload 17
iload 15
aaload
astore 14
start local 14 17: iload 13
aload 14
invokevirtual jdk.internal.org.objectweb.asm.Type.getSize:()I
iadd
istore 13
end local 14 18: iinc 15 1
StackMap locals:
StackMap stack:
19: iload 15
iload 16
if_icmplt 16
20: iload 13
iinc 13 1
istore 14
start local 14 21: aload 0
aload 10
ldc "global"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.loadField:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/String;Ljava/lang/String;)V
22: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SET_GLOBAL:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 10
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
23: aload 10
bipush 58
iload 14
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
24: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 15
start local 15 25: aload 10
aload 15
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
26: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 16
start local 16 27: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 17
start local 17 28: aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.samName:Ljava/lang/String;
ifnull 39
29: aload 0
aload 10
ldc "isFunction"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.BOOLEAN_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.loadField:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/String;Ljava/lang/String;)V
30: aload 7
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.samName:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 38
31: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 18
start local 18 32: aload 10
aload 18
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.ifeq:(Ljdk/internal/org/objectweb/asm/Label;)V
33: aload 0
aload 10
ldc "delegate"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.loadField:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/String;Ljava/lang/String;)V
34: aload 0
aload 10
ldc "callThis"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.OBJECT_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.loadField:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/String;Ljava/lang/String;)V
35: aload 10
aload 16
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.goTo:(Ljdk/internal/org/objectweb/asm/Label;)V
36: aload 10
aload 18
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
end local 18 37: goto 39
38: StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo java.lang.reflect.Method java.lang.Class[] java.lang.String[] java.lang.invoke.MethodType java.lang.String java.lang.String jdk.internal.org.objectweb.asm.Type jdk.internal.org.objectweb.asm.Type[] jdk.internal.org.objectweb.asm.commons.InstructionAdapter java.lang.Class jdk.internal.org.objectweb.asm.Type int int jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label
StackMap stack:
aload 10
aload 17
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.ifne:(Ljdk/internal/org/objectweb/asm/Label;)V
39: StackMap locals:
StackMap stack:
aload 7
ldc "toString"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 43
40: aload 0
aload 10
ldc "delegate"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.loadField:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/String;Ljava/lang/String;)V
41: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.HAS_OWN_TO_STRING:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 10
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
42: aload 10
aload 17
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.ifeq:(Ljdk/internal/org/objectweb/asm/Label;)V
43: StackMap locals:
StackMap stack:
aload 0
aload 10
ldc "delegate"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.SCRIPT_OBJECT_TYPE_DESCRIPTOR:Ljava/lang/String;
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.loadField:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/String;Ljava/lang/String;)V
44: aload 10
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.dup:()V
45: aload 7
invokestatic jdk.nashorn.internal.runtime.linker.NameCodec.encode:(Ljava/lang/String;)Ljava/lang/String;
astore 18
start local 18 46: aload 10
aload 18
47: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.GET_METHOD_PROPERTY_METHOD_DESCRIPTOR:Ljava/lang/String;
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.BOOTSTRAP_HANDLE:Ljdk/internal/org/objectweb/asm/Handle;
iconst_1
anewarray java.lang.Object
dup
iconst_0
48: iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
49: invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitInvokeDynamicInsn:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/objectweb/asm/Handle;[Ljava/lang/Object;)V
50: aload 10
aload 7
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitLdcInsn:(Ljava/lang/Object;)V
51: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.CHECK_FUNCTION:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 10
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
52: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 19
start local 19 53: aload 10
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.dup:()V
54: aload 10
aload 19
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.ifnonnull:(Ljdk/internal/org/objectweb/asm/Label;)V
55: aload 10
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.pop2:()V
56: aload 10
aload 17
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
57: aload 10
iload 14
invokedynamic run(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;I)Ljava/lang/Runnable;
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:
()V
jdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator.lambda$0(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;I)V (6)
()V
astore 20
start local 20 58: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 21
start local 21 59: aload 2
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isAbstract:(I)Z
ifeq 63
60: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.UNSUPPORTED:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 10
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
61: aload 10
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.athrow:()V
62: goto 65
63: StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo java.lang.reflect.Method java.lang.Class[] java.lang.String[] java.lang.invoke.MethodType java.lang.String java.lang.String jdk.internal.org.objectweb.asm.Type jdk.internal.org.objectweb.asm.Type[] jdk.internal.org.objectweb.asm.commons.InstructionAdapter java.lang.Class jdk.internal.org.objectweb.asm.Type int int jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label java.lang.String jdk.internal.org.objectweb.asm.Label java.lang.Runnable jdk.internal.org.objectweb.asm.Label
StackMap stack:
aload 0
aload 10
aload 2
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
aload 7
aload 6
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.emitSuperCall:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)I
pop
64: aload 10
aload 21
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.goTo:(Ljdk/internal/org/objectweb/asm/Label;)V
65: StackMap locals:
StackMap stack:
aload 10
aload 19
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
66: aload 10
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.swap:()V
67: aload 10
aload 16
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
68: iconst_1
istore 22
start local 22 69: aload 9
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.getParamListLengthInSlots:([Ljdk/internal/org/objectweb/asm/Type;)I
sipush 253
if_icmple 70
iconst_1
goto 71
StackMap locals: int
StackMap stack:
70: iconst_0
StackMap locals:
StackMap stack: int
71: istore 23
start local 23 72: aload 9
dup
astore 27
arraylength
istore 26
iconst_0
istore 25
goto 78
StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo java.lang.reflect.Method java.lang.Class[] java.lang.String[] java.lang.invoke.MethodType java.lang.String java.lang.String jdk.internal.org.objectweb.asm.Type jdk.internal.org.objectweb.asm.Type[] jdk.internal.org.objectweb.asm.commons.InstructionAdapter java.lang.Class jdk.internal.org.objectweb.asm.Type int int jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label java.lang.String jdk.internal.org.objectweb.asm.Label java.lang.Runnable jdk.internal.org.objectweb.asm.Label int int top int int jdk.internal.org.objectweb.asm.Type[]
StackMap stack:
73: aload 27
iload 25
aaload
astore 24
start local 24 74: aload 10
iload 22
aload 24
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.load:(ILjdk/internal/org/objectweb/asm/Type;)V
75: aload 10
aload 24
iload 23
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.convertParam:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljdk/internal/org/objectweb/asm/Type;Z)V
76: iload 22
aload 24
invokevirtual jdk.internal.org.objectweb.asm.Type.getSize:()I
iadd
istore 22
end local 24 77: iinc 25 1
StackMap locals:
StackMap stack:
78: iload 25
iload 26
if_icmplt 73
79: iload 23
ifeq 84
80: aload 10
getstatic jdk.nashorn.internal.runtime.linker.NameCodec.EMPTY_NAME:Ljava/lang/String;
81: aload 5
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.getArrayCreatorMethodType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.toMethodDescriptorString:()Ljava/lang/String;
82: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.CREATE_ARRAY_BOOTSTRAP_HANDLE:Ljdk/internal/org/objectweb/asm/Handle;
iconst_0
anewarray java.lang.Object
83: invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitInvokeDynamicInsn:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/objectweb/asm/Handle;[Ljava/lang/Object;)V
84: StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo java.lang.reflect.Method java.lang.Class[] java.lang.String[] java.lang.invoke.MethodType java.lang.String java.lang.String jdk.internal.org.objectweb.asm.Type jdk.internal.org.objectweb.asm.Type[] jdk.internal.org.objectweb.asm.commons.InstructionAdapter java.lang.Class jdk.internal.org.objectweb.asm.Type int int jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label java.lang.String jdk.internal.org.objectweb.asm.Label java.lang.Runnable jdk.internal.org.objectweb.asm.Label int int
StackMap stack:
aload 10
aload 18
85: iload 23
aload 5
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.getCallMethodType:(ZLjava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.toMethodDescriptorString:()Ljava/lang/String;
86: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.BOOTSTRAP_HANDLE:Ljdk/internal/org/objectweb/asm/Handle;
iconst_1
anewarray java.lang.Object
dup
iconst_0
bipush 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
87: invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitInvokeDynamicInsn:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/objectweb/asm/Handle;[Ljava/lang/Object;)V
88: aload 10
aload 11
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.convertReturnValue:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/Class;)V
89: aload 10
aload 21
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
90: aload 20
invokeinterface java.lang.Runnable.run:()V
91: aload 10
aload 12
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.areturn:(Ljdk/internal/org/objectweb/asm/Type;)V
92: aload 3
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.isThrowableDeclared:([Ljava/lang/Class;)Z
istore 24
start local 24 93: iload 24
ifne 98
94: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 25
start local 25 95: aload 10
aload 25
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
96: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.WRAP_THROWABLE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 10
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
97: goto 99
end local 25 98: StackMap locals: int
StackMap stack:
aconst_null
astore 25
start local 25 99: StackMap locals: jdk.internal.org.objectweb.asm.Label
StackMap stack:
new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 26
start local 26 100: aload 10
aload 26
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
101: aload 20
invokeinterface java.lang.Runnable.run:()V
102: aload 10
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.athrow:()V
103: iload 24
ifeq 106
104: aload 10
aload 15
aload 21
aload 26
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.THROWABLE_TYPE_NAME:Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitTryCatchBlock:(Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljava/lang/String;)V
105: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.$assertionsDisabled:Z
ifne 114
aload 25
ifnull 114
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
106: StackMap locals: jdk.internal.org.objectweb.asm.Label
StackMap stack:
aload 10
aload 15
aload 21
aload 26
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.RUNTIME_EXCEPTION_TYPE_NAME:Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitTryCatchBlock:(Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljava/lang/String;)V
107: aload 10
aload 15
aload 21
aload 26
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.ERROR_TYPE_NAME:Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitTryCatchBlock:(Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljava/lang/String;)V
108: aload 4
dup
astore 30
arraylength
istore 29
iconst_0
istore 28
goto 112
StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo java.lang.reflect.Method java.lang.Class[] java.lang.String[] java.lang.invoke.MethodType java.lang.String java.lang.String jdk.internal.org.objectweb.asm.Type jdk.internal.org.objectweb.asm.Type[] jdk.internal.org.objectweb.asm.commons.InstructionAdapter java.lang.Class jdk.internal.org.objectweb.asm.Type int int jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label java.lang.String jdk.internal.org.objectweb.asm.Label java.lang.Runnable jdk.internal.org.objectweb.asm.Label int int int jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label top int int java.lang.String[]
StackMap stack:
109: aload 30
iload 28
aaload
astore 27
start local 27 110: aload 10
aload 15
aload 21
aload 26
aload 27
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitTryCatchBlock:(Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljava/lang/String;)V
end local 27 111: iinc 28 1
StackMap locals:
StackMap stack:
112: iload 28
iload 29
if_icmplt 109
113: aload 10
aload 15
aload 21
aload 25
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.THROWABLE_TYPE_NAME:Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitTryCatchBlock:(Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljava/lang/String;)V
114: StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo java.lang.reflect.Method java.lang.Class[] java.lang.String[] java.lang.invoke.MethodType java.lang.String java.lang.String jdk.internal.org.objectweb.asm.Type jdk.internal.org.objectweb.asm.Type[] jdk.internal.org.objectweb.asm.commons.InstructionAdapter java.lang.Class jdk.internal.org.objectweb.asm.Type int int jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label java.lang.String jdk.internal.org.objectweb.asm.Label java.lang.Runnable jdk.internal.org.objectweb.asm.Label int int int jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label
StackMap stack:
aload 10
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.endMethod:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;)V
115: return
end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 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 116 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
0 116 1 mi Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator$MethodInfo;
1 116 2 method Ljava/lang/reflect/Method;
2 116 3 exceptions [Ljava/lang/Class;
3 116 4 exceptionNames [Ljava/lang/String;
4 116 5 type Ljava/lang/invoke/MethodType;
5 116 6 methodDesc Ljava/lang/String;
6 116 7 name Ljava/lang/String;
7 116 8 asmType Ljdk/internal/org/objectweb/asm/Type;
8 116 9 asmArgTypes [Ljdk/internal/org/objectweb/asm/Type;
11 116 10 mv Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;
13 116 11 returnType Ljava/lang/Class<*>;
14 116 12 asmReturnType Ljdk/internal/org/objectweb/asm/Type;
15 116 13 nextLocalVar I
17 18 14 t Ljdk/internal/org/objectweb/asm/Type;
21 116 14 globalRestoringRunnableVar I
25 116 15 tryBlockStart Ljdk/internal/org/objectweb/asm/Label;
27 116 16 callCallee Ljdk/internal/org/objectweb/asm/Label;
28 116 17 defaultBehavior Ljdk/internal/org/objectweb/asm/Label;
32 37 18 notFunction Ljdk/internal/org/objectweb/asm/Label;
46 116 18 encodedName Ljava/lang/String;
53 116 19 hasFunction Ljdk/internal/org/objectweb/asm/Label;
58 116 20 emitFinally Ljava/lang/Runnable;
59 116 21 normalFinally Ljdk/internal/org/objectweb/asm/Label;
69 116 22 varOffset I
72 116 23 isVarArgCall Z
74 77 24 t Ljdk/internal/org/objectweb/asm/Type;
93 116 24 throwableDeclared Z
95 98 25 throwableHandler Ljdk/internal/org/objectweb/asm/Label;
99 116 25 throwableHandler Ljdk/internal/org/objectweb/asm/Label;
100 116 26 rethrowHandler Ljdk/internal/org/objectweb/asm/Label;
110 111 27 excName Ljava/lang/String;
MethodParameters:
Name Flags
mi final
private static java.lang.invoke.MethodType getCallMethodType(boolean, java.lang.invoke.MethodType);
descriptor: (ZLjava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: iload 0
ifeq 3
1: iconst_3
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
dup
iconst_1
ldc Ljava/lang/Object;
aastore
dup
iconst_2
ldc [Ljava/lang/Object;
aastore
astore 2
start local 2 2: goto 12
end local 2 3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.invoke.MethodType.parameterArray:()[Ljava/lang/Class;
astore 3
start local 3 4: aload 3
arraylength
iconst_2
iadd
anewarray java.lang.Class
astore 2
start local 2 5: aload 2
iconst_0
ldc Ljava/lang/Object;
aastore
6: aload 2
iconst_1
ldc Ljava/lang/Object;
aastore
7: iconst_0
istore 4
start local 4 8: goto 11
9: StackMap locals: java.lang.Class[] java.lang.Class[] int
StackMap stack:
aload 2
iload 4
iconst_2
iadd
aload 3
iload 4
aaload
iconst_0
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.getNashornParamType:(Ljava/lang/Class;Z)Ljava/lang/Class;
aastore
10: iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
aload 3
arraylength
if_icmplt 9
end local 4 end local 3 12: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.getNashornReturnType:(Ljava/lang/Class;)Ljava/lang/Class;
aload 2
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 isVarArgCall Z
0 13 1 type Ljava/lang/invoke/MethodType;
2 3 2 callParamTypes [Ljava/lang/Class;
5 13 2 callParamTypes [Ljava/lang/Class;
4 12 3 origParamTypes [Ljava/lang/Class;
8 12 4 i I
MethodParameters:
Name Flags
isVarArgCall final
type final
private static java.lang.invoke.MethodType getArrayCreatorMethodType(java.lang.invoke.MethodType);
descriptor: (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.MethodType.parameterArray:()[Ljava/lang/Class;
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: java.lang.Class[] int
StackMap stack:
aload 1
iload 2
aload 1
iload 2
aaload
iconst_1
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.getNashornParamType:(Ljava/lang/Class;Z)Ljava/lang/Class;
aastore
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 1
arraylength
if_icmplt 3
end local 2 6: ldc [Ljava/lang/Object;
aload 1
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 type Ljava/lang/invoke/MethodType;
1 7 1 callParamTypes [Ljava/lang/Class;
2 6 2 i I
MethodParameters:
Name Flags
type final
private static java.lang.Class<?> getNashornParamType(java.lang.Class<?>, boolean);
descriptor: (Ljava/lang/Class;Z)Ljava/lang/Class;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpeq 1
aload 0
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 2
1: StackMap locals:
StackMap stack:
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 6
3: iload 1
ifeq 4
ldc Ljava/lang/Object;
goto 5
StackMap locals:
StackMap stack:
4: getstatic java.lang.Double.TYPE:Ljava/lang/Class;
StackMap locals:
StackMap stack: java.lang.Class
5: areturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 7
aload 0
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpeq 7
aload 0
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 8
7: StackMap locals:
StackMap stack:
ldc Ljava/lang/Object;
areturn
8: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 clazz Ljava/lang/Class<*>;
0 9 1 varArg Z
Signature: (Ljava/lang/Class<*>;Z)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
clazz final
varArg final
private static java.lang.Class<?> getNashornReturnType(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpeq 1
aload 0
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 2
1: StackMap locals:
StackMap stack:
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 4
3: getstatic java.lang.Double.TYPE:Ljava/lang/Class;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpeq 5
aload 0
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 6
5: StackMap locals:
StackMap stack:
ldc Ljava/lang/Object;
areturn
6: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
clazz final
private void loadField(jdk.internal.org.objectweb.asm.commons.InstructionAdapter, java.lang.String, java.lang.String);
descriptor: (Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.classOverride:Z
ifeq 3
1: aload 1
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generatedClassName:Ljava/lang/String;
aload 2
aload 3
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.getstatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
2: goto 5
3: StackMap locals:
StackMap stack:
aload 1
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
4: aload 1
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generatedClassName:Ljava/lang/String;
aload 2
aload 3
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.getfield:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
0 6 1 mv Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;
0 6 2 name Ljava/lang/String;
0 6 3 desc Ljava/lang/String;
MethodParameters:
Name Flags
mv final
name final
desc final
private static void convertReturnValue(jdk.internal.org.objectweb.asm.commons.InstructionAdapter, java.lang.Class<?>);
descriptor: (Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/Class;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 3
1: aload 0
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.pop:()V
2: goto 17
StackMap locals:
StackMap stack:
3: aload 1
ldc Ljava/lang/Object;
if_acmpne 6
4: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.EXPORT_RETURN_VALUE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 0
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
5: goto 17
StackMap locals:
StackMap stack:
6: aload 1
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpne 9
7: aload 0
sipush 145
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitInsn:(I)V
8: goto 17
StackMap locals:
StackMap stack:
9: aload 1
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 12
10: aload 0
sipush 147
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitInsn:(I)V
11: goto 17
StackMap locals:
StackMap stack:
12: aload 1
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 15
13: aload 0
sipush 144
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitInsn:(I)V
14: goto 17
StackMap locals:
StackMap stack:
15: aload 1
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 17
16: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.TO_CHAR_PRIMITIVE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 0
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
17: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 mv Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;
0 18 1 origReturnType Ljava/lang/Class<*>;
Signature: (Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
mv final
origReturnType final
private static void convertParam(jdk.internal.org.objectweb.asm.commons.InstructionAdapter, jdk.internal.org.objectweb.asm.Type, boolean);
descriptor: (Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljdk/internal/org/objectweb/asm/Type;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual jdk.internal.org.objectweb.asm.Type.getSort:()I
tableswitch { // 2 - 10
2: 1
3: 11
4: 11
5: 11
6: 3
7: 7
8: 11
9: 11
10: 9
default: 11
}
1: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.CHAR_VALUE_OF:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 0
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
2: goto 11
3: StackMap locals:
StackMap stack:
aload 0
sipush 141
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitInsn:(I)V
4: iload 2
ifeq 11
5: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.DOUBLE_VALUE_OF:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 0
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
6: goto 11
7: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.LONG_VALUE_OF:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 0
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
8: goto 11
9: StackMap locals:
StackMap stack:
aload 1
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.OBJECT_TYPE:Ljdk/internal/org/objectweb/asm/Type;
invokevirtual jdk.internal.org.objectweb.asm.Type.equals:(Ljava/lang/Object;)Z
ifeq 11
10: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.UNWRAP:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 0
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
11: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 mv Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;
0 12 1 t Ljdk/internal/org/objectweb/asm/Type;
0 12 2 varArg Z
MethodParameters:
Name Flags
mv final
t final
varArg final
private static int getParamListLengthInSlots(jdk.internal.org.objectweb.asm.Type[]);
descriptor: ([Ljdk/internal/org/objectweb/asm/Type;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=7, args_size=1
start local 0 0: aload 0
arraylength
istore 1
start local 1 1: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 7
StackMap locals: jdk.internal.org.objectweb.asm.Type[] int top int int jdk.internal.org.objectweb.asm.Type[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: aload 2
invokevirtual jdk.internal.org.objectweb.asm.Type.getSort:()I
istore 6
start local 6 4: iload 6
bipush 6
if_icmpeq 5
iload 6
bipush 8
if_icmpne 6
5: StackMap locals: jdk.internal.org.objectweb.asm.Type[] int jdk.internal.org.objectweb.asm.Type int int jdk.internal.org.objectweb.asm.Type[] int
StackMap stack:
iinc 1 1
end local 6 end local 2 6: StackMap locals: jdk.internal.org.objectweb.asm.Type[] int top int int jdk.internal.org.objectweb.asm.Type[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 4
if_icmplt 2
8: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 paramTypes [Ljdk/internal/org/objectweb/asm/Type;
1 9 1 len I
3 6 2 t Ljdk/internal/org/objectweb/asm/Type;
4 6 6 sort I
MethodParameters:
Name Flags
paramTypes final
private static void emitFinally(jdk.internal.org.objectweb.asm.commons.InstructionAdapter, int);
descriptor: (Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
bipush 25
iload 1
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
1: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.RUN:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 0
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 mv Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;
0 3 1 globalRestoringRunnableVar I
MethodParameters:
Name Flags
mv final
globalRestoringRunnableVar final
private static boolean isThrowableDeclared(java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: java.lang.Class[] top int int java.lang.Class[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
ldc Ljava/lang/Throwable;
if_acmpne 4
3: iconst_1
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 1
6: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 exceptions [Ljava/lang/Class;
2 4 1 exception Ljava/lang/Class<*>;
Signature: ([Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
exceptions final
private void generateSuperMethods();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.methodInfos:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo
astore 1
start local 1 2: aload 1
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo.method:Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isAbstract:(I)Z
ifne 4
3: aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generateSuperMethod:(Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator$MethodInfo;)V
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
2 4 1 mi Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator$MethodInfo;
private void generateSuperMethod(jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo);
descriptor: (Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator$MethodInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=6, args_size=2
start local 0 start local 1 0: aload 1
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo.method:Ljava/lang/reflect/Method;
astore 2
start local 2 1: aload 1
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo.type:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.toMethodDescriptorString:()Ljava/lang/String;
astore 3
start local 3 2: aload 1
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo.getName:()Ljava/lang/String;
astore 4
start local 4 3: new jdk.internal.org.objectweb.asm.commons.InstructionAdapter
dup
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
aload 2
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.getAccessModifiers:(Ljava/lang/reflect/Method;)I
4: new java.lang.StringBuilder
dup
ldc "super$"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
aconst_null
aload 2
invokevirtual java.lang.reflect.Method.getExceptionTypes:()[Ljava/lang/Class;
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.getExceptionNames:([Ljava/lang/Class;)[Ljava/lang/String;
5: invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokespecial jdk.internal.org.objectweb.asm.commons.InstructionAdapter.<init>:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
astore 5
start local 5 6: aload 5
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitCode:()V
7: aload 0
aload 5
aload 2
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
aload 4
aload 3
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.emitSuperCall:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)I
pop
8: aload 5
aload 1
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo.type:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
invokestatic jdk.internal.org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Ljdk/internal/org/objectweb/asm/Type;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.areturn:(Ljdk/internal/org/objectweb/asm/Type;)V
9: aload 5
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.endMethod:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;)V
10: return
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 11 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
0 11 1 mi Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator$MethodInfo;
1 11 2 method Ljava/lang/reflect/Method;
2 11 3 methodDesc Ljava/lang/String;
3 11 4 name Ljava/lang/String;
6 11 5 mv Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;
MethodParameters:
Name Flags
mi final
private java.lang.Class<?> findInvokespecialOwnerFor(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isInterface:(I)Z
ifne 1
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is not an interface"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.superClass:Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 3
2: aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.superClass:Ljava/lang/Class;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.interfaces:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 7
StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator java.lang.Class top java.util.Iterator
StackMap stack:
4: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 2
start local 2 5: aload 1
aload 2
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 7
6: aload 2
areturn
end local 2 7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
8: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "can't find the class/interface that extends "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
0 9 1 cl Ljava/lang/Class<*>;
5 7 2 iface Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
cl final
private int emitSuperConstructorCall(jdk.internal.org.objectweb.asm.commons.InstructionAdapter, java.lang.String);
descriptor: (Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/String;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aconst_null
ldc "<init>"
aload 2
iconst_1
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.emitSuperCall:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Z)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
0 1 1 mv Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;
0 1 2 methodDesc Ljava/lang/String;
MethodParameters:
Name Flags
mv final
methodDesc final
private int emitSuperCall(jdk.internal.org.objectweb.asm.commons.InstructionAdapter, java.lang.Class<?>, java.lang.String, java.lang.String);
descriptor: (Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
iconst_0
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.emitSuperCall:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Z)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
0 1 1 mv Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;
0 1 2 owner Ljava/lang/Class<*>;
0 1 3 name Ljava/lang/String;
0 1 4 methodDesc Ljava/lang/String;
Signature: (Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/String;)I
MethodParameters:
Name Flags
mv final
owner final
name final
methodDesc final
private int emitSuperCall(jdk.internal.org.objectweb.asm.commons.InstructionAdapter, java.lang.Class<?>, java.lang.String, java.lang.String, );
descriptor: (Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Z)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=12, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
1: iconst_1
istore 6
start local 6 2: aload 4
invokestatic jdk.internal.org.objectweb.asm.Type.getMethodType:(Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/Type;
astore 7
start local 7 3: aload 7
invokevirtual jdk.internal.org.objectweb.asm.Type.getArgumentTypes:()[Ljdk/internal/org/objectweb/asm/Type;
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 8
StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator jdk.internal.org.objectweb.asm.commons.InstructionAdapter java.lang.Class java.lang.String java.lang.String int int jdk.internal.org.objectweb.asm.Type top int int jdk.internal.org.objectweb.asm.Type[]
StackMap stack:
4: aload 11
iload 9
aaload
astore 8
start local 8 5: aload 1
iload 6
aload 8
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.load:(ILjdk/internal/org/objectweb/asm/Type;)V
6: iload 6
aload 8
invokevirtual jdk.internal.org.objectweb.asm.Type.getSize:()I
iadd
istore 6
end local 8 7: iinc 9 1
StackMap locals:
StackMap stack:
8: iload 9
iload 10
if_icmplt 4
9: iload 5
ifne 15
aload 2
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isInterface:(I)Z
ifeq 15
10: aload 0
aload 2
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.findInvokespecialOwnerFor:(Ljava/lang/Class;)Ljava/lang/Class;
astore 8
start local 8 11: aload 1
sipush 183
aload 8
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
aload 3
aload 4
12: aload 8
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isInterface:(I)Z
13: invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
end local 8 14: goto 16
15: StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator jdk.internal.org.objectweb.asm.commons.InstructionAdapter java.lang.Class java.lang.String java.lang.String int int jdk.internal.org.objectweb.asm.Type
StackMap stack:
aload 1
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.superClassName:Ljava/lang/String;
aload 3
aload 4
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.invokespecial:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
16: StackMap locals:
StackMap stack:
iload 6
ireturn
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 17 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
0 17 1 mv Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;
0 17 2 owner Ljava/lang/Class<*>;
0 17 3 name Ljava/lang/String;
0 17 4 methodDesc Ljava/lang/String;
0 17 5 constructor Z
2 17 6 nextParam I
3 17 7 methodType Ljdk/internal/org/objectweb/asm/Type;
5 7 8 t Ljdk/internal/org/objectweb/asm/Type;
11 14 8 superType Ljava/lang/Class<*>;
Signature: (Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/String;Z)I
MethodParameters:
Name Flags
mv final
owner final
name final
methodDesc final
constructor final
private void generateFinalizerMethods();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generateFinalizerDelegate:()V
1: aload 0
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generateFinalizerOverride:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
private void generateFinalizerDelegate();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=2, args_size=1
start local 0 0: new jdk.internal.org.objectweb.asm.commons.InstructionAdapter
dup
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
bipush 10
1: ldc "$$nashornFinalizerDelegate"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.FINALIZER_DELEGATE_METHOD_DESCRIPTOR:Ljava/lang/String;
aconst_null
aconst_null
2: invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokespecial jdk.internal.org.objectweb.asm.commons.InstructionAdapter.<init>:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
astore 1
start local 1 3: aload 1
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
4: aload 1
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generatedClassName:Ljava/lang/String;
invokestatic jdk.internal.org.objectweb.asm.Type.getType:(Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/Type;
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.checkcast:(Ljdk/internal/org/objectweb/asm/Type;)V
5: aload 1
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.superClassName:Ljava/lang/String;
ldc "finalize"
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.VOID_METHOD_DESCRIPTOR:Ljava/lang/String;
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.invokespecial:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
6: aload 1
sipush 177
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitInsn:(I)V
7: aload 1
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.endMethod:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;)V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
3 9 1 mv Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;
private void generateFinalizerOverride();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=2, args_size=1
start local 0 0: new jdk.internal.org.objectweb.asm.commons.InstructionAdapter
dup
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
iconst_1
ldc "finalize"
1: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.VOID_METHOD_DESCRIPTOR:Ljava/lang/String;
aconst_null
aconst_null
2: invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokespecial jdk.internal.org.objectweb.asm.commons.InstructionAdapter.<init>:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
astore 1
start local 1 3: aload 1
new jdk.internal.org.objectweb.asm.Handle
dup
bipush 6
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.generatedClassName:Ljava/lang/String;
ldc "$$nashornFinalizerDelegate"
4: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.FINALIZER_DELEGATE_METHOD_DESCRIPTOR:Ljava/lang/String;
iconst_0
invokespecial jdk.internal.org.objectweb.asm.Handle.<init>:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
5: invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.aconst:(Ljava/lang/Object;)V
6: aload 1
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
7: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.INVOKE_NO_PERMISSIONS:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
aload 1
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
8: aload 1
sipush 177
invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitInsn:(I)V
9: aload 1
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.endMethod:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;)V
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
3 11 1 mv Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;
private static java.lang.String[] getExceptionNames(java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
arraylength
anewarray java.lang.String
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: java.lang.String[] int
StackMap stack:
aload 1
iload 2
aload 0
iload 2
aaload
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
aastore
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
arraylength
if_icmplt 3
end local 2 6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 exceptions [Ljava/lang/Class;
1 7 1 exceptionNames [Ljava/lang/String;
2 6 2 i I
Signature: ([Ljava/lang/Class<*>;)[Ljava/lang/String;
MethodParameters:
Name Flags
exceptions final
private static int getAccessModifiers(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iconst_1
aload 0
invokevirtual java.lang.reflect.Method.isVarArgs:()Z
ifeq 1
sipush 128
goto 2
StackMap locals:
StackMap stack: int
1: iconst_0
StackMap locals: java.lang.reflect.Method
StackMap stack: int int
2: ior
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 method Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
method final
private void gatherMethods(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 26
1: aload 1
invokevirtual java.lang.Class.isInterface:()Z
ifeq 2
aload 1
invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
goto 3
StackMap locals:
StackMap stack:
2: aload 1
invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
StackMap locals:
StackMap stack: java.lang.reflect.Method[]
3: astore 2
start local 2 4: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 25
StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator java.lang.Class java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
StackMap stack:
5: aload 6
iload 4
aaload
astore 3
start local 3 6: aload 3
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
astore 7
start local 7 7: aload 7
ldc "super$"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 9
8: goto 24
9: StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator java.lang.Class java.lang.reflect.Method[] java.lang.reflect.Method int int java.lang.reflect.Method[] java.lang.String
StackMap stack:
aload 3
invokevirtual java.lang.reflect.Method.getModifiers:()I
istore 8
start local 8 10: iload 8
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 12
11: goto 24
12: StackMap locals: int
StackMap stack:
iload 8
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifne 13
iload 8
invokestatic java.lang.reflect.Modifier.isProtected:(I)Z
ifeq 24
13: StackMap locals:
StackMap stack:
aload 7
ldc "finalize"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
aload 3
invokevirtual java.lang.reflect.Method.getParameterCount:()I
ifne 18
14: aload 1
ldc Ljava/lang/Object;
if_acmpeq 24
15: aload 0
iconst_1
putfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.hasExplicitFinalizer:Z
16: iload 8
invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
ifeq 24
17: new jdk.nashorn.internal.runtime.linker.AdaptationException
dup
getstatic jdk.nashorn.internal.runtime.linker.AdaptationResult$Outcome.ERROR_FINAL_FINALIZER:Ljdk/nashorn/internal/runtime/linker/AdaptationResult$Outcome;
aload 1
invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
invokespecial jdk.nashorn.internal.runtime.linker.AdaptationException.<init>:(Ljdk/nashorn/internal/runtime/linker/AdaptationResult$Outcome;Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo
dup
aload 3
invokespecial jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo.<init>:(Ljava/lang/reflect/Method;)V
astore 9
start local 9 19: iload 8
invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
ifne 20
aload 3
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.isCallerSensitive:(Ljava/lang/reflect/AccessibleObject;)Z
ifeq 22
20: StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.finalMethods:Ljava/util/Set;
aload 9
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
21: goto 24
StackMap locals:
StackMap stack:
22: aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.finalMethods:Ljava/util/Set;
aload 9
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 24
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.methodInfos:Ljava/util/Set;
aload 9
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifeq 24
iload 8
invokestatic java.lang.reflect.Modifier.isAbstract:(I)Z
ifeq 24
23: aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.abstractMethodNames:Ljava/util/Set;
aload 9
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo.getName:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 8 end local 7 end local 3 24: StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator java.lang.Class java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
25: iload 4
iload 5
if_icmplt 5
end local 2 26: StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator java.lang.Class
StackMap stack:
aload 1
invokevirtual java.lang.Class.isInterface:()Z
ifne 35
27: aload 1
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 2
start local 2 28: aload 2
ifnull 30
29: aload 0
aload 2
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.gatherMethods:(Ljava/lang/Class;)V
30: StackMap locals: java.lang.Class
StackMap stack:
aload 1
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 34
StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator java.lang.Class java.lang.Class top int int java.lang.Class[]
StackMap stack:
31: aload 6
iload 4
aaload
astore 3
start local 3 32: aload 0
aload 3
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.gatherMethods:(Ljava/lang/Class;)V
end local 3 33: iinc 4 1
StackMap locals:
StackMap stack:
34: iload 4
iload 5
if_icmplt 31
end local 2 35: StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator java.lang.Class
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
0 36 1 type Ljava/lang/Class<*>;
4 26 2 typeMethods [Ljava/lang/reflect/Method;
6 24 3 typeMethod Ljava/lang/reflect/Method;
7 24 7 name Ljava/lang/String;
10 24 8 m I
19 24 9 mi Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator$MethodInfo;
28 35 2 superType Ljava/lang/Class<*>;
32 33 3 itf Ljava/lang/Class<*>;
Exceptions:
throws jdk.nashorn.internal.runtime.linker.AdaptationException
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
type final
private void gatherMethods(java.util.List<java.lang.Class<?>>);
descriptor: (Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 3
StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator java.util.List top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 2
start local 2 2: aload 0
aload 2
invokevirtual jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.gatherMethods:(Ljava/lang/Class;)V
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 Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
0 5 1 classes Ljava/util/List<Ljava/lang/Class<*>;>;
2 3 2 c Ljava/lang/Class<*>;
Exceptions:
throws jdk.nashorn.internal.runtime.linker.AdaptationException
Signature: (Ljava/util/List<Ljava/lang/Class<*>;>;)V
MethodParameters:
Name Flags
classes final
private static java.util.Collection<jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo> getExcludedMethods();
descriptor: ()Ljava/util/Collection;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$2
dup
invokespecial jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$2.<init>:()V
1: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.GET_DECLARED_MEMBERS_ACC_CTXT:Ljava/security/AccessControlContext;
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
checkcast java.util.Collection
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: ()Ljava/util/Collection<Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator$MethodInfo;>;
private java.lang.String getCommonSuperClass(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
iconst_0
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.commonLoader:Ljava/lang/ClassLoader;
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 3
start local 3 1: aload 2
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
iconst_0
aload 0
getfield jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.commonLoader:Ljava/lang/ClassLoader;
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 4
start local 4 2: aload 3
aload 4
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 5
3: aload 1
4: areturn
5: StackMap locals: java.lang.Class java.lang.Class
StackMap stack:
aload 4
aload 3
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 8
6: aload 2
7: areturn
8: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.Class.isInterface:()Z
ifne 9
aload 4
invokevirtual java.lang.Class.isInterface:()Z
ifeq 11
9: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.OBJECT_TYPE:Ljdk/internal/org/objectweb/asm/Type;
invokevirtual jdk.internal.org.objectweb.asm.Type.getInternalName:()Ljava/lang/String;
10: areturn
11: StackMap locals:
StackMap stack:
aload 3
aload 4
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.assignableSuperClass:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
12: areturn
end local 4 end local 3 13: StackMap locals: jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator java.lang.String java.lang.String
StackMap stack: java.lang.ClassNotFoundException
astore 3
start local 3 14: new java.lang.RuntimeException
dup
aload 3
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator;
0 15 1 type1 Ljava/lang/String;
0 15 2 type2 Ljava/lang/String;
1 13 3 c1 Ljava/lang/Class<*>;
2 13 4 c2 Ljava/lang/Class<*>;
14 15 3 e Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
0 4 13 Class java.lang.ClassNotFoundException
5 7 13 Class java.lang.ClassNotFoundException
8 10 13 Class java.lang.ClassNotFoundException
11 12 13 Class java.lang.ClassNotFoundException
MethodParameters:
Name Flags
type1 final
type2 final
private static java.lang.Class<?> assignableSuperClass(java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 2
start local 2 1: aload 2
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 2
aload 2
goto 3
StackMap locals: java.lang.Class
StackMap stack:
2: aload 2
aload 1
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.assignableSuperClass:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
StackMap locals:
StackMap stack: java.lang.Class
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 c1 Ljava/lang/Class<*>;
0 4 1 c2 Ljava/lang/Class<*>;
1 4 2 superClass Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
c1 final
c2 final
private static boolean isCallerSensitive(java.lang.reflect.AccessibleObject);
descriptor: (Ljava/lang/reflect/AccessibleObject;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Ljdk/internal/reflect/CallerSensitive;
invokevirtual java.lang.reflect.AccessibleObject.isAnnotationPresent:(Ljava/lang/Class;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e Ljava/lang/reflect/AccessibleObject;
MethodParameters:
Name Flags
e final
private static jdk.nashorn.internal.codegen.CompilerConstants$Call lookupServiceMethod(java.lang.String, java.lang.Class<?>, java.lang.Class<?>[]);
descriptor: (Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: ldc Ljdk/nashorn/internal/runtime/linker/JavaAdapterServices;
aload 0
aload 1
aload 2
invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/String;
0 1 1 rtype Ljava/lang/Class<*>;
0 1 2 ptypes [Ljava/lang/Class;
Signature: (Ljava/lang/String;Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
MethodParameters:
Name Flags
name final
rtype final
ptypes final
private static void lambda$0(jdk.internal.org.objectweb.asm.commons.InstructionAdapter, int);
descriptor: (Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;I)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator.emitFinally:(Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;I)V
return
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "JavaAdapterBytecodeGenerator.java"
NestMembers:
jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$1 jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$2 jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Call = jdk.nashorn.internal.codegen.CompilerConstants$Call of jdk.nashorn.internal.codegen.CompilerConstants
final Outcome = jdk.nashorn.internal.runtime.linker.AdaptationResult$Outcome of jdk.nashorn.internal.runtime.linker.AdaptationResult
jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$1
jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$2
private MethodInfo = jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator$MethodInfo of jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator