class jdk.nashorn.internal.codegen.SharedScopeCall
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.nashorn.internal.codegen.SharedScopeCall
super_class: java.lang.Object
{
public static final int SHARED_CALL_THRESHOLD;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int SHARED_GET_THRESHOLD;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final jdk.nashorn.internal.codegen.CompilerConstants$Call REPLACE_PROGRAM_POINT;
descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int FIXED_PARAM_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private final jdk.nashorn.internal.codegen.types.Type valueType;
descriptor: Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.nashorn.internal.ir.Symbol symbol;
descriptor: Ljdk/nashorn/internal/ir/Symbol;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.nashorn.internal.codegen.types.Type returnType;
descriptor: Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.nashorn.internal.codegen.types.Type[] paramTypes;
descriptor: [Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int flags;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isCall;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isOptimistic;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private jdk.nashorn.internal.codegen.CompileUnit compileUnit;
descriptor: Ljdk/nashorn/internal/codegen/CompileUnit;
flags: (0x0002) ACC_PRIVATE
private java.lang.String methodName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String staticSignature;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
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=7, locals=0, args_size=0
0: ldc Ljdk/nashorn/internal/codegen/SharedScopeCall;
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.codegen.SharedScopeCall.$assertionsDisabled:Z
3: ldc "nashorn.shared.scope.call.threshold"
iconst_5
invokestatic jdk.nashorn.internal.runtime.options.Options.getIntProperty:(Ljava/lang/String;I)I
4: putstatic jdk.nashorn.internal.codegen.SharedScopeCall.SHARED_CALL_THRESHOLD:I
5: ldc "nashorn.shared.scope.get.threshold"
bipush 100
invokestatic jdk.nashorn.internal.runtime.options.Options.getIntProperty:(Ljava/lang/String;I)I
6: putstatic jdk.nashorn.internal.codegen.SharedScopeCall.SHARED_GET_THRESHOLD:I
7: ldc Ljdk/nashorn/internal/runtime/UnwarrantedOptimismException;
ldc "replaceProgramPoint"
8: ldc Ljdk/nashorn/internal/runtime/UnwarrantedOptimismException;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
9: invokestatic jdk.nashorn.internal.codegen.CompilerConstants.virtualCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
putstatic jdk.nashorn.internal.codegen.SharedScopeCall.REPLACE_PROGRAM_POINT:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
10: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.nashorn.internal.ir.Symbol, jdk.nashorn.internal.codegen.types.Type, jdk.nashorn.internal.codegen.types.Type, jdk.nashorn.internal.codegen.types.Type[], int, boolean);
descriptor: (Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;[Ljdk/nashorn/internal/codegen/types/Type;IZ)V
flags: (0x0000)
Code:
stack=2, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield jdk.nashorn.internal.codegen.SharedScopeCall.symbol:Ljdk/nashorn/internal/ir/Symbol;
2: aload 0
aload 2
putfield jdk.nashorn.internal.codegen.SharedScopeCall.valueType:Ljdk/nashorn/internal/codegen/types/Type;
3: aload 0
aload 3
putfield jdk.nashorn.internal.codegen.SharedScopeCall.returnType:Ljdk/nashorn/internal/codegen/types/Type;
4: aload 0
aload 4
putfield jdk.nashorn.internal.codegen.SharedScopeCall.paramTypes:[Ljdk/nashorn/internal/codegen/types/Type;
5: aload 0
iload 5
putfield jdk.nashorn.internal.codegen.SharedScopeCall.flags:I
6: aload 0
aload 4
ifnull 7
iconst_1
goto 8
StackMap locals: jdk.nashorn.internal.codegen.SharedScopeCall jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type[] int int
StackMap stack: jdk.nashorn.internal.codegen.SharedScopeCall
7: iconst_0
StackMap locals: jdk.nashorn.internal.codegen.SharedScopeCall jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type[] int int
StackMap stack: jdk.nashorn.internal.codegen.SharedScopeCall int
8: putfield jdk.nashorn.internal.codegen.SharedScopeCall.isCall:Z
9: aload 0
iload 6
putfield jdk.nashorn.internal.codegen.SharedScopeCall.isOptimistic:Z
10: return
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 11 0 this Ljdk/nashorn/internal/codegen/SharedScopeCall;
0 11 1 symbol Ljdk/nashorn/internal/ir/Symbol;
0 11 2 valueType Ljdk/nashorn/internal/codegen/types/Type;
0 11 3 returnType Ljdk/nashorn/internal/codegen/types/Type;
0 11 4 paramTypes [Ljdk/nashorn/internal/codegen/types/Type;
0 11 5 flags I
0 11 6 isOptimistic Z
MethodParameters:
Name Flags
symbol final
valueType final
returnType final
paramTypes final
flags final
isOptimistic final
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.symbol:Ljdk/nashorn/internal/ir/Symbol;
invokevirtual java.lang.Object.hashCode:()I
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.returnType:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual java.lang.Object.hashCode:()I
ixor
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.paramTypes:[Ljdk/nashorn/internal/codegen/types/Type;
invokestatic java.util.Arrays.hashCode:([Ljava/lang/Object;)I
ixor
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.flags:I
ixor
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.isOptimistic:Z
invokestatic java.lang.Boolean.hashCode:(Z)I
ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/SharedScopeCall;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof jdk.nashorn.internal.codegen.SharedScopeCall
ifeq 9
1: aload 1
checkcast jdk.nashorn.internal.codegen.SharedScopeCall
astore 2
start local 2 2: aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.symbol:Ljdk/nashorn/internal/ir/Symbol;
aload 2
getfield jdk.nashorn.internal.codegen.SharedScopeCall.symbol:Ljdk/nashorn/internal/ir/Symbol;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
3: aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.flags:I
aload 2
getfield jdk.nashorn.internal.codegen.SharedScopeCall.flags:I
if_icmpne 8
4: aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.returnType:Ljdk/nashorn/internal/codegen/types/Type;
aload 2
getfield jdk.nashorn.internal.codegen.SharedScopeCall.returnType:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
5: aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.paramTypes:[Ljdk/nashorn/internal/codegen/types/Type;
aload 2
getfield jdk.nashorn.internal.codegen.SharedScopeCall.paramTypes:[Ljdk/nashorn/internal/codegen/types/Type;
invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
ifeq 8
6: aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.isOptimistic:Z
aload 2
getfield jdk.nashorn.internal.codegen.SharedScopeCall.isOptimistic:Z
if_icmpne 8
7: iconst_1
ireturn
StackMap locals: jdk.nashorn.internal.codegen.SharedScopeCall
StackMap stack:
8: iconst_0
ireturn
end local 2 9: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/nashorn/internal/codegen/SharedScopeCall;
0 10 1 obj Ljava/lang/Object;
2 9 2 c Ljdk/nashorn/internal/codegen/SharedScopeCall;
MethodParameters:
Name Flags
obj final
protected void setClassAndName(jdk.nashorn.internal.codegen.CompileUnit, java.lang.String);
descriptor: (Ljdk/nashorn/internal/codegen/CompileUnit;Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
putfield jdk.nashorn.internal.codegen.SharedScopeCall.compileUnit:Ljdk/nashorn/internal/codegen/CompileUnit;
1: aload 0
aload 2
putfield jdk.nashorn.internal.codegen.SharedScopeCall.methodName:Ljava/lang/String;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/SharedScopeCall;
0 3 1 compileUnit Ljdk/nashorn/internal/codegen/CompileUnit;
0 3 2 methodName Ljava/lang/String;
MethodParameters:
Name Flags
compileUnit final
methodName final
public void generateInvoke(jdk.nashorn.internal.codegen.MethodEmitter);
descriptor: (Ljdk/nashorn/internal/codegen/MethodEmitter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.compileUnit:Ljdk/nashorn/internal/codegen/CompileUnit;
invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getUnitClassName:()Ljava/lang/String;
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.methodName:Ljava/lang/String;
aload 0
invokevirtual jdk.nashorn.internal.codegen.SharedScopeCall.getStaticSignature:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/SharedScopeCall;
0 2 1 method Ljdk/nashorn/internal/codegen/MethodEmitter;
MethodParameters:
Name Flags
method final
protected void generateScopeCall();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=13, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.compileUnit:Ljdk/nashorn/internal/codegen/CompileUnit;
invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getClassEmitter:()Ljdk/nashorn/internal/codegen/ClassEmitter;
astore 1
start local 1 1: getstatic jdk.nashorn.internal.codegen.ClassEmitter$Flag.STATIC:Ljdk/nashorn/internal/codegen/ClassEmitter$Flag;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
astore 2
start local 2 2: aload 1
aload 2
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.methodName:Ljava/lang/String;
aload 0
invokevirtual jdk.nashorn.internal.codegen.SharedScopeCall.getStaticSignature:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.method:(Ljava/util/EnumSet;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
astore 3
start local 3 3: aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.begin:()V
4: aload 3
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
5: aload 3
getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
iconst_1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
6: aload 3
getstatic jdk.nashorn.internal.runtime.ScriptObject.GET_PROTO_DEPTH:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
7: getstatic jdk.nashorn.internal.codegen.SharedScopeCall.$assertionsDisabled:Z
ifne 8
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.isCall:Z
ifeq 8
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.valueType:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifne 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals: jdk.nashorn.internal.codegen.ClassEmitter java.util.EnumSet jdk.nashorn.internal.codegen.MethodEmitter
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.isOptimistic:Z
ifeq 15
9: new jdk.nashorn.internal.codegen.Label
dup
ldc "begin_try"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 4
start local 4 10: new jdk.nashorn.internal.codegen.Label
dup
ldc "end_try"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 5
start local 5 11: new jdk.nashorn.internal.codegen.Label
dup
ldc "catch_label"
invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
astore 6
start local 6 12: aload 3
aload 4
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
13: aload 3
aload 4
aload 5
aload 6
ldc Ljdk/nashorn/internal/runtime/UnwarrantedOptimismException;
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._try:(Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljava/lang/Class;Z)V
14: goto 18
end local 6 end local 5 end local 4 15: StackMap locals:
StackMap stack:
aconst_null
dup
astore 6
start local 6 16: dup
astore 5
start local 5 17: astore 4
start local 4 18: StackMap locals: jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.isOptimistic:Z
ifeq 19
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.isCall:Z
ifne 19
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.flags:I
sipush 128
ior
goto 20
StackMap locals:
StackMap stack:
19: aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.flags:I
StackMap locals:
StackMap stack: int
20: istore 7
start local 7 21: aload 3
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.valueType:Ljdk/nashorn/internal/codegen/types/Type;
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.symbol:Ljdk/nashorn/internal/ir/Symbol;
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
iload 7
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.isCall:Z
iconst_0
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dynamicGet:(Ljdk/nashorn/internal/codegen/types/Type;Ljava/lang/String;IZZ)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
22: aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.isCall:Z
ifeq 36
23: aload 3
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
24: aload 3
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
25: iconst_3
istore 8
start local 8 26: aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.paramTypes:[Ljdk/nashorn/internal/codegen/types/Type;
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 31
StackMap locals: jdk.nashorn.internal.codegen.SharedScopeCall jdk.nashorn.internal.codegen.ClassEmitter java.util.EnumSet jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label int int top int int jdk.nashorn.internal.codegen.types.Type[]
StackMap stack:
27: aload 12
iload 10
aaload
astore 9
start local 9 28: aload 3
aload 9
iload 8
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
29: iload 8
aload 9
invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
iadd
istore 8
end local 9 30: iinc 10 1
StackMap locals:
StackMap stack:
31: iload 10
iload 11
if_icmplt 27
32: aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.isOptimistic:Z
ifeq 33
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.flags:I
sipush 128
ior
goto 34
StackMap locals: jdk.nashorn.internal.codegen.SharedScopeCall jdk.nashorn.internal.codegen.ClassEmitter java.util.EnumSet jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label int int
StackMap stack:
33: aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.flags:I
StackMap locals:
StackMap stack: int
34: istore 9
start local 9 35: aload 3
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.returnType:Ljdk/nashorn/internal/codegen/types/Type;
iconst_2
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.paramTypes:[Ljdk/nashorn/internal/codegen/types/Type;
arraylength
iadd
iload 9
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.symbol:Ljdk/nashorn/internal/ir/Symbol;
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dynamicCall:(Ljdk/nashorn/internal/codegen/types/Type;IILjava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
end local 9 end local 8 36: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.isOptimistic:Z
ifeq 38
37: aload 3
aload 5
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
38: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.returnType:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._return:(Ljdk/nashorn/internal/codegen/types/Type;)V
39: aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.isOptimistic:Z
ifeq 44
40: aload 3
aload 6
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._catch:(Ljdk/nashorn/internal/codegen/Label;)V
41: aload 3
getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
iconst_2
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
42: aload 3
getstatic jdk.nashorn.internal.codegen.SharedScopeCall.REPLACE_PROGRAM_POINT:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
43: aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.athrow:()V
44: StackMap locals:
StackMap stack:
aload 3
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.end:()V
45: return
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 46 0 this Ljdk/nashorn/internal/codegen/SharedScopeCall;
1 46 1 classEmitter Ljdk/nashorn/internal/codegen/ClassEmitter;
2 46 2 methodFlags Ljava/util/EnumSet<Ljdk/nashorn/internal/codegen/ClassEmitter$Flag;>;
3 46 3 method Ljdk/nashorn/internal/codegen/MethodEmitter;
10 15 4 beginTry Ljdk/nashorn/internal/codegen/Label;
18 46 4 beginTry Ljdk/nashorn/internal/codegen/Label;
11 15 5 endTry Ljdk/nashorn/internal/codegen/Label;
17 46 5 endTry Ljdk/nashorn/internal/codegen/Label;
12 15 6 catchLabel Ljdk/nashorn/internal/codegen/Label;
16 46 6 catchLabel Ljdk/nashorn/internal/codegen/Label;
21 46 7 getFlags I
26 36 8 slot I
28 30 9 type Ljdk/nashorn/internal/codegen/types/Type;
35 36 9 callFlags I
private java.lang.String getStaticSignature();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.staticSignature:Ljava/lang/String;
ifnonnull 10
1: aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.paramTypes:[Ljdk/nashorn/internal/codegen/types/Type;
ifnonnull 4
2: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.returnType:Ljdk/nashorn/internal/codegen/types/Type;
iconst_3
anewarray jdk.nashorn.internal.codegen.types.Type
dup
iconst_0
ldc Ljdk/nashorn/internal/runtime/ScriptObject;
invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
aastore
dup
iconst_1
getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
aastore
dup
iconst_2
getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
aastore
invokestatic jdk.nashorn.internal.codegen.types.Type.getMethodDescriptor:(Ljdk/nashorn/internal/codegen/types/Type;[Ljdk/nashorn/internal/codegen/types/Type;)Ljava/lang/String;
putfield jdk.nashorn.internal.codegen.SharedScopeCall.staticSignature:Ljava/lang/String;
3: goto 10
4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.paramTypes:[Ljdk/nashorn/internal/codegen/types/Type;
arraylength
iconst_3
iadd
anewarray jdk.nashorn.internal.codegen.types.Type
astore 1
start local 1 5: aload 1
iconst_0
ldc Ljdk/nashorn/internal/runtime/ScriptObject;
invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
aastore
6: aload 1
iconst_1
getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
aastore
7: aload 1
iconst_2
getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
aastore
8: aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.paramTypes:[Ljdk/nashorn/internal/codegen/types/Type;
iconst_0
aload 1
iconst_3
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.paramTypes:[Ljdk/nashorn/internal/codegen/types/Type;
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.returnType:Ljdk/nashorn/internal/codegen/types/Type;
aload 1
invokestatic jdk.nashorn.internal.codegen.types.Type.getMethodDescriptor:(Ljdk/nashorn/internal/codegen/types/Type;[Ljdk/nashorn/internal/codegen/types/Type;)Ljava/lang/String;
putfield jdk.nashorn.internal.codegen.SharedScopeCall.staticSignature:Ljava/lang/String;
end local 1 10: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.staticSignature:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/nashorn/internal/codegen/SharedScopeCall;
5 10 1 params [Ljdk/nashorn/internal/codegen/types/Type;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.methodName:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.nashorn.internal.codegen.SharedScopeCall.staticSignature:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/SharedScopeCall;
}
SourceFile: "SharedScopeCall.java"
InnerClasses:
final Flag = jdk.nashorn.internal.codegen.ClassEmitter$Flag of jdk.nashorn.internal.codegen.ClassEmitter
public abstract Call = jdk.nashorn.internal.codegen.CompilerConstants$Call of jdk.nashorn.internal.codegen.CompilerConstants