final class jdk.nashorn.internal.runtime.linker.NashornBottomLinker implements jdk.dynalink.linker.GuardingDynamicLinker, jdk.dynalink.linker.GuardingTypeConverterFactory
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.nashorn.internal.runtime.linker.NashornBottomLinker
super_class: java.lang.Object
{
private static final java.lang.invoke.MethodHandle EMPTY_PROP_GETTER;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle EMPTY_ELEM_GETTER;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle EMPTY_PROP_SETTER;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle EMPTY_ELEM_SETTER;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle THROW_STRICT_PROPERTY_SETTER;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle THROW_STRICT_PROPERTY_REMOVER;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle THROW_OPTIMISTIC_UNDEFINED;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle MISSING_PROPERTY_REMOVER;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Map<java.lang.Class<?>, java.lang.invoke.MethodHandle> CONVERTERS;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Class<*>;Ljava/lang/invoke/MethodHandle;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$jdk$dynalink$StandardOperation;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=1, args_size=0
0: ldc Ljdk/nashorn/internal/runtime/linker/NashornBottomLinker;
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.NashornBottomLinker.$assertionsDisabled:Z
3: getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
ldc Ljava/lang/Object;
getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.constant:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
iconst_0
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
4: putstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.EMPTY_PROP_GETTER:Ljava/lang/invoke/MethodHandle;
5: getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
getstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.EMPTY_PROP_GETTER:Ljava/lang/invoke/MethodHandle;
iconst_0
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
6: putstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.EMPTY_ELEM_GETTER:Ljava/lang/invoke/MethodHandle;
7: getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
getstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.EMPTY_ELEM_GETTER:Ljava/lang/invoke/MethodHandle;
getstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.EMPTY_ELEM_GETTER:Ljava/lang/invoke/MethodHandle;
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
8: putstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.EMPTY_PROP_SETTER:Ljava/lang/invoke/MethodHandle;
9: getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
getstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.EMPTY_PROP_SETTER:Ljava/lang/invoke/MethodHandle;
iconst_0
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
10: putstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.EMPTY_ELEM_SETTER:Ljava/lang/invoke/MethodHandle;
11: new jdk.dynalink.linker.support.Lookup
dup
invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
invokespecial jdk.dynalink.linker.support.Lookup.<init>:(Ljava/lang/invoke/MethodHandles$Lookup;)V
astore 0
start local 0 12: aload 0
ldc "throwStrictPropertySetter"
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
dup
iconst_1
ldc Ljava/lang/Object;
aastore
invokevirtual jdk.dynalink.linker.support.Lookup.findOwnStatic:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.THROW_STRICT_PROPERTY_SETTER:Ljava/lang/invoke/MethodHandle;
13: aload 0
ldc "throwStrictPropertyRemover"
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
dup
iconst_1
ldc Ljava/lang/Object;
aastore
invokevirtual jdk.dynalink.linker.support.Lookup.findOwnStatic:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.THROW_STRICT_PROPERTY_REMOVER:Ljava/lang/invoke/MethodHandle;
14: aload 0
ldc "throwOptimisticUndefined"
ldc Ljava/lang/Object;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
invokevirtual jdk.dynalink.linker.support.Lookup.findOwnStatic:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.THROW_OPTIMISTIC_UNDEFINED:Ljava/lang/invoke/MethodHandle;
15: aload 0
ldc "missingPropertyRemover"
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
dup
iconst_1
ldc Ljava/lang/Object;
aastore
invokevirtual jdk.dynalink.linker.support.Lookup.findOwnStatic:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.MISSING_PROPERTY_REMOVER:Ljava/lang/invoke/MethodHandle;
end local 0 16: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.CONVERTERS:Ljava/util/Map;
17: getstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.CONVERTERS:Ljava/util/Map;
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
getstatic jdk.nashorn.internal.runtime.JSType.TO_BOOLEAN:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.methodHandle:()Ljava/lang/invoke/MethodHandle;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: getstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.CONVERTERS:Ljava/util/Map;
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
getstatic jdk.nashorn.internal.runtime.JSType.TO_NUMBER:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.methodHandle:()Ljava/lang/invoke/MethodHandle;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
19: getstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.CONVERTERS:Ljava/util/Map;
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
getstatic jdk.nashorn.internal.runtime.JSType.TO_INTEGER:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.methodHandle:()Ljava/lang/invoke/MethodHandle;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
20: getstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.CONVERTERS:Ljava/util/Map;
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
getstatic jdk.nashorn.internal.runtime.JSType.TO_LONG:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.methodHandle:()Ljava/lang/invoke/MethodHandle;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
21: getstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.CONVERTERS:Ljava/util/Map;
ldc Ljava/lang/String;
getstatic jdk.nashorn.internal.runtime.JSType.TO_STRING:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.methodHandle:()Ljava/lang/invoke/MethodHandle;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
22: return
LocalVariableTable:
Start End Slot Name Signature
12 16 0 lookup Ljdk/dynalink/linker/support/Lookup;
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/linker/NashornBottomLinker;
public jdk.dynalink.linker.GuardedInvocation getGuardedInvocation(jdk.dynalink.linker.LinkRequest, jdk.dynalink.linker.LinkerServices);
descriptor: (Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/linker/GuardedInvocation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface jdk.dynalink.linker.LinkRequest.getReceiver:()Ljava/lang/Object;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: aload 1
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.linkNull:(Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
getstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.$assertionsDisabled:Z
ifne 4
aload 3
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.isExpectedObject:(Ljava/lang/Object;)Z
ifne 4
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Couldn't link "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jdk.dynalink.linker.LinkRequest.getCallSiteDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
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
4: StackMap locals:
StackMap stack:
aload 1
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.linkBean:(Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/runtime/linker/NashornBottomLinker;
0 5 1 linkRequest Ljdk/dynalink/linker/LinkRequest;
0 5 2 linkerServices Ljdk/dynalink/linker/LinkerServices;
1 5 3 self Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
linkRequest final
linkerServices final
private static jdk.dynalink.linker.GuardedInvocation linkBean(jdk.dynalink.linker.LinkRequest);
descriptor: (Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
invokeinterface jdk.dynalink.linker.LinkRequest.getCallSiteDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
astore 1
start local 1 1: aload 0
invokeinterface jdk.dynalink.linker.LinkRequest.getReceiver:()Ljava/lang/Object;
astore 2
start local 2 2: invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.$SWITCH_TABLE$jdk$dynalink$StandardOperation:()[I
aload 1
invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.getStandardOperation:(Ljdk/dynalink/CallSiteDescriptor;)Ljdk/dynalink/StandardOperation;
invokevirtual jdk.dynalink.StandardOperation.ordinal:()I
iaload
tableswitch { // 4 - 5
4: 8
5: 3
default: 13
}
3: StackMap locals: jdk.dynalink.CallSiteDescriptor java.lang.Object
StackMap stack:
aload 2
invokestatic jdk.dynalink.beans.BeansLinker.isDynamicConstructor:(Ljava/lang/Object;)Z
ifeq 5
4: ldc "no.constructor.matches.args"
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 2
invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
aastore
invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
athrow
5: StackMap locals:
StackMap stack:
aload 2
invokestatic jdk.dynalink.beans.BeansLinker.isDynamicMethod:(Ljava/lang/Object;)Z
ifeq 7
6: ldc "method.not.constructor"
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 2
invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
aastore
invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
athrow
7: StackMap locals:
StackMap stack:
ldc "not.a.function"
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 1
aload 2
invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.getFunctionErrorMessage:(Ljdk/dynalink/CallSiteDescriptor;Ljava/lang/Object;)Ljava/lang/String;
aastore
invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
athrow
8: StackMap locals:
StackMap stack:
aload 2
invokestatic jdk.dynalink.beans.BeansLinker.isDynamicConstructor:(Ljava/lang/Object;)Z
ifeq 10
9: ldc "constructor.requires.new"
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 2
invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
aastore
invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
athrow
10: StackMap locals:
StackMap stack:
aload 2
invokestatic jdk.dynalink.beans.BeansLinker.isDynamicMethod:(Ljava/lang/Object;)Z
ifeq 12
11: ldc "no.method.matches.args"
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 2
invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
aastore
invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
athrow
12: StackMap locals:
StackMap stack:
ldc "not.a.function"
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 1
aload 2
invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.getFunctionErrorMessage:(Ljdk/dynalink/CallSiteDescriptor;Ljava/lang/Object;)Ljava/lang/String;
aastore
invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
athrow
13: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "unknown call type "
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 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 linkRequest Ljdk/dynalink/linker/LinkRequest;
1 14 1 desc Ljdk/dynalink/CallSiteDescriptor;
2 14 2 self Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
linkRequest final
static java.lang.invoke.MethodHandle linkMissingBeanMember(jdk.dynalink.linker.LinkRequest, jdk.dynalink.linker.LinkerServices);
descriptor: (Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface jdk.dynalink.linker.LinkRequest.getCallSiteDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
astore 2
start local 2 1: aload 2
invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.getOperand:(Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/String;
astore 3
start local 3 2: aload 2
invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isStrict:(Ljdk/dynalink/CallSiteDescriptor;)Z
istore 4
start local 4 3: invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.$SWITCH_TABLE$jdk$dynalink$StandardOperation:()[I
aload 2
invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.getStandardOperation:(Ljdk/dynalink/CallSiteDescriptor;)Ljdk/dynalink/StandardOperation;
invokevirtual jdk.dynalink.StandardOperation.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 4
2: 9
3: 14
default: 17
}
4: StackMap locals: jdk.dynalink.CallSiteDescriptor java.lang.String int
StackMap stack:
aload 2
invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isOptimistic:(Ljdk/dynalink/CallSiteDescriptor;)Z
ifeq 6
5: getstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.THROW_OPTIMISTIC_UNDEFINED:Ljava/lang/invoke/MethodHandle;
iconst_0
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.getProgramPoint:(Ljdk/dynalink/CallSiteDescriptor;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.invoke.MethodHandles.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
aload 2
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.adaptThrower:(Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandle;
areturn
6: StackMap locals:
StackMap stack:
aload 3
ifnull 8
7: getstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.EMPTY_PROP_GETTER:Ljava/lang/invoke/MethodHandle;
aload 1
aload 2
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.getInvocation:(Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/linker/LinkerServices;Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandle;
areturn
8: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.EMPTY_ELEM_GETTER:Ljava/lang/invoke/MethodHandle;
aload 1
aload 2
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.getInvocation:(Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/linker/LinkerServices;Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandle;
areturn
9: StackMap locals:
StackMap stack:
iload 4
ifeq 11
10: getstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.THROW_STRICT_PROPERTY_SETTER:Ljava/lang/invoke/MethodHandle;
aload 3
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.bindOperand:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
aload 2
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.adaptThrower:(Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandle;
areturn
11: StackMap locals:
StackMap stack:
aload 3
ifnull 13
12: getstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.EMPTY_PROP_SETTER:Ljava/lang/invoke/MethodHandle;
aload 1
aload 2
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.getInvocation:(Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/linker/LinkerServices;Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandle;
areturn
13: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.EMPTY_ELEM_SETTER:Ljava/lang/invoke/MethodHandle;
aload 1
aload 2
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.getInvocation:(Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/linker/LinkerServices;Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandle;
areturn
14: StackMap locals:
StackMap stack:
iload 4
ifeq 16
15: getstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.THROW_STRICT_PROPERTY_REMOVER:Ljava/lang/invoke/MethodHandle;
aload 3
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.bindOperand:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
aload 2
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.adaptThrower:(Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandle;
areturn
16: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.MISSING_PROPERTY_REMOVER:Ljava/lang/invoke/MethodHandle;
aload 3
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.bindOperand:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
aload 1
aload 2
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.getInvocation:(Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/linker/LinkerServices;Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandle;
areturn
17: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "unknown call type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
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 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 linkRequest Ljdk/dynalink/linker/LinkRequest;
0 18 1 linkerServices Ljdk/dynalink/linker/LinkerServices;
1 18 2 desc Ljdk/dynalink/CallSiteDescriptor;
2 18 3 operand Ljava/lang/String;
3 18 4 strict Z
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
linkRequest final
linkerServices final
private static java.lang.invoke.MethodHandle bindOperand(java.lang.invoke.MethodHandle, java.lang.String);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
aload 0
goto 2
StackMap locals:
StackMap stack:
1: aload 0
iconst_1
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic java.lang.invoke.MethodHandles.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
StackMap locals:
StackMap stack: java.lang.invoke.MethodHandle
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 handle Ljava/lang/invoke/MethodHandle;
0 3 1 operand Ljava/lang/String;
MethodParameters:
Name Flags
handle final
operand final
private static java.lang.invoke.MethodHandle adaptThrower(java.lang.invoke.MethodHandle, jdk.dynalink.CallSiteDescriptor);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
astore 2
start local 2 1: aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
istore 3
start local 3 2: aload 0
iload 3
aload 2
invokevirtual java.lang.invoke.MethodType.parameterList:()Ljava/util/List;
iload 3
aload 2
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
invokeinterface java.util.List.subList:(II)Ljava/util/List;
invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;ILjava/util/List;)Ljava/lang/invoke/MethodHandle;
3: aload 2
invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
4: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 handle Ljava/lang/invoke/MethodHandle;
0 5 1 desc Ljdk/dynalink/CallSiteDescriptor;
1 5 2 targetType Ljava/lang/invoke/MethodType;
2 5 3 paramCount I
MethodParameters:
Name Flags
handle final
desc final
private static void throwStrictPropertySetter(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc "cant.set.property"
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.createTypeError:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 self Ljava/lang/Object;
0 1 1 name Ljava/lang/Object;
MethodParameters:
Name Flags
self final
name final
private static boolean throwStrictPropertyRemover(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.isNonConfigurableProperty:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 2
1: aload 0
aload 1
ldc "cant.delete.property"
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.createTypeError:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
athrow
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 self Ljava/lang/Object;
0 3 1 name Ljava/lang/Object;
MethodParameters:
Name Flags
self final
name final
private static boolean missingPropertyRemover(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.isNonConfigurableProperty:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 self Ljava/lang/Object;
0 3 1 name Ljava/lang/Object;
MethodParameters:
Name Flags
self final
name final
private static boolean isNonConfigurableProperty(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
instanceof jdk.dynalink.beans.StaticClass
ifeq 7
1: aload 0
checkcast jdk.dynalink.beans.StaticClass
invokevirtual jdk.dynalink.beans.StaticClass.getRepresentedClass:()Ljava/lang/Class;
astore 2
start local 2 2: aload 2
invokestatic jdk.dynalink.beans.BeansLinker.getReadableStaticPropertyNames:(Ljava/lang/Class;)Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 6
3: aload 2
invokestatic jdk.dynalink.beans.BeansLinker.getWritableStaticPropertyNames:(Ljava/lang/Class;)Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 6
4: aload 2
invokestatic jdk.dynalink.beans.BeansLinker.getStaticMethodNames:(Ljava/lang/Class;)Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 6
5: iconst_0
ireturn
StackMap locals: java.lang.Class
StackMap stack:
6: iconst_1
ireturn
end local 2 7: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 2
start local 2 8: aload 2
invokestatic jdk.dynalink.beans.BeansLinker.getReadableInstancePropertyNames:(Ljava/lang/Class;)Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 12
9: aload 2
invokestatic jdk.dynalink.beans.BeansLinker.getWritableInstancePropertyNames:(Ljava/lang/Class;)Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 12
10: aload 2
invokestatic jdk.dynalink.beans.BeansLinker.getInstanceMethodNames:(Ljava/lang/Class;)Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 12
11: iconst_0
ireturn
StackMap locals: java.lang.Class
StackMap stack:
12: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 self Ljava/lang/Object;
0 13 1 name Ljava/lang/Object;
2 7 2 clazz Ljava/lang/Class<*>;
8 13 2 clazz Ljava/lang/Class<*>;
MethodParameters:
Name Flags
self final
name final
private static jdk.nashorn.internal.runtime.ECMAException createTypeError(java.lang.Object, java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
iconst_2
anewarray java.lang.String
dup
iconst_0
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
aastore
dup
iconst_1
aload 0
invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
aastore
invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 self Ljava/lang/Object;
0 1 1 name Ljava/lang/Object;
0 1 2 msg Ljava/lang/String;
MethodParameters:
Name Flags
self final
name final
msg final
private static java.lang.Object throwOptimisticUndefined(int);
descriptor: (I)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new jdk.nashorn.internal.runtime.UnwarrantedOptimismException
dup
getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
iload 0
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokespecial jdk.nashorn.internal.runtime.UnwarrantedOptimismException.<init>:(Ljava/lang/Object;ILjdk/nashorn/internal/codegen/types/Type;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 programPoint I
MethodParameters:
Name Flags
programPoint final
public jdk.dynalink.linker.GuardedInvocation convertToType(java.lang.Class<?>, java.lang.Class<?>, java.util.function.Supplier<java.lang.invoke.MethodHandles$Lookup>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/util/function/Supplier;)Ljdk/dynalink/linker/GuardedInvocation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.convertToTypeNoCast:(Ljava/lang/Class;Ljava/lang/Class;)Ljdk/dynalink/linker/GuardedInvocation;
astore 4
start local 4 1: aload 4
ifnonnull 2
aconst_null
goto 3
StackMap locals: jdk.dynalink.linker.GuardedInvocation
StackMap stack:
2: aload 4
getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
aload 2
iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 1
aastore
invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.type:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
invokevirtual jdk.dynalink.linker.GuardedInvocation.asType:(Ljava/lang/invoke/MethodType;)Ljdk/dynalink/linker/GuardedInvocation;
StackMap locals:
StackMap stack: jdk.dynalink.linker.GuardedInvocation
3: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/runtime/linker/NashornBottomLinker;
0 4 1 sourceType Ljava/lang/Class<*>;
0 4 2 targetType Ljava/lang/Class<*>;
0 4 3 lookupSupplier Ljava/util/function/Supplier<Ljava/lang/invoke/MethodHandles$Lookup;>;
1 4 4 gi Ljdk/dynalink/linker/GuardedInvocation;
Exceptions:
throws java.lang.Exception
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;Ljava/util/function/Supplier<Ljava/lang/invoke/MethodHandles$Lookup;>;)Ljdk/dynalink/linker/GuardedInvocation;
MethodParameters:
Name Flags
sourceType final
targetType final
lookupSupplier final
private static jdk.dynalink.linker.GuardedInvocation convertToTypeNoCast(java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Ljdk/dynalink/linker/GuardedInvocation;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.CONVERTERS:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.invoke.MethodHandle
astore 2
start local 2 1: aload 2
ifnull 3
2: new jdk.dynalink.linker.GuardedInvocation
dup
aload 2
invokespecial jdk.dynalink.linker.GuardedInvocation.<init>:(Ljava/lang/invoke/MethodHandle;)V
areturn
3: StackMap locals: java.lang.invoke.MethodHandle
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 sourceType Ljava/lang/Class<*>;
0 4 1 targetType Ljava/lang/Class<*>;
1 4 2 mh Ljava/lang/invoke/MethodHandle;
Exceptions:
throws java.lang.Exception
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Ljdk/dynalink/linker/GuardedInvocation;
MethodParameters:
Name Flags
sourceType final
targetType final
private static java.lang.invoke.MethodHandle getInvocation(java.lang.invoke.MethodHandle, jdk.dynalink.linker.LinkerServices, jdk.dynalink.CallSiteDescriptor);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/linker/LinkerServices;Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
aload 2
invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
invokeinterface jdk.dynalink.linker.LinkerServices.asTypeLosslessReturn:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 handle Ljava/lang/invoke/MethodHandle;
0 1 1 linkerServices Ljdk/dynalink/linker/LinkerServices;
0 1 2 desc Ljdk/dynalink/CallSiteDescriptor;
MethodParameters:
Name Flags
handle final
linkerServices final
desc final
private static boolean isExpectedObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic jdk.nashorn.internal.runtime.linker.NashornLinker.canLinkTypeStatic:(Ljava/lang/Class;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj final
private static jdk.dynalink.linker.GuardedInvocation linkNull(jdk.dynalink.linker.LinkRequest);
descriptor: (Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface jdk.dynalink.linker.LinkRequest.getCallSiteDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
astore 1
start local 1 1: invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.$SWITCH_TABLE$jdk$dynalink$StandardOperation:()[I
aload 1
invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.getStandardOperation:(Ljdk/dynalink/CallSiteDescriptor;)Ljdk/dynalink/StandardOperation;
invokevirtual jdk.dynalink.StandardOperation.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 3
2: 6
3: 7
4: 2
5: 2
default: 8
}
2: StackMap locals: jdk.dynalink.CallSiteDescriptor
StackMap stack:
ldc "not.a.function"
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "null"
aastore
invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
athrow
3: StackMap locals:
StackMap stack:
aload 1
invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isMethodFirstOperation:(Ljdk/dynalink/CallSiteDescriptor;)Z
ifeq 4
ldc "no.such.function"
goto 5
StackMap locals:
StackMap stack:
4: ldc "cant.get.property"
StackMap locals:
StackMap stack: java.lang.String
5: iconst_2
anewarray java.lang.String
dup
iconst_0
aload 0
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.getArgument:(Ljdk/dynalink/linker/LinkRequest;)Ljava/lang/String;
aastore
dup
iconst_1
ldc "null"
aastore
invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
athrow
6: StackMap locals:
StackMap stack:
ldc "cant.set.property"
iconst_2
anewarray java.lang.String
dup
iconst_0
aload 0
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.getArgument:(Ljdk/dynalink/linker/LinkRequest;)Ljava/lang/String;
aastore
dup
iconst_1
ldc "null"
aastore
invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
athrow
7: StackMap locals:
StackMap stack:
ldc "cant.delete.property"
iconst_2
anewarray java.lang.String
dup
iconst_0
aload 0
invokestatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.getArgument:(Ljdk/dynalink/linker/LinkRequest;)Ljava/lang/String;
aastore
dup
iconst_1
ldc "null"
aastore
invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
athrow
8: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "unknown call type "
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 linkRequest Ljdk/dynalink/linker/LinkRequest;
1 9 1 desc Ljdk/dynalink/CallSiteDescriptor;
MethodParameters:
Name Flags
linkRequest final
private static java.lang.String getArgument(jdk.dynalink.linker.LinkRequest);
descriptor: (Ljdk/dynalink/linker/LinkRequest;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface jdk.dynalink.linker.LinkRequest.getCallSiteDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
invokevirtual jdk.dynalink.CallSiteDescriptor.getOperation:()Ljdk/dynalink/Operation;
astore 1
start local 1 1: aload 1
instanceof jdk.dynalink.NamedOperation
ifeq 3
2: aload 1
checkcast jdk.dynalink.NamedOperation
invokevirtual jdk.dynalink.NamedOperation.getName:()Ljava/lang/Object;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
3: StackMap locals: jdk.dynalink.Operation
StackMap stack:
aload 0
invokeinterface jdk.dynalink.linker.LinkRequest.getArguments:()[Ljava/lang/Object;
iconst_1
aaload
invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 linkRequest Ljdk/dynalink/linker/LinkRequest;
1 4 1 op Ljdk/dynalink/Operation;
MethodParameters:
Name Flags
linkRequest final
static int[] $SWITCH_TABLE$jdk$dynalink$StandardOperation();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.$SWITCH_TABLE$jdk$dynalink$StandardOperation:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jdk.dynalink.StandardOperation.values:()[Ljdk/dynalink/StandardOperation;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jdk.dynalink.StandardOperation.CALL:Ljdk/dynalink/StandardOperation;
invokevirtual jdk.dynalink.StandardOperation.ordinal:()I
iconst_4
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic jdk.dynalink.StandardOperation.GET:Ljdk/dynalink/StandardOperation;
invokevirtual jdk.dynalink.StandardOperation.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jdk.dynalink.StandardOperation.NEW:Ljdk/dynalink/StandardOperation;
invokevirtual jdk.dynalink.StandardOperation.ordinal:()I
iconst_5
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic jdk.dynalink.StandardOperation.REMOVE:Ljdk/dynalink/StandardOperation;
invokevirtual jdk.dynalink.StandardOperation.ordinal:()I
iconst_3
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic jdk.dynalink.StandardOperation.SET:Ljdk/dynalink/StandardOperation;
invokevirtual jdk.dynalink.StandardOperation.ordinal:()I
iconst_2
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
dup
putstatic jdk.nashorn.internal.runtime.linker.NashornBottomLinker.$SWITCH_TABLE$jdk$dynalink$StandardOperation:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
}
SourceFile: "NashornBottomLinker.java"
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