class jdk.nashorn.internal.codegen.CodeGenerator$3$1 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$1
super_class: jdk.nashorn.internal.codegen.CodeGenerator$OptimisticOperation
{
final jdk.nashorn.internal.codegen.CodeGenerator$3 this$1;
descriptor: Ljdk/nashorn/internal/codegen/CodeGenerator$3;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final boolean val$isFastScope;
descriptor: Z
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final jdk.nashorn.internal.ir.Block val$currentBlock;
descriptor: Ljdk/nashorn/internal/ir/Block;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final jdk.nashorn.internal.ir.Symbol val$symbol;
descriptor: Ljdk/nashorn/internal/ir/Symbol;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final java.util.List val$args;
descriptor: Ljava/util/List;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext val$codegenLexicalContext;
descriptor: Ljdk/nashorn/internal/codegen/CodeGeneratorLexicalContext;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final jdk.nashorn.internal.ir.IdentNode val$identNode;
descriptor: Ljdk/nashorn/internal/ir/IdentNode;
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
private final int val$flags;
descriptor: I
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, boolean, jdk.nashorn.internal.ir.Block, jdk.nashorn.internal.ir.Symbol, java.util.List, jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext, jdk.nashorn.internal.ir.IdentNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds, int);
descriptor: (Ljdk/nashorn/internal/codegen/CodeGenerator$3;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Optimistic;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;ZLjdk/nashorn/internal/ir/Block;Ljdk/nashorn/internal/ir/Symbol;Ljava/util/List;Ljdk/nashorn/internal/codegen/CodeGeneratorLexicalContext;Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;I)V
flags: (0x0000)
Code:
stack=4, locals=13, args_size=13
start local 0 start local 3 start local 4 0: aload 0
aload 1
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
aload 0
iload 5
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.val$isFastScope:Z
aload 0
aload 6
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.val$currentBlock:Ljdk/nashorn/internal/ir/Block;
aload 0
aload 7
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.val$symbol:Ljdk/nashorn/internal/ir/Symbol;
aload 0
aload 8
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.val$args:Ljava/util/List;
aload 0
aload 9
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.val$codegenLexicalContext:Ljdk/nashorn/internal/codegen/CodeGeneratorLexicalContext;
aload 0
aload 10
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.val$identNode:Ljdk/nashorn/internal/ir/IdentNode;
aload 0
aload 11
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.val$resultBounds:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
aload 0
iload 12
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.val$flags:I
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$1;
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$isFastScope final
val$currentBlock final
val$symbol final
val$args final
val$codegenLexicalContext final
val$identNode final
val$resultBounds final
val$flags final
void loadStack();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.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
1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.val$isFastScope:Z
ifeq 4
2: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.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$1.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$1.val$currentBlock:Ljdk/nashorn/internal/ir/Block;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.val$symbol:Ljdk/nashorn/internal/ir/Symbol;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getScopeProtoDepth:(Ljdk/nashorn/internal/ir/Block;Ljdk/nashorn/internal/ir/Symbol;)I
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.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;
iconst_m1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
5: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.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$1.val$args:Ljava/util/List;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadArgs:(Ljava/util/List;)I
pop
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/nashorn/internal/codegen/CodeGenerator$3$1;
void consumeStack();
descriptor: ()V
flags: (0x0000)
Code:
stack=7, locals=3, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.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$1.val$args:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getTypesFromStack:(I)[Ljdk/nashorn/internal/codegen/types/Type;
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: jdk.nashorn.internal.codegen.types.Type[] int
StackMap stack:
aload 1
iload 2
aload 1
iload 2
aaload
invokestatic jdk.nashorn.internal.codegen.types.Type.generic:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
aastore
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 1
arraylength
if_icmplt 3
end local 2 6: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.val$codegenLexicalContext:Ljdk/nashorn/internal/codegen/CodeGeneratorLexicalContext;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.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.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.val$symbol:Ljdk/nashorn/internal/ir/Symbol;
7: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.val$identNode:Ljdk/nashorn/internal/ir/IdentNode;
invokevirtual jdk.nashorn.internal.ir.IdentNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.val$resultBounds:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.widest:Ljdk/nashorn/internal/codegen/types/Type;
aload 1
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.val$flags:I
8: invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getScopeCall:(Ljdk/nashorn/internal/codegen/CompileUnit;Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;[Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/SharedScopeCall;
astore 2
start local 2 9: aload 2
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.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.SharedScopeCall.generateInvoke:(Ljdk/nashorn/internal/codegen/MethodEmitter;)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/nashorn/internal/codegen/CodeGenerator$3$1;
1 11 1 paramTypes [Ljdk/nashorn/internal/codegen/types/Type;
2 6 2 i I
9 11 2 scopeCall Ljdk/nashorn/internal/codegen/SharedScopeCall;
}
SourceFile: "CodeGenerator.java"
EnclosingMethod: jdk.nashorn.internal.codegen.CodeGenerator$3.sharedScopeCall:(Ljdk/nashorn/internal/ir/IdentNode;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
NestHost: jdk.nashorn.internal.codegen.CodeGenerator
InnerClasses:
jdk.nashorn.internal.codegen.CodeGenerator$3
jdk.nashorn.internal.codegen.CodeGenerator$3$1
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