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 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.CodeGenerator$TypeBounds val$resultBounds;
descriptor: Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
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 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, jdk.nashorn.internal.ir.Block, jdk.nashorn.internal.ir.Symbol, java.util.List, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds, jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext, jdk.nashorn.internal.ir.IdentNode, int);
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/Block;Ljdk/nashorn/internal/ir/Symbol;Ljava/util/List;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/codegen/CodeGeneratorLexicalContext;Ljdk/nashorn/internal/ir/IdentNode;I)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$1.this$1:Ljdk/nashorn/internal/codegen/CodeGenerator$3;
aload 0
aload 5
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.val$currentBlock:Ljdk/nashorn/internal/ir/Block;
aload 0
aload 6
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.val$symbol:Ljdk/nashorn/internal/ir/Symbol;
aload 0
aload 7
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.val$args:Ljava/util/List;
aload 0
aload 8
putfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.val$resultBounds:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
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
iload 11
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$currentBlock final
val$symbol final
val$args final
val$resultBounds final
val$codegenLexicalContext final
val$identNode final
val$flags final
void loadStack();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=2, 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.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
istore 1
start local 1 2: getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
ifne 3
iload 1
ifge 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: int
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;
iload 1
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
4: 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
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$3$1.getProgramPoint:()I
invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
pop
5: 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 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/nashorn/internal/codegen/CodeGenerator$3$1;
2 7 1 depth I
void consumeStack();
descriptor: ()V
flags: (0x0000)
Code:
stack=8, locals=4, 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.isOptimistic:Z
ifeq 7
aload 0
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$3$1.getOptimisticCoercedType:()Ljdk/nashorn/internal/codegen/types/Type;
goto 8
StackMap locals:
StackMap stack:
7: 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;
StackMap locals:
StackMap stack: jdk.nashorn.internal.codegen.types.Type
8: astore 2
start local 2 9: 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;
10: 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 2
aload 1
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.val$flags:I
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$3$1.isOptimistic:Z
11: 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;IZ)Ljdk/nashorn/internal/codegen/SharedScopeCall;
astore 3
start local 3 12: aload 3
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;)V
13: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/nashorn/internal/codegen/CodeGenerator$3$1;
1 14 1 paramTypes [Ljdk/nashorn/internal/codegen/types/Type;
2 6 2 i I
9 14 2 resultType Ljdk/nashorn/internal/codegen/types/Type;
12 14 3 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