class jdk.nashorn.internal.codegen.CodeGenerator$3$3 extends jdk.nashorn.internal.codegen.CodeGenerator$OptimisticOperation
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.nashorn.internal.codegen.CodeGenerator$3$3
super_class: jdk.nashorn.internal.codegen.CodeGenerator$OptimisticOperation
{
int argsCount;
descriptor: I
flags: (0x0000)
final jdk.nashorn.internal.codegen.CodeGenerator$3 this$1;
descriptor: Ljdk/nashorn/internal/codegen/CodeGenerator$3;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final jdk.nashorn.internal.ir.IdentNode val$ident;
descriptor: Ljdk/nashorn/internal/ir/IdentNode;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final jdk.nashorn.internal.codegen.Label val$is_not_eval;
descriptor: Ljdk/nashorn/internal/codegen/Label;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final jdk.nashorn.internal.ir.CallNode val$callNode;
descriptor: Ljdk/nashorn/internal/ir/CallNode;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final jdk.nashorn.internal.codegen.Label val$invoke_direct_eval;
descriptor: Ljdk/nashorn/internal/codegen/Label;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final int val$flags;
descriptor: I
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final jdk.nashorn.internal.codegen.Label val$eval_done;
descriptor: Ljdk/nashorn/internal/codegen/Label;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds val$resultBounds;
descriptor: Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(jdk.nashorn.internal.codegen.CodeGenerator$3, jdk.nashorn.internal.codegen.CodeGenerator, jdk.nashorn.internal.ir.Optimistic, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds, jdk.nashorn.internal.ir.IdentNode, jdk.nashorn.internal.codegen.Label, jdk.nashorn.internal.ir.CallNode, jdk.nashorn.internal.codegen.Label, int, jdk.nashorn.internal.codegen.Label, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
descriptor: (Ljdk/nashorn/internal/codegen/CodeGenerator$3;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Optimistic;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/ir/CallNode;Ljdk/nashorn/internal/codegen/Label;ILjdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
flags: (0x0000)
Code:
stack=4, locals=12, args_size=12
start local 0 start local 3 start local 4 0: aload 0
aload 1
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
aload 0
aload 5
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.val$ident:Ljdk/nashorn/internal/ir/IdentNode;
aload 0
aload 6
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.val$is_not_eval:Ljdk/nashorn/internal/codegen/Label;
aload 0
aload 7
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.val$callNode:Ljdk/nashorn/internal/ir/CallNode;
aload 0
aload 8
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.val$invoke_direct_eval:Ljdk/nashorn/internal/codegen/Label;
aload 0
iload 9
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.val$flags:I
aload 0
aload 10
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.val$eval_done:Ljdk/nashorn/internal/codegen/Label;
aload 0
aload 11
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.val$resultBounds:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
aload 0
aload 2
aload 3
aload 4
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$OptimisticOperation.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Optimistic;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
return
end local 4 end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator$3$3;
0 1 3 $anonymous0 Ljdk/nashorn/internal/ir/Optimistic;
0 1 4 $anonymous1 Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
MethodParameters:
Name Flags
this$0 final
this$1 final
$anonymous0
$anonymous1
val$ident final
val$is_not_eval final
val$callNode final
val$invoke_direct_eval final
val$flags final
val$eval_done final
val$resultBounds final
void loadStack();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$3.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;)Ljdk/nashorn/internal/codegen/CodeGenerator;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.val$ident:Ljdk/nashorn/internal/ir/IdentNode;
invokevirtual jdk.nashorn.internal.ir.IdentNode.setIsNotFunction:()Ljdk/nashorn/internal/ir/IdentNode;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$3.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;)Ljdk/nashorn/internal/codegen/CodeGenerator;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.globalIsEval:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
2: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$3.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;)Ljdk/nashorn/internal/codegen/CodeGenerator;
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.val$is_not_eval:Ljdk/nashorn/internal/codegen/Label;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifeq:(Ljdk/nashorn/internal/codegen/Label;)V
3: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$3.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;)Ljdk/nashorn/internal/codegen/CodeGenerator;
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
4: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.val$callNode:Ljdk/nashorn/internal/ir/CallNode;
invokevirtual jdk.nashorn.internal.ir.CallNode.getEvalArgs:()Ljdk/nashorn/internal/ir/CallNode$EvalArgs;
invokevirtual jdk.nashorn.internal.ir.CallNode$EvalArgs.getArgs:()Ljava/util/List;
astore 1
start local 1 5: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$3.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;)Ljdk/nashorn/internal/codegen/CodeGenerator;
aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.Expression
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
6: aload 1
invokeinterface java.util.List.size:()I
istore 2
start local 2 7: iconst_1
istore 3
start local 3 8: goto 11
9: StackMap locals: java.util.List int int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$3.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;)Ljdk/nashorn/internal/codegen/CodeGenerator;
aload 1
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.Expression
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
10: iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
iload 2
if_icmplt 9
end local 3 12: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$3.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;)Ljdk/nashorn/internal/codegen/CodeGenerator;
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.val$invoke_direct_eval:Ljdk/nashorn/internal/codegen/Label;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
13: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$3.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;)Ljdk/nashorn/internal/codegen/CodeGenerator;
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.val$is_not_eval:Ljdk/nashorn/internal/codegen/Label;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
14: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$3.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;)Ljdk/nashorn/internal/codegen/CodeGenerator;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.val$ident:Ljdk/nashorn/internal/ir/IdentNode;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
15: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$3.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;)Ljdk/nashorn/internal/codegen/CodeGenerator;
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadNull:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
16: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$3.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;)Ljdk/nashorn/internal/codegen/CodeGenerator;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.val$callNode:Ljdk/nashorn/internal/ir/CallNode;
invokevirtual jdk.nashorn.internal.ir.CallNode.getArgs:()Ljava/util/List;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadArgs:(Ljava/util/List;)I
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.argsCount:I
17: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljdk/nashorn/internal/codegen/CodeGenerator$3$3;
5 18 1 evalArgs Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
7 18 2 numArgs I
8 12 3 i I
void consumeStack();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
iconst_2
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.argsCount:I
iadd
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.val$flags:I
ldc "eval"
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$3$3.dynamicCall:(IILjava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$3.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;)Ljdk/nashorn/internal/codegen/CodeGenerator;
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.val$eval_done:Ljdk/nashorn/internal/codegen/Label;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
2: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$3.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;)Ljdk/nashorn/internal/codegen/CodeGenerator;
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.val$invoke_direct_eval:Ljdk/nashorn/internal/codegen/Label;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
3: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$3.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;)Ljdk/nashorn/internal/codegen/CodeGenerator;
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.THIS:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
4: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$3.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;)Ljdk/nashorn/internal/codegen/CodeGenerator;
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.val$callNode:Ljdk/nashorn/internal/ir/CallNode;
invokevirtual jdk.nashorn.internal.ir.CallNode.getEvalArgs:()Ljdk/nashorn/internal/ir/CallNode$EvalArgs;
invokevirtual jdk.nashorn.internal.ir.CallNode$EvalArgs.getLocation:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
5: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$3.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;)Ljdk/nashorn/internal/codegen/CodeGenerator;
getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$3.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;)Ljdk/nashorn/internal/codegen/CodeGenerator;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator;)Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isStrict:()Z
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
6: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$3.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;)Ljdk/nashorn/internal/codegen/CodeGenerator;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.globalDirectEval:()Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
7: aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$3$3.convertOptimisticReturnValue:()V
8: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$3.access$0:(Ljdk/nashorn/internal/codegen/CodeGenerator$3;)Ljdk/nashorn/internal/codegen/CodeGenerator;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$3.val$resultBounds:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.coerceStackTop:(Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/nashorn/internal/codegen/CodeGenerator$3$3;
}
SourceFile: "CodeGenerator.java"
EnclosingMethod: jdk.nashorn.internal.codegen.CodeGenerator$3.evalCall:(Ljdk/nashorn/internal/ir/IdentNode;I)V
NestHost: jdk.nashorn.internal.codegen.CodeGenerator
InnerClasses:
jdk.nashorn.internal.codegen.CodeGenerator$3
jdk.nashorn.internal.codegen.CodeGenerator$3$3
private abstract OptimisticOperation = jdk.nashorn.internal.codegen.CodeGenerator$OptimisticOperation of jdk.nashorn.internal.codegen.CodeGenerator
private final TypeBounds = jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds of jdk.nashorn.internal.codegen.CodeGenerator
public EvalArgs = jdk.nashorn.internal.ir.CallNode$EvalArgs of jdk.nashorn.internal.ir.CallNode