final class jdk.nashorn.internal.codegen.AssignSymbols extends jdk.nashorn.internal.ir.visitor.SimpleNodeVisitor implements jdk.nashorn.internal.runtime.logging.Loggable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.nashorn.internal.codegen.AssignSymbols
super_class: jdk.nashorn.internal.ir.visitor.SimpleNodeVisitor
{
private final jdk.nashorn.internal.runtime.logging.DebugLogger log;
descriptor: Ljdk/nashorn/internal/runtime/logging/DebugLogger;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean debug;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Deque<java.util.Set<java.lang.String>> thisProperties;
descriptor: Ljava/util/Deque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Deque<Ljava/util/Set<Ljava/lang/String;>;>;
private final java.util.Map<java.lang.String, jdk.nashorn.internal.ir.Symbol> globalSymbols;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljdk/nashorn/internal/ir/Symbol;>;
private final jdk.nashorn.internal.codegen.Compiler compiler;
descriptor: Ljdk/nashorn/internal/codegen/Compiler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isOnDemand;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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=1, locals=0, args_size=0
0: ldc Ljdk/nashorn/internal/codegen/AssignSymbols;
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.AssignSymbols.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
private static boolean isParamOrVar(jdk.nashorn.internal.ir.IdentNode);
descriptor: (Ljdk/nashorn/internal/ir/IdentNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
astore 1
start local 1 1: aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.isParam:()Z
ifne 2
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.isVar:()Z
ifne 2
iconst_0
ireturn
StackMap locals: jdk.nashorn.internal.ir.Symbol
StackMap stack:
2: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 identNode Ljdk/nashorn/internal/ir/IdentNode;
1 3 1 symbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
identNode final
private static java.lang.String name(jdk.nashorn.internal.ir.Node);
descriptor: (Ljdk/nashorn/internal/ir/Node;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 1
start local 1 1: aload 1
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 2
start local 2 2: iload 2
iconst_m1
if_icmpne 4
3: aload 1
areturn
4: StackMap locals: java.lang.String int
StackMap stack:
aload 1
iload 2
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 node Ljdk/nashorn/internal/ir/Node;
1 5 1 cn Ljava/lang/String;
2 5 2 lastDot I
MethodParameters:
Name Flags
node final
private static jdk.nashorn.internal.ir.FunctionNode removeUnusedSlots(jdk.nashorn.internal.ir.FunctionNode);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/FunctionNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsCallee:()Z
ifne 2
1: aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.CALLEE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.compilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/Symbol;
iconst_0
invokevirtual jdk.nashorn.internal.ir.Symbol.setNeedsSlot:(Z)Ljdk/nashorn/internal/ir/Symbol;
pop
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.ir.FunctionNode.hasScopeBlock:()Z
ifne 4
aload 0
invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsParentScope:()Z
ifne 4
3: aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.compilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/Symbol;
iconst_0
invokevirtual jdk.nashorn.internal.ir.Symbol.setNeedsSlot:(Z)Ljdk/nashorn/internal/ir/Symbol;
pop
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isNamedFunctionExpression:()Z
ifeq 9
aload 0
invokevirtual jdk.nashorn.internal.ir.FunctionNode.usesSelfSymbol:()Z
ifne 9
5: aload 0
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getBody:()Ljdk/nashorn/internal/ir/Block;
aload 0
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getIdent:()Ljdk/nashorn/internal/ir/IdentNode;
invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.ir.Block.getExistingSymbol:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol;
astore 1
start local 1 6: aload 1
ifnull 9
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.isFunctionSelf:()Z
ifeq 9
7: aload 1
iconst_0
invokevirtual jdk.nashorn.internal.ir.Symbol.setNeedsSlot:(Z)Ljdk/nashorn/internal/ir/Symbol;
pop
8: aload 1
iconst_2
invokevirtual jdk.nashorn.internal.ir.Symbol.clearFlag:(I)Ljdk/nashorn/internal/ir/Symbol;
pop
end local 1 9: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
6 9 1 selfSymbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
functionNode final
public void <init>(jdk.nashorn.internal.codegen.Compiler);
descriptor: (Ljdk/nashorn/internal/codegen/Compiler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial jdk.nashorn.internal.ir.visitor.SimpleNodeVisitor.<init>:()V
1: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield jdk.nashorn.internal.codegen.AssignSymbols.thisProperties:Ljava/util/Deque;
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield jdk.nashorn.internal.codegen.AssignSymbols.globalSymbols:Ljava/util/Map;
3: aload 0
aload 1
putfield jdk.nashorn.internal.codegen.AssignSymbols.compiler:Ljdk/nashorn/internal/codegen/Compiler;
4: aload 0
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.Compiler.getContext:()Ljdk/nashorn/internal/runtime/Context;
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.initLogger:(Ljdk/nashorn/internal/runtime/Context;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
putfield jdk.nashorn.internal.codegen.AssignSymbols.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
5: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.isEnabled:()Z
putfield jdk.nashorn.internal.codegen.AssignSymbols.debug:Z
6: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.Compiler.isOnDemandCompilation:()Z
putfield jdk.nashorn.internal.codegen.AssignSymbols.isOnDemand:Z
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 8 1 compiler Ljdk/nashorn/internal/codegen/Compiler;
MethodParameters:
Name Flags
compiler final
public jdk.nashorn.internal.runtime.logging.DebugLogger getLogger();
descriptor: ()Ljdk/nashorn/internal/runtime/logging/DebugLogger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
public jdk.nashorn.internal.runtime.logging.DebugLogger initLogger(jdk.nashorn.internal.runtime.Context);
descriptor: (Ljdk/nashorn/internal/runtime/Context;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual jdk.nashorn.internal.runtime.Context.getLogger:(Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 1 1 context Ljdk/nashorn/internal/runtime/Context;
MethodParameters:
Name Flags
context final
private void acceptDeclarations(jdk.nashorn.internal.ir.FunctionNode, jdk.nashorn.internal.ir.Block);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/ir/Block;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
new jdk.nashorn.internal.codegen.AssignSymbols$1
dup
aload 0
aload 2
invokespecial jdk.nashorn.internal.codegen.AssignSymbols$1.<init>:(Ljdk/nashorn/internal/codegen/AssignSymbols;Ljdk/nashorn/internal/ir/Block;)V
invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 2 1 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
0 2 2 body Ljdk/nashorn/internal/ir/Block;
MethodParameters:
Name Flags
functionNode final
body final
private jdk.nashorn.internal.ir.IdentNode compilerConstantIdentifier(jdk.nashorn.internal.codegen.CompilerConstants);
descriptor: (Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/IdentNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.createImplicitIdentifier:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/IdentNode;
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.compilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/Symbol;
invokevirtual jdk.nashorn.internal.ir.IdentNode.setSymbol:(Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/ir/IdentNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 1 1 cc Ljdk/nashorn/internal/codegen/CompilerConstants;
MethodParameters:
Name Flags
cc final
private jdk.nashorn.internal.ir.IdentNode createImplicitIdentifier(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/nashorn/internal/ir/IdentNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
astore 2
start local 2 1: new jdk.nashorn.internal.ir.IdentNode
dup
aload 2
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getToken:()J
aload 2
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFinish:()I
aload 1
invokespecial jdk.nashorn.internal.ir.IdentNode.<init>:(JILjava/lang/String;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 2 1 name Ljava/lang/String;
1 2 2 fn Ljdk/nashorn/internal/ir/FunctionNode;
MethodParameters:
Name Flags
name final
private jdk.nashorn.internal.ir.Symbol createSymbol(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Ljdk/nashorn/internal/ir/Symbol;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
iconst_3
iand
iconst_1
if_icmpne 6
1: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.globalSymbols:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.Symbol
astore 3
start local 3 2: aload 3
ifnonnull 5
3: new jdk.nashorn.internal.ir.Symbol
dup
aload 1
iload 2
invokespecial jdk.nashorn.internal.ir.Symbol.<init>:(Ljava/lang/String;I)V
astore 3
4: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.globalSymbols:Ljava/util/Map;
aload 1
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: StackMap locals: jdk.nashorn.internal.ir.Symbol
StackMap stack:
aload 3
areturn
end local 3 6: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.ir.Symbol
dup
aload 1
iload 2
invokespecial jdk.nashorn.internal.ir.Symbol.<init>:(Ljava/lang/String;I)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 7 1 name Ljava/lang/String;
0 7 2 flags I
2 6 3 global Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
name final
flags final
private jdk.nashorn.internal.ir.VarNode createSyntheticInitializer(jdk.nashorn.internal.ir.IdentNode, jdk.nashorn.internal.codegen.CompilerConstants, jdk.nashorn.internal.ir.FunctionNode);
descriptor: (Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/VarNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.compilerConstantIdentifier:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/IdentNode;
astore 4
start local 4 1: getstatic jdk.nashorn.internal.codegen.AssignSymbols.$assertionsDisabled:Z
ifne 3
aload 4
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
ifnull 2
aload 4
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
invokevirtual jdk.nashorn.internal.ir.Symbol.isBytecodeLocal:()Z
ifne 3
StackMap locals: jdk.nashorn.internal.ir.IdentNode
StackMap stack:
2: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.ir.VarNode
dup
aload 3
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getLineNumber:()I
aload 3
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getToken:()J
aload 3
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getFinish:()I
aload 1
aload 4
invokespecial jdk.nashorn.internal.ir.VarNode.<init>:(IJILjdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/ir/Expression;)V
astore 5
start local 5 4: aload 3
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getBody:()Ljdk/nashorn/internal/ir/Block;
aload 1
invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.ir.Block.getExistingSymbol:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol;
astore 6
start local 6 5: getstatic jdk.nashorn.internal.codegen.AssignSymbols.$assertionsDisabled:Z
ifne 6
aload 6
ifnonnull 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: jdk.nashorn.internal.ir.VarNode jdk.nashorn.internal.ir.Symbol
StackMap stack:
aload 5
aload 1
aload 6
invokevirtual jdk.nashorn.internal.ir.IdentNode.setSymbol:(Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/ir/IdentNode;
invokevirtual jdk.nashorn.internal.ir.VarNode.setName:(Ljdk/nashorn/internal/ir/IdentNode;)Ljdk/nashorn/internal/ir/VarNode;
aload 0
invokevirtual jdk.nashorn.internal.ir.VarNode.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
checkcast jdk.nashorn.internal.ir.VarNode
areturn
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 7 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 7 1 name Ljdk/nashorn/internal/ir/IdentNode;
0 7 2 initConstant Ljdk/nashorn/internal/codegen/CompilerConstants;
0 7 3 fn Ljdk/nashorn/internal/ir/FunctionNode;
1 7 4 init Ljdk/nashorn/internal/ir/IdentNode;
4 7 5 synthVar Ljdk/nashorn/internal/ir/VarNode;
5 7 6 nameSymbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
name final
initConstant final
fn final
private jdk.nashorn.internal.ir.FunctionNode createSyntheticInitializers(jdk.nashorn.internal.ir.FunctionNode);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/FunctionNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
iconst_2
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 1: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getBody:()Ljdk/nashorn/internal/ir/Block;
astore 3
start local 3 2: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 3
invokevirtual jdk.nashorn.internal.ir.LexicalContext.push:(Ljdk/nashorn/internal/ir/LexicalContextNode;)Ljdk/nashorn/internal/ir/LexicalContextNode;
pop
3: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.usesSelfSymbol:()Z
ifeq 5
4: aload 2
aload 0
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getIdent:()Ljdk/nashorn/internal/ir/IdentNode;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.CALLEE:Ljdk/nashorn/internal/codegen/CompilerConstants;
aload 1
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.createSyntheticInitializer:(Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/VarNode;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: StackMap locals: java.util.List jdk.nashorn.internal.ir.Block
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsArguments:()Z
ifeq 9
6: aload 2
aload 0
aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.ARGUMENTS_VAR:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.createImplicitIdentifier:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/IdentNode;
7: getstatic jdk.nashorn.internal.codegen.CompilerConstants.ARGUMENTS:Ljdk/nashorn/internal/codegen/CompilerConstants;
aload 1
8: invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.createSyntheticInitializer:(Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/VarNode;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.List.isEmpty:()Z
ifeq 13
10: aload 1
astore 6
11: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 3
invokevirtual jdk.nashorn.internal.ir.LexicalContext.pop:(Ljdk/nashorn/internal/ir/Node;)Ljdk/nashorn/internal/ir/Node;
pop
12: aload 6
areturn
13: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
astore 4
start local 4 14: goto 16
15: StackMap locals: java.util.ListIterator
StackMap stack:
aload 4
aload 4
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.VarNode
aload 0
invokevirtual jdk.nashorn.internal.ir.VarNode.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
checkcast jdk.nashorn.internal.ir.VarNode
invokeinterface java.util.ListIterator.set:(Ljava/lang/Object;)V
16: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.ListIterator.hasNext:()Z
ifne 15
end local 4 17: goto 21
StackMap locals: jdk.nashorn.internal.codegen.AssignSymbols jdk.nashorn.internal.ir.FunctionNode java.util.List jdk.nashorn.internal.ir.Block
StackMap stack: java.lang.Throwable
18: astore 5
19: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 3
invokevirtual jdk.nashorn.internal.ir.LexicalContext.pop:(Ljdk/nashorn/internal/ir/Node;)Ljdk/nashorn/internal/ir/Node;
pop
20: aload 5
athrow
21: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 3
invokevirtual jdk.nashorn.internal.ir.LexicalContext.pop:(Ljdk/nashorn/internal/ir/Node;)Ljdk/nashorn/internal/ir/Node;
pop
22: aload 3
invokevirtual jdk.nashorn.internal.ir.Block.getStatements:()Ljava/util/List;
astore 4
start local 4 23: new java.util.ArrayList
dup
aload 4
invokeinterface java.util.List.size:()I
aload 2
invokeinterface java.util.List.size:()I
iadd
invokespecial java.util.ArrayList.<init>:(I)V
astore 5
start local 5 24: aload 5
aload 2
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
25: aload 5
aload 4
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
26: aload 1
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 3
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 5
invokevirtual jdk.nashorn.internal.ir.Block.setStatements:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/util/List;)Ljdk/nashorn/internal/ir/Block;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.setBody:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/FunctionNode;
areturn
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 27 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 27 1 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
1 27 2 syntheticInitializers Ljava/util/List<Ljdk/nashorn/internal/ir/VarNode;>;
2 27 3 body Ljdk/nashorn/internal/ir/Block;
14 17 4 it Ljava/util/ListIterator<Ljdk/nashorn/internal/ir/VarNode;>;
23 27 4 stmts Ljava/util/List<Ljdk/nashorn/internal/ir/Statement;>;
24 27 5 newStatements Ljava/util/List<Ljdk/nashorn/internal/ir/Statement;>;
Exception table:
from to target type
3 11 18 any
13 18 18 any
MethodParameters:
Name Flags
functionNode final
private jdk.nashorn.internal.ir.Symbol defineSymbol(jdk.nashorn.internal.ir.Block, java.lang.String, jdk.nashorn.internal.ir.Node, int);
descriptor: (Ljdk/nashorn/internal/ir/Block;Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;I)Ljdk/nashorn/internal/ir/Symbol;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
istore 5
start local 5 1: iload 5
bipush 16
iand
ifne 2
iload 5
bipush 32
iand
ifne 2
iconst_0
goto 3
StackMap locals: int
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: istore 6
start local 6 4: iload 5
iconst_3
iand
iconst_1
if_icmpne 5
iconst_1
goto 6
StackMap locals: int
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 7
start local 7 7: iload 6
ifeq 11
8: aload 1
aload 2
invokevirtual jdk.nashorn.internal.ir.Block.getExistingSymbol:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol;
astore 8
start local 8 9: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
astore 9
start local 9 10: goto 13
end local 9 end local 8 11: StackMap locals: int
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.findSymbol:(Ljdk/nashorn/internal/ir/Block;Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol;
astore 8
start local 8 12: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 1
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getFunction:(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/FunctionNode;
astore 9
start local 9 13: StackMap locals: jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.ir.FunctionNode
StackMap stack:
iload 7
ifeq 15
14: iload 5
iconst_4
ior
istore 5
15: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isProgram:()Z
ifeq 17
16: iload 5
sipush 512
ior
istore 5
17: StackMap locals:
StackMap stack:
iload 5
iconst_3
iand
iconst_3
if_icmpne 18
iconst_1
goto 19
StackMap locals:
StackMap stack:
18: iconst_0
StackMap locals:
StackMap stack: int
19: istore 10
start local 10 20: iload 5
iconst_3
iand
iconst_2
if_icmpne 21
iconst_1
goto 22
StackMap locals: int
StackMap stack:
21: iconst_0
StackMap locals:
StackMap stack: int
22: istore 11
start local 11 23: aload 8
ifnull 47
24: iload 10
ifeq 31
25: aload 0
aload 9
aload 8
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.isLocal:(Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/ir/Symbol;)Z
ifne 28
26: aconst_null
astore 8
27: goto 47
StackMap locals: int
StackMap stack:
28: aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.isParam:()Z
ifeq 47
29: aload 0
ldc "syntax.error.duplicate.parameter"
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 2
aastore
invokestatic jdk.nashorn.internal.runtime.ECMAErrors.getMessage:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
aload 3
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.throwParserException:(Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;)V
30: goto 47
StackMap locals:
StackMap stack:
31: iload 11
ifeq 47
32: iload 6
ifeq 40
33: aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.hasBeenDeclared:()Z
ifeq 36
34: aload 0
ldc "syntax.error.redeclare.variable"
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 2
aastore
invokestatic jdk.nashorn.internal.runtime.ECMAErrors.getMessage:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
aload 3
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.throwParserException:(Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;)V
35: goto 47
36: StackMap locals:
StackMap stack:
aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.setHasBeenDeclared:()V
37: aload 9
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isProgram:()Z
ifeq 47
aload 9
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getBody:()Ljdk/nashorn/internal/ir/Block;
aload 1
if_acmpne 47
38: aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.setIsScope:()Ljdk/nashorn/internal/ir/Symbol;
pop
39: goto 47
StackMap locals:
StackMap stack:
40: iload 5
bipush 64
iand
ifeq 43
41: aconst_null
astore 8
42: goto 47
43: StackMap locals:
StackMap stack:
aload 8
invokevirtual jdk.nashorn.internal.ir.Symbol.isBlockScoped:()Z
ifeq 45
aload 0
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
aload 8
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.isLocal:(Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/ir/Symbol;)Z
ifeq 45
44: aload 0
ldc "syntax.error.redeclare.variable"
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 2
aastore
invokestatic jdk.nashorn.internal.runtime.ECMAErrors.getMessage:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
aload 3
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.throwParserException:(Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;)V
45: StackMap locals:
StackMap stack:
aload 0
aload 9
aload 8
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.isLocal:(Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/ir/Symbol;)Z
ifeq 46
aload 8
iconst_2
invokevirtual jdk.nashorn.internal.ir.Symbol.less:(I)Z
ifeq 47
46: StackMap locals:
StackMap stack:
aconst_null
astore 8
47: StackMap locals:
StackMap stack:
aload 8
ifnonnull 60
48: iload 11
ifeq 51
iload 5
bipush 64
iand
ifne 49
iload 6
ifeq 51
49: StackMap locals:
StackMap stack:
aload 1
astore 12
start local 12 50: goto 55
end local 12 StackMap locals:
StackMap stack:
51: iload 7
ifeq 54
52: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getOutermostFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getBody:()Ljdk/nashorn/internal/ir/Block;
astore 12
start local 12 53: goto 55
end local 12 54: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 9
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getFunctionBody:(Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/Block;
astore 12
start local 12 55: StackMap locals: jdk.nashorn.internal.ir.Block
StackMap stack:
aload 0
aload 2
iload 5
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.createSymbol:(Ljava/lang/String;I)Ljdk/nashorn/internal/ir/Symbol;
astore 8
56: aload 12
aload 8
invokevirtual jdk.nashorn.internal.ir.Block.putSymbol:(Ljdk/nashorn/internal/ir/Symbol;)V
57: iload 5
iconst_4
iand
ifne 62
58: aload 8
iconst_1
invokevirtual jdk.nashorn.internal.ir.Symbol.setNeedsSlot:(Z)Ljdk/nashorn/internal/ir/Symbol;
pop
end local 12 59: goto 62
StackMap locals:
StackMap stack:
60: aload 8
iload 5
invokevirtual jdk.nashorn.internal.ir.Symbol.less:(I)Z
ifeq 62
61: aload 8
iload 5
invokevirtual jdk.nashorn.internal.ir.Symbol.setFlags:(I)Ljdk/nashorn/internal/ir/Symbol;
pop
62: StackMap locals:
StackMap stack:
aload 8
areturn
end local 11 end local 10 end local 9 end local 8 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 63 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 63 1 block Ljdk/nashorn/internal/ir/Block;
0 63 2 name Ljava/lang/String;
0 63 3 origin Ljdk/nashorn/internal/ir/Node;
0 63 4 symbolFlags I
1 63 5 flags I
4 63 6 isBlockScope Z
7 63 7 isGlobal Z
9 11 8 symbol Ljdk/nashorn/internal/ir/Symbol;
12 63 8 symbol Ljdk/nashorn/internal/ir/Symbol;
10 11 9 function Ljdk/nashorn/internal/ir/FunctionNode;
13 63 9 function Ljdk/nashorn/internal/ir/FunctionNode;
20 63 10 isParam Z
23 63 11 isVar Z
50 51 12 symbolBlock Ljdk/nashorn/internal/ir/Block;
53 54 12 symbolBlock Ljdk/nashorn/internal/ir/Block;
55 59 12 symbolBlock Ljdk/nashorn/internal/ir/Block;
MethodParameters:
Name Flags
block final
name final
origin final
symbolFlags final
private <T extends jdk.nashorn.internal.ir.Node> T end();
descriptor: (Ljdk/nashorn/internal/ir/Node;)Ljdk/nashorn/internal/ir/Node;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.end:(Ljdk/nashorn/internal/ir/Node;Z)Ljdk/nashorn/internal/ir/Node;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 1 1 node TT;
Signature: <T:Ljdk/nashorn/internal/ir/Node;>(TT;)TT;
MethodParameters:
Name Flags
node final
private <T extends jdk.nashorn.internal.ir.Node> T end(T, );
descriptor: (Ljdk/nashorn/internal/ir/Node;Z)Ljdk/nashorn/internal/ir/Node;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.debug:Z
ifeq 19
1: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 2: aload 3
ldc "[LEAVE "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: aload 1
invokestatic jdk.nashorn.internal.codegen.AssignSymbols.name:(Ljdk/nashorn/internal/ir/Node;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc "] "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: iload 2
ifeq 6
aload 1
invokevirtual jdk.nashorn.internal.ir.Node.toString:()Ljava/lang/String;
goto 7
StackMap locals: jdk.nashorn.internal.codegen.AssignSymbols jdk.nashorn.internal.ir.Node int java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder
6: ldc ""
StackMap locals: jdk.nashorn.internal.codegen.AssignSymbols jdk.nashorn.internal.ir.Node int java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder java.lang.String
7: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: ldc " in '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: bipush 39
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
11: aload 1
instanceof jdk.nashorn.internal.ir.IdentNode
ifeq 17
12: aload 1
checkcast jdk.nashorn.internal.ir.IdentNode
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
astore 4
start local 4 13: aload 4
ifnonnull 16
14: aload 3
ldc " <NO SYMBOL>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: goto 17
16: StackMap locals: jdk.nashorn.internal.ir.Symbol
StackMap stack:
aload 3
ldc " <symbol="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
bipush 62
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 4 17: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.unindent:()V
18: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.info:([Ljava/lang/Object;)V
end local 3 19: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 20 1 node TT;
0 20 2 printNode Z
2 19 3 sb Ljava/lang/StringBuilder;
13 17 4 symbol Ljdk/nashorn/internal/ir/Symbol;
Signature: <T:Ljdk/nashorn/internal/ir/Node;>(TT;Z)TT;
MethodParameters:
Name Flags
node final
printNode final
public boolean enterBlock(jdk.nashorn.internal.ir.Block);
descriptor: (Ljdk/nashorn/internal/ir/Block;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.start:(Ljdk/nashorn/internal/ir/Node;)Z
pop
1: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.isFunctionBody:()Z
ifeq 12
2: getstatic jdk.nashorn.internal.codegen.AssignSymbols.$assertionsDisabled:Z
ifne 3
aload 1
invokevirtual jdk.nashorn.internal.ir.Block.hasSymbols:()Z
ifeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
astore 2
start local 2 4: aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.isUnparsedFunction:(Ljdk/nashorn/internal/ir/FunctionNode;)Z
ifeq 11
5: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.compiler:Ljdk/nashorn/internal/codegen/Compiler;
aload 2
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getId:()I
invokevirtual jdk.nashorn.internal.codegen.Compiler.getScriptFunctionData:(I)Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getExternalSymbolNames:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: jdk.nashorn.internal.codegen.AssignSymbols jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.FunctionNode top java.util.Iterator
StackMap stack:
6: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 7: aload 0
aload 3
aconst_null
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.nameIsUsed:(Ljava/lang/String;Ljdk/nashorn/internal/ir/IdentNode;)Ljdk/nashorn/internal/ir/Symbol;
pop
end local 3 8: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: getstatic jdk.nashorn.internal.codegen.AssignSymbols.$assertionsDisabled:Z
ifne 10
aload 1
invokevirtual jdk.nashorn.internal.ir.Block.getStatements:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals: jdk.nashorn.internal.codegen.AssignSymbols jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.FunctionNode
StackMap stack:
iconst_0
ireturn
11: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.enterFunctionBody:()V
end local 2 12: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 13 1 block Ljdk/nashorn/internal/ir/Block;
4 12 2 fn Ljdk/nashorn/internal/ir/FunctionNode;
7 8 3 name Ljava/lang/String;
MethodParameters:
Name Flags
block final
private boolean isUnparsedFunction(jdk.nashorn.internal.ir.FunctionNode);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.isOnDemand:Z
ifeq 1
aload 1
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getOutermostFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
if_acmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 2 1 fn Ljdk/nashorn/internal/ir/FunctionNode;
MethodParameters:
Name Flags
fn final
public boolean enterCatchNode(jdk.nashorn.internal.ir.CatchNode);
descriptor: (Ljdk/nashorn/internal/ir/CatchNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.CatchNode.getExceptionIdentifier:()Ljdk/nashorn/internal/ir/IdentNode;
astore 2
start local 2 1: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentBlock:()Ljdk/nashorn/internal/ir/Block;
astore 3
start local 3 2: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.start:(Ljdk/nashorn/internal/ir/Node;)Z
pop
3: aload 2
invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
astore 4
start local 4 4: aload 4
getstatic jdk.nashorn.internal.codegen.CompilerConstants.EXCEPTION_PREFIX:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
istore 5
start local 5 5: aload 0
aload 3
aload 4
aload 1
bipush 18
iload 5
ifeq 6
bipush 64
goto 7
StackMap locals: jdk.nashorn.internal.codegen.AssignSymbols jdk.nashorn.internal.ir.CatchNode jdk.nashorn.internal.ir.IdentNode jdk.nashorn.internal.ir.Block java.lang.String int
StackMap stack: jdk.nashorn.internal.codegen.AssignSymbols jdk.nashorn.internal.ir.Block java.lang.String jdk.nashorn.internal.ir.CatchNode int
6: iconst_0
StackMap locals: jdk.nashorn.internal.codegen.AssignSymbols jdk.nashorn.internal.ir.CatchNode jdk.nashorn.internal.ir.IdentNode jdk.nashorn.internal.ir.Block java.lang.String int
StackMap stack: jdk.nashorn.internal.codegen.AssignSymbols jdk.nashorn.internal.ir.Block java.lang.String jdk.nashorn.internal.ir.CatchNode int int
7: ior
sipush 8192
ior
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.defineSymbol:(Ljdk/nashorn/internal/ir/Block;Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;I)Ljdk/nashorn/internal/ir/Symbol;
astore 6
start local 6 8: aload 6
bipush 16
invokevirtual jdk.nashorn.internal.ir.Symbol.clearFlag:(I)Ljdk/nashorn/internal/ir/Symbol;
pop
9: iconst_1
ireturn
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 10 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 10 1 catchNode Ljdk/nashorn/internal/ir/CatchNode;
1 10 2 exception Ljdk/nashorn/internal/ir/IdentNode;
2 10 3 block Ljdk/nashorn/internal/ir/Block;
4 10 4 exname Ljava/lang/String;
5 10 5 isInternal Z
8 10 6 symbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
catchNode final
private void enterFunctionBody();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
astore 1
start local 1 1: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentBlock:()Ljdk/nashorn/internal/ir/Block;
astore 2
start local 2 2: aload 0
aload 1
aload 2
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.initFunctionWideVariables:(Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/ir/Block;)V
3: aload 0
aload 1
aload 2
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.acceptDeclarations:(Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/ir/Block;)V
4: aload 0
aload 1
aload 2
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.defineFunctionSelfSymbol:(Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/ir/Block;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
1 6 1 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
2 6 2 body Ljdk/nashorn/internal/ir/Block;
private void defineFunctionSelfSymbol(jdk.nashorn.internal.ir.FunctionNode, jdk.nashorn.internal.ir.Block);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/ir/Block;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isNamedFunctionExpression:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getIdent:()Ljdk/nashorn/internal/ir/IdentNode;
invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
astore 3
start local 3 3: getstatic jdk.nashorn.internal.codegen.AssignSymbols.$assertionsDisabled:Z
ifne 4
aload 3
ifnonnull 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: java.lang.String
StackMap stack:
aload 2
aload 3
invokevirtual jdk.nashorn.internal.ir.Block.getExistingSymbol:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol;
ifnull 6
5: return
6: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
aload 1
sipush 8322
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.defineSymbol:(Ljdk/nashorn/internal/ir/Block;Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;I)Ljdk/nashorn/internal/ir/Symbol;
pop
7: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.allVarsInScope:()Z
ifeq 9
8: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 1
sipush 16384
invokevirtual jdk.nashorn.internal.ir.LexicalContext.setFlag:(Ljdk/nashorn/internal/ir/LexicalContextNode;I)V
9: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 10 1 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
0 10 2 body Ljdk/nashorn/internal/ir/Block;
3 10 3 name Ljava/lang/String;
MethodParameters:
Name Flags
functionNode final
body final
public boolean enterFunctionNode(jdk.nashorn.internal.ir.FunctionNode);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.start:(Ljdk/nashorn/internal/ir/Node;Z)Z
pop
1: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.thisProperties:Ljava/util/Deque;
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
2: getstatic jdk.nashorn.internal.codegen.AssignSymbols.$assertionsDisabled:Z
ifne 3
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getBody:()Ljdk/nashorn/internal/ir/Block;
ifnonnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 4 1 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
MethodParameters:
Name Flags
functionNode final
public boolean enterVarNode(jdk.nashorn.internal.ir.VarNode);
descriptor: (Ljdk/nashorn/internal/ir/VarNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.start:(Ljdk/nashorn/internal/ir/Node;)Z
pop
1: aload 1
invokevirtual jdk.nashorn.internal.ir.VarNode.isFunctionDeclaration:()Z
ifeq 3
2: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.defineVarIdent:(Ljdk/nashorn/internal/ir/VarNode;)V
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 4 1 varNode Ljdk/nashorn/internal/ir/VarNode;
MethodParameters:
Name Flags
varNode final
public jdk.nashorn.internal.ir.Node leaveVarNode(jdk.nashorn.internal.ir.VarNode);
descriptor: (Ljdk/nashorn/internal/ir/VarNode;)Ljdk/nashorn/internal/ir/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.VarNode.isFunctionDeclaration:()Z
ifne 2
1: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.defineVarIdent:(Ljdk/nashorn/internal/ir/VarNode;)V
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial jdk.nashorn.internal.ir.visitor.SimpleNodeVisitor.leaveVarNode:(Ljdk/nashorn/internal/ir/VarNode;)Ljdk/nashorn/internal/ir/Node;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 3 1 varNode Ljdk/nashorn/internal/ir/VarNode;
MethodParameters:
Name Flags
varNode final
private void defineVarIdent(jdk.nashorn.internal.ir.VarNode);
descriptor: (Ljdk/nashorn/internal/ir/VarNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.VarNode.getName:()Ljdk/nashorn/internal/ir/IdentNode;
astore 2
start local 2 1: aload 1
invokevirtual jdk.nashorn.internal.ir.VarNode.isBlockScoped:()Z
ifne 4
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isProgram:()Z
ifeq 4
2: iconst_4
istore 3
start local 3 3: goto 5
end local 3 4: StackMap locals: jdk.nashorn.internal.ir.IdentNode
StackMap stack:
iconst_0
istore 3
start local 3 5: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentBlock:()Ljdk/nashorn/internal/ir/Block;
aload 2
invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
aload 2
aload 1
invokevirtual jdk.nashorn.internal.ir.VarNode.getSymbolFlags:()I
iload 3
ior
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.defineSymbol:(Ljdk/nashorn/internal/ir/Block;Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;I)Ljdk/nashorn/internal/ir/Symbol;
pop
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 7 1 varNode Ljdk/nashorn/internal/ir/VarNode;
1 7 2 ident Ljdk/nashorn/internal/ir/IdentNode;
3 4 3 flags I
5 7 3 flags I
MethodParameters:
Name Flags
varNode final
private jdk.nashorn.internal.ir.Symbol exceptionSymbol();
descriptor: ()Ljdk/nashorn/internal/ir/Symbol;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.EXCEPTION_PREFIX:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.newObjectInternal:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/Symbol;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
private jdk.nashorn.internal.ir.FunctionNode finalizeParameters(jdk.nashorn.internal.ir.FunctionNode);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/FunctionNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isVarArg:()Z
istore 3
start local 3 2: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getBody:()Ljdk/nashorn/internal/ir/Block;
astore 4
start local 4 3: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 11
StackMap locals: jdk.nashorn.internal.codegen.AssignSymbols jdk.nashorn.internal.ir.FunctionNode java.util.List int jdk.nashorn.internal.ir.Block top java.util.Iterator
StackMap stack:
4: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.IdentNode
astore 5
start local 5 5: aload 4
aload 5
invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.ir.Block.getExistingSymbol:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol;
astore 7
start local 7 6: getstatic jdk.nashorn.internal.codegen.AssignSymbols.$assertionsDisabled:Z
ifne 7
aload 7
ifnonnull 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals: jdk.nashorn.internal.codegen.AssignSymbols jdk.nashorn.internal.ir.FunctionNode java.util.List int jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.IdentNode java.util.Iterator jdk.nashorn.internal.ir.Symbol
StackMap stack:
getstatic jdk.nashorn.internal.codegen.AssignSymbols.$assertionsDisabled:Z
ifne 8
aload 7
invokevirtual jdk.nashorn.internal.ir.Symbol.isParam:()Z
ifne 8
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual jdk.nashorn.internal.ir.Symbol.getFlags:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
8: StackMap locals:
StackMap stack:
aload 2
aload 5
aload 7
invokevirtual jdk.nashorn.internal.ir.IdentNode.setSymbol:(Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/ir/IdentNode;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: iload 3
ifeq 11
10: aload 7
iconst_0
invokevirtual jdk.nashorn.internal.ir.Symbol.setNeedsSlot:(Z)Ljdk/nashorn/internal/ir/Symbol;
pop
end local 7 end local 5 11: StackMap locals: jdk.nashorn.internal.codegen.AssignSymbols jdk.nashorn.internal.ir.FunctionNode java.util.List int jdk.nashorn.internal.ir.Block top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
12: aload 1
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 2
invokevirtual jdk.nashorn.internal.ir.FunctionNode.setParameters:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/util/List;)Ljdk/nashorn/internal/ir/FunctionNode;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 13 1 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
1 13 2 newParams Ljava/util/List<Ljdk/nashorn/internal/ir/IdentNode;>;
2 13 3 isVarArg Z
3 13 4 body Ljdk/nashorn/internal/ir/Block;
5 11 5 param Ljdk/nashorn/internal/ir/IdentNode;
6 11 7 paramSymbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
functionNode final
private jdk.nashorn.internal.ir.Symbol findSymbol(jdk.nashorn.internal.ir.Block, java.lang.String);
descriptor: (Ljdk/nashorn/internal/ir/Block;Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 1
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getBlocks:(Ljdk/nashorn/internal/ir/Block;)Ljava/util/Iterator;
astore 3
start local 3 1: goto 5
2: StackMap locals: java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.Block
aload 2
invokevirtual jdk.nashorn.internal.ir.Block.getExistingSymbol:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol;
astore 4
start local 4 3: aload 4
ifnull 5
4: aload 4
areturn
end local 4 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
end local 3 6: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 7 1 block Ljdk/nashorn/internal/ir/Block;
0 7 2 name Ljava/lang/String;
1 6 3 blocks Ljava/util/Iterator<Ljdk/nashorn/internal/ir/Block;>;
3 5 4 symbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
block final
name final
private void functionUsesGlobalSymbol();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getFunctions:()Ljava/util/Iterator;
astore 1
start local 1 1: goto 3
2: StackMap locals: java.util.Iterator
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.LexicalContextNode
sipush 512
invokevirtual jdk.nashorn.internal.ir.LexicalContext.setFlag:(Ljdk/nashorn/internal/ir/LexicalContextNode;I)V
3: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
end local 1 4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
1 4 1 fns Ljava/util/Iterator<Ljdk/nashorn/internal/ir/FunctionNode;>;
private void functionUsesScopeSymbol(jdk.nashorn.internal.ir.Symbol);
descriptor: (Ljdk/nashorn/internal/ir/Symbol;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getAllNodes:()Ljava/util/Iterator;
astore 3
start local 3 2: goto 12
3: StackMap locals: java.lang.String java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.LexicalContextNode
astore 4
start local 4 4: aload 4
instanceof jdk.nashorn.internal.ir.Block
ifeq 10
5: aload 4
checkcast jdk.nashorn.internal.ir.Block
astore 5
start local 5 6: aload 5
aload 2
invokevirtual jdk.nashorn.internal.ir.Block.getExistingSymbol:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol;
ifnull 12
7: getstatic jdk.nashorn.internal.codegen.AssignSymbols.$assertionsDisabled:Z
ifne 8
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 5
invokevirtual jdk.nashorn.internal.ir.LexicalContext.contains:(Ljdk/nashorn/internal/ir/LexicalContextNode;)Z
ifne 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals: jdk.nashorn.internal.ir.LexicalContextNode jdk.nashorn.internal.ir.Block
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 5
invokevirtual jdk.nashorn.internal.ir.LexicalContext.setBlockNeedsScope:(Ljdk/nashorn/internal/ir/Block;)V
9: goto 13
end local 5 10: StackMap locals:
StackMap stack:
aload 4
instanceof jdk.nashorn.internal.ir.FunctionNode
ifeq 12
11: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 4
sipush 512
invokevirtual jdk.nashorn.internal.ir.LexicalContext.setFlag:(Ljdk/nashorn/internal/ir/LexicalContextNode;I)V
end local 4 12: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 3 13: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 14 1 symbol Ljdk/nashorn/internal/ir/Symbol;
1 14 2 name Ljava/lang/String;
2 13 3 contextNodeIter Ljava/util/Iterator<Ljdk/nashorn/internal/ir/LexicalContextNode;>;
4 12 4 node Ljdk/nashorn/internal/ir/LexicalContextNode;
6 10 5 block Ljdk/nashorn/internal/ir/Block;
MethodParameters:
Name Flags
symbol final
private void functionUsesSymbol(jdk.nashorn.internal.ir.Symbol);
descriptor: (Ljdk/nashorn/internal/ir/Symbol;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.nashorn.internal.codegen.AssignSymbols.$assertionsDisabled:Z
ifne 1
aload 1
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
ifeq 7
2: aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.isGlobal:()Z
ifeq 5
3: aload 0
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.functionUsesGlobalSymbol:()V
4: goto 8
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.functionUsesScopeSymbol:(Ljdk/nashorn/internal/ir/Symbol;)V
6: goto 8
7: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.AssignSymbols.$assertionsDisabled:Z
ifne 8
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.isGlobal:()Z
ifeq 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 9 1 symbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
symbol final
private void initCompileConstant(jdk.nashorn.internal.codegen.CompilerConstants, jdk.nashorn.internal.ir.Block, int);
descriptor: (Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/Block;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
aload 1
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
aconst_null
iload 3
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.defineSymbol:(Ljdk/nashorn/internal/ir/Block;Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;I)Ljdk/nashorn/internal/ir/Symbol;
iconst_1
invokevirtual jdk.nashorn.internal.ir.Symbol.setNeedsSlot:(Z)Ljdk/nashorn/internal/ir/Symbol;
pop
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 2 1 cc Ljdk/nashorn/internal/codegen/CompilerConstants;
0 2 2 block Ljdk/nashorn/internal/ir/Block;
0 2 3 flags I
MethodParameters:
Name Flags
cc final
block final
flags final
private void initFunctionWideVariables(jdk.nashorn.internal.ir.FunctionNode, jdk.nashorn.internal.ir.Block);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/ir/Block;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.CALLEE:Ljdk/nashorn/internal/codegen/CompilerConstants;
aload 2
sipush 8259
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.initCompileConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/Block;I)V
1: aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.THIS:Ljdk/nashorn/internal/codegen/CompilerConstants;
aload 2
sipush 8203
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.initCompileConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/Block;I)V
2: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isVarArg:()Z
ifeq 7
3: aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.VARARGS:Ljdk/nashorn/internal/codegen/CompilerConstants;
aload 2
sipush 8259
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.initCompileConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/Block;I)V
4: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsArguments:()Z
ifeq 7
5: aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.ARGUMENTS:Ljdk/nashorn/internal/codegen/CompilerConstants;
aload 2
sipush 8258
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.initCompileConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/Block;I)V
6: aload 0
aload 2
getstatic jdk.nashorn.internal.codegen.CompilerConstants.ARGUMENTS_VAR:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
aconst_null
sipush 8194
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.defineSymbol:(Ljdk/nashorn/internal/ir/Block;Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;I)Ljdk/nashorn/internal/ir/Symbol;
pop
7: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.initParameters:(Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/ir/Block;)V
8: aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
aload 2
sipush 8258
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.initCompileConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/Block;I)V
9: aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.RETURN:Ljdk/nashorn/internal/codegen/CompilerConstants;
aload 2
bipush 66
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.initCompileConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/Block;I)V
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/AssignSymbols;
0 11 1 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
0 11 2 body Ljdk/nashorn/internal/ir/Block;
MethodParameters:
Name Flags
functionNode final
body final
private void initParameters(jdk.nashorn.internal.ir.FunctionNode, jdk.nashorn.internal.ir.Block);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/ir/Block;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isVarArg:()Z
istore 3
start local 3 1: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.allVarsInScope:()Z
ifne 2
iload 3
ifne 2
iconst_0
goto 3
StackMap locals: int
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: istore 4
start local 4 4: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 12
StackMap locals: jdk.nashorn.internal.codegen.AssignSymbols jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.ir.Block int int top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.IdentNode
astore 5
start local 5 6: aload 0
aload 2
aload 5
invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
aload 5
iconst_3
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.defineSymbol:(Ljdk/nashorn/internal/ir/Block;Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;I)Ljdk/nashorn/internal/ir/Symbol;
astore 7
start local 7 7: iload 4
ifeq 12
8: aload 7
invokevirtual jdk.nashorn.internal.ir.Symbol.setIsScope:()Ljdk/nashorn/internal/ir/Symbol;
pop
9: getstatic jdk.nashorn.internal.codegen.AssignSymbols.$assertionsDisabled:Z
ifne 10
aload 7
invokevirtual jdk.nashorn.internal.ir.Symbol.hasSlot:()Z
ifne 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals: jdk.nashorn.internal.codegen.AssignSymbols jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.ir.Block int int jdk.nashorn.internal.ir.IdentNode java.util.Iterator jdk.nashorn.internal.ir.Symbol
StackMap stack:
iload 3
ifeq 12
11: aload 7
iconst_0
invokevirtual jdk.nashorn.internal.ir.Symbol.setNeedsSlot:(Z)Ljdk/nashorn/internal/ir/Symbol;
pop
end local 7 end local 5 12: StackMap locals: jdk.nashorn.internal.codegen.AssignSymbols jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.ir.Block int int top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
13: return
end local 4 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/AssignSymbols;
0 14 1 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
0 14 2 body Ljdk/nashorn/internal/ir/Block;
1 14 3 isVarArg Z
4 14 4 scopeParams Z
6 12 5 param Ljdk/nashorn/internal/ir/IdentNode;
7 12 7 symbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
functionNode final
body final
private boolean isLocal(jdk.nashorn.internal.ir.FunctionNode, jdk.nashorn.internal.ir.Symbol);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/ir/Symbol;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 2
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getDefiningFunction:(Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/ir/FunctionNode;
astore 3
start local 3 1: getstatic jdk.nashorn.internal.codegen.AssignSymbols.$assertionsDisabled:Z
ifne 2
aload 3
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: jdk.nashorn.internal.ir.FunctionNode
StackMap stack:
aload 3
aload 1
if_acmpne 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
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/codegen/AssignSymbols;
0 4 1 function Ljdk/nashorn/internal/ir/FunctionNode;
0 4 2 symbol Ljdk/nashorn/internal/ir/Symbol;
1 4 3 definingFn Ljdk/nashorn/internal/ir/FunctionNode;
MethodParameters:
Name Flags
function final
symbol final
public jdk.nashorn.internal.ir.Node leaveBinaryNode(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/ir/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.ir.BinaryNode.isTokenType:(Ljdk/nashorn/internal/parser/TokenType;)Z
ifeq 2
1: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.leaveASSIGN:(Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/ir/Node;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial jdk.nashorn.internal.ir.visitor.SimpleNodeVisitor.leaveBinaryNode:(Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/ir/Node;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
private jdk.nashorn.internal.ir.Node leaveASSIGN(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/ir/Node;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
astore 2
start local 2 1: aload 2
instanceof jdk.nashorn.internal.ir.AccessNode
ifeq 8
2: aload 2
checkcast jdk.nashorn.internal.ir.AccessNode
astore 3
start local 3 3: aload 3
invokevirtual jdk.nashorn.internal.ir.AccessNode.getBase:()Ljdk/nashorn/internal/ir/Expression;
astore 4
start local 4 4: aload 4
instanceof jdk.nashorn.internal.ir.IdentNode
ifeq 8
5: aload 4
checkcast jdk.nashorn.internal.ir.IdentNode
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
astore 5
start local 5 6: aload 5
invokevirtual jdk.nashorn.internal.ir.Symbol.isThis:()Z
ifeq 8
7: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.thisProperties:Ljava/util/Deque;
invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
checkcast java.util.Set
aload 3
invokevirtual jdk.nashorn.internal.ir.AccessNode.getProperty:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 4 end local 3 8: StackMap locals: jdk.nashorn.internal.ir.Expression
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 9 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
1 9 2 lhs Ljdk/nashorn/internal/ir/Expression;
3 8 3 accessNode Ljdk/nashorn/internal/ir/AccessNode;
4 8 4 base Ljdk/nashorn/internal/ir/Expression;
6 8 5 symbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
binaryNode final
public jdk.nashorn.internal.ir.Node leaveUnaryNode(jdk.nashorn.internal.ir.UnaryNode);
descriptor: (Ljdk/nashorn/internal/ir/UnaryNode;)Ljdk/nashorn/internal/ir/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.UnaryNode.tokenType:()Ljdk/nashorn/internal/parser/TokenType;
getstatic jdk.nashorn.internal.parser.TokenType.TYPEOF:Ljdk/nashorn/internal/parser/TokenType;
if_acmpne 2
1: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.leaveTYPEOF:(Ljdk/nashorn/internal/ir/UnaryNode;)Ljdk/nashorn/internal/ir/Node;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial jdk.nashorn.internal.ir.visitor.SimpleNodeVisitor.leaveUnaryNode:(Ljdk/nashorn/internal/ir/UnaryNode;)Ljdk/nashorn/internal/ir/Node;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 3 1 unaryNode Ljdk/nashorn/internal/ir/UnaryNode;
MethodParameters:
Name Flags
unaryNode final
public jdk.nashorn.internal.ir.Node leaveForNode(jdk.nashorn.internal.ir.ForNode);
descriptor: (Ljdk/nashorn/internal/ir/ForNode;)Ljdk/nashorn/internal/ir/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.ForNode.isForInOrOf:()Z
ifeq 2
1: aload 1
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.ITERATOR_PREFIX:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.newObjectInternal:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/Symbol;
invokevirtual jdk.nashorn.internal.ir.ForNode.setIterator:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/ir/ForNode;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.end:(Ljdk/nashorn/internal/ir/Node;)Ljdk/nashorn/internal/ir/Node;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 3 1 forNode Ljdk/nashorn/internal/ir/ForNode;
MethodParameters:
Name Flags
forNode final
public jdk.nashorn.internal.ir.Node leaveFunctionNode(jdk.nashorn.internal.ir.FunctionNode);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.isUnparsedFunction:(Ljdk/nashorn/internal/ir/FunctionNode;)Z
ifeq 3
1: aload 1
astore 2
start local 2 2: goto 13
end local 2 3: StackMap locals:
StackMap stack:
aload 0
4: aload 0
5: aload 0
6: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 1
invokevirtual jdk.nashorn.internal.ir.LexicalContext.applyTopFlags:(Ljdk/nashorn/internal/ir/LexicalContextNode;)Ljdk/nashorn/internal/ir/LexicalContextNode;
checkcast jdk.nashorn.internal.ir.FunctionNode
7: invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.finalizeParameters:(Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/FunctionNode;
8: invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.createSyntheticInitializers:(Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/FunctionNode;
9: invokestatic jdk.nashorn.internal.codegen.AssignSymbols.removeUnusedSlots:(Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/FunctionNode;
10: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.thisProperties:Ljava/util/Deque;
invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
checkcast java.util.Set
invokeinterface java.util.Set.size:()I
invokevirtual jdk.nashorn.internal.ir.FunctionNode.setThisProperties:(Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/ir/FunctionNode;
11: invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.markProgramBlock:(Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/FunctionNode;
12: astore 2
start local 2 13: StackMap locals: jdk.nashorn.internal.ir.FunctionNode
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 14 1 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
2 3 2 finalizedFunction Ljdk/nashorn/internal/ir/FunctionNode;
13 14 2 finalizedFunction Ljdk/nashorn/internal/ir/FunctionNode;
MethodParameters:
Name Flags
functionNode final
public jdk.nashorn.internal.ir.Node leaveIdentNode(jdk.nashorn.internal.ir.IdentNode);
descriptor: (Ljdk/nashorn/internal/ir/IdentNode;)Ljdk/nashorn/internal/ir/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.IdentNode.isPropertyName:()Z
ifeq 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
aload 1
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.nameIsUsed:(Ljava/lang/String;Ljdk/nashorn/internal/ir/IdentNode;)Ljdk/nashorn/internal/ir/Symbol;
astore 2
start local 2 3: aload 1
invokevirtual jdk.nashorn.internal.ir.IdentNode.isInitializedHere:()Z
ifne 5
4: aload 2
invokevirtual jdk.nashorn.internal.ir.Symbol.increaseUseCount:()V
5: StackMap locals: jdk.nashorn.internal.ir.Symbol
StackMap stack:
aload 1
aload 2
invokevirtual jdk.nashorn.internal.ir.IdentNode.setSymbol:(Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/ir/IdentNode;
astore 3
start local 3 6: aload 2
invokevirtual jdk.nashorn.internal.ir.Symbol.isBlockScoped:()Z
ifeq 8
aload 2
invokevirtual jdk.nashorn.internal.ir.Symbol.hasBeenDeclared:()Z
ifne 8
aload 1
invokevirtual jdk.nashorn.internal.ir.IdentNode.isDeclaredHere:()Z
ifne 8
aload 0
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
aload 2
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.isLocal:(Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/ir/Symbol;)Z
ifeq 8
7: aload 3
invokevirtual jdk.nashorn.internal.ir.IdentNode.markDead:()Ljdk/nashorn/internal/ir/IdentNode;
astore 3
8: StackMap locals: jdk.nashorn.internal.ir.IdentNode
StackMap stack:
aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.end:(Ljdk/nashorn/internal/ir/Node;)Ljdk/nashorn/internal/ir/Node;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 9 1 identNode Ljdk/nashorn/internal/ir/IdentNode;
3 9 2 symbol Ljdk/nashorn/internal/ir/Symbol;
6 9 3 newIdentNode Ljdk/nashorn/internal/ir/IdentNode;
MethodParameters:
Name Flags
identNode final
private jdk.nashorn.internal.ir.Symbol nameIsUsed(java.lang.String, jdk.nashorn.internal.ir.IdentNode);
descriptor: (Ljava/lang/String;Ljdk/nashorn/internal/ir/IdentNode;)Ljdk/nashorn/internal/ir/Symbol;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentBlock:()Ljdk/nashorn/internal/ir/Block;
astore 3
start local 3 1: aload 0
aload 3
aload 1
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.findSymbol:(Ljdk/nashorn/internal/ir/Block;Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol;
astore 4
start local 4 2: aload 4
ifnull 11
3: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "Existing symbol = "
aastore
dup
iconst_1
aload 4
aastore
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.info:([Ljava/lang/Object;)V
4: aload 4
invokevirtual jdk.nashorn.internal.ir.Symbol.isFunctionSelf:()Z
ifeq 9
5: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 4
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getDefiningFunction:(Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/ir/FunctionNode;
astore 5
start local 5 6: getstatic jdk.nashorn.internal.codegen.AssignSymbols.$assertionsDisabled:Z
ifne 7
aload 5
ifnonnull 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals: jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.ir.FunctionNode
StackMap stack:
getstatic jdk.nashorn.internal.codegen.AssignSymbols.$assertionsDisabled:Z
ifne 8
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 5
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getFunctionBody:(Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/Block;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.CALLEE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.ir.Block.getExistingSymbol:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol;
ifnonnull 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 5
sipush 16384
invokevirtual jdk.nashorn.internal.ir.LexicalContext.setFlag:(Ljdk/nashorn/internal/ir/LexicalContextNode;I)V
end local 5 9: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.maybeForceScope:(Ljdk/nashorn/internal/ir/Symbol;)V
10: goto 13
11: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "No symbol exists. Declare as global: "
aastore
dup
iconst_1
aload 1
aastore
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.info:([Ljava/lang/Object;)V
12: aload 0
aload 3
aload 1
aload 2
iconst_5
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.defineSymbol:(Ljdk/nashorn/internal/ir/Block;Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;I)Ljdk/nashorn/internal/ir/Symbol;
astore 4
13: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.functionUsesSymbol:(Ljdk/nashorn/internal/ir/Symbol;)V
14: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 15 1 name Ljava/lang/String;
0 15 2 origin Ljdk/nashorn/internal/ir/IdentNode;
1 15 3 block Ljdk/nashorn/internal/ir/Block;
2 15 4 symbol Ljdk/nashorn/internal/ir/Symbol;
6 9 5 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
MethodParameters:
Name Flags
name final
origin final
public jdk.nashorn.internal.ir.Node leaveSwitchNode(jdk.nashorn.internal.ir.SwitchNode);
descriptor: (Ljdk/nashorn/internal/ir/SwitchNode;)Ljdk/nashorn/internal/ir/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.SwitchNode.isUniqueInteger:()Z
ifne 2
1: aload 1
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SWITCH_TAG_PREFIX:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.newObjectInternal:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/Symbol;
invokevirtual jdk.nashorn.internal.ir.SwitchNode.setTag:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/ir/SwitchNode;
areturn
2: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 3 1 switchNode Ljdk/nashorn/internal/ir/SwitchNode;
MethodParameters:
Name Flags
switchNode final
public jdk.nashorn.internal.ir.Node leaveTryNode(jdk.nashorn.internal.ir.TryNode);
descriptor: (Ljdk/nashorn/internal/ir/TryNode;)Ljdk/nashorn/internal/ir/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.nashorn.internal.codegen.AssignSymbols.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual jdk.nashorn.internal.ir.TryNode.getFinallyBody:()Ljdk/nashorn/internal/ir/Block;
ifnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.end:(Ljdk/nashorn/internal/ir/Node;)Ljdk/nashorn/internal/ir/Node;
pop
2: aload 1
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 0
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.exceptionSymbol:()Ljdk/nashorn/internal/ir/Symbol;
invokevirtual jdk.nashorn.internal.ir.TryNode.setException:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/ir/TryNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 3 1 tryNode Ljdk/nashorn/internal/ir/TryNode;
MethodParameters:
Name Flags
tryNode final
private jdk.nashorn.internal.ir.Node leaveTYPEOF(jdk.nashorn.internal.ir.UnaryNode);
descriptor: (Ljdk/nashorn/internal/ir/UnaryNode;)Ljdk/nashorn/internal/ir/Node;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.UnaryNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
astore 2
start local 2 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 2: aload 2
instanceof jdk.nashorn.internal.ir.IdentNode
ifeq 6
aload 2
checkcast jdk.nashorn.internal.ir.IdentNode
invokestatic jdk.nashorn.internal.codegen.AssignSymbols.isParamOrVar:(Ljdk/nashorn/internal/ir/IdentNode;)Z
ifne 6
3: aload 3
aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.compilerConstantIdentifier:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/IdentNode;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: aload 3
aload 2
aload 2
checkcast jdk.nashorn.internal.ir.IdentNode
invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
invokestatic jdk.nashorn.internal.ir.LiteralNode.newInstance:(Ljdk/nashorn/internal/ir/Node;Ljava/lang/String;)Ljdk/nashorn/internal/ir/LiteralNode;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: goto 8
6: StackMap locals: jdk.nashorn.internal.ir.Expression java.util.List
StackMap stack:
aload 3
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: aload 3
aload 1
invokestatic jdk.nashorn.internal.ir.LiteralNode.newInstance:(Ljdk/nashorn/internal/ir/Node;)Ljdk/nashorn/internal/ir/LiteralNode;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.ir.RuntimeNode
dup
aload 1
getstatic jdk.nashorn.internal.ir.RuntimeNode$Request.TYPEOF:Ljdk/nashorn/internal/ir/RuntimeNode$Request;
aload 3
invokespecial jdk.nashorn.internal.ir.RuntimeNode.<init>:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/RuntimeNode$Request;Ljava/util/List;)V
astore 4
start local 4 9: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.end:(Ljdk/nashorn/internal/ir/Node;)Ljdk/nashorn/internal/ir/Node;
pop
10: aload 4
areturn
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/AssignSymbols;
0 11 1 unaryNode Ljdk/nashorn/internal/ir/UnaryNode;
1 11 2 rhs Ljdk/nashorn/internal/ir/Expression;
2 11 3 args Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
9 11 4 runtimeNode Ljdk/nashorn/internal/ir/Node;
MethodParameters:
Name Flags
unaryNode final
private jdk.nashorn.internal.ir.FunctionNode markProgramBlock(jdk.nashorn.internal.ir.FunctionNode);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/FunctionNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.isOnDemand:Z
ifne 1
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isProgram:()Z
ifne 2
1: StackMap locals:
StackMap stack:
aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getBody:()Ljdk/nashorn/internal/ir/Block;
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
bipush 8
invokevirtual jdk.nashorn.internal.ir.Block.setFlag:(Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/ir/Block;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.setBody:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/FunctionNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 3 1 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
MethodParameters:
Name Flags
functionNode final
private void maybeForceScope(jdk.nashorn.internal.ir.Symbol);
descriptor: (Ljdk/nashorn/internal/ir/Symbol;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
ifne 2
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.symbolNeedsToBeScope:(Ljdk/nashorn/internal/ir/Symbol;)Z
ifeq 2
1: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 1
invokestatic jdk.nashorn.internal.ir.Symbol.setSymbolIsScope:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/ir/Symbol;
pop
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 3 1 symbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
symbol final
private jdk.nashorn.internal.ir.Symbol newInternal(jdk.nashorn.internal.codegen.CompilerConstants, int);
descriptor: (Ljdk/nashorn/internal/codegen/CompilerConstants;I)Ljdk/nashorn/internal/ir/Symbol;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentBlock:()Ljdk/nashorn/internal/ir/Block;
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
aload 1
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.uniqueName:(Ljava/lang/String;)Ljava/lang/String;
aconst_null
bipush 66
iload 2
ior
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.defineSymbol:(Ljdk/nashorn/internal/ir/Block;Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;I)Ljdk/nashorn/internal/ir/Symbol;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 1 1 cc Ljdk/nashorn/internal/codegen/CompilerConstants;
0 1 2 flags I
MethodParameters:
Name Flags
cc final
flags final
private jdk.nashorn.internal.ir.Symbol newObjectInternal(jdk.nashorn.internal.codegen.CompilerConstants);
descriptor: (Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/Symbol;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
sipush 8192
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.newInternal:(Ljdk/nashorn/internal/codegen/CompilerConstants;I)Ljdk/nashorn/internal/ir/Symbol;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 1 1 cc Ljdk/nashorn/internal/codegen/CompilerConstants;
MethodParameters:
Name Flags
cc final
private boolean start(jdk.nashorn.internal.ir.Node);
descriptor: (Ljdk/nashorn/internal/ir/Node;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.start:(Ljdk/nashorn/internal/ir/Node;Z)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 1 1 node Ljdk/nashorn/internal/ir/Node;
MethodParameters:
Name Flags
node final
private boolean start(jdk.nashorn.internal.ir.Node, boolean);
descriptor: (Ljdk/nashorn/internal/ir/Node;Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.debug:Z
ifeq 13
1: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 2: aload 3
ldc "[ENTER "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: aload 1
invokestatic jdk.nashorn.internal.codegen.AssignSymbols.name:(Ljdk/nashorn/internal/ir/Node;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc "] "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: iload 2
ifeq 6
aload 1
invokevirtual jdk.nashorn.internal.ir.Node.toString:()Ljava/lang/String;
goto 7
StackMap locals: jdk.nashorn.internal.codegen.AssignSymbols jdk.nashorn.internal.ir.Node int java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder
6: ldc ""
StackMap locals: jdk.nashorn.internal.codegen.AssignSymbols jdk.nashorn.internal.ir.Node int java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder java.lang.String
7: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: ldc " in '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.info:([Ljava/lang/Object;)V
12: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.indent:()V
end local 3 13: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 14 1 node Ljdk/nashorn/internal/ir/Node;
0 14 2 printNode Z
2 13 3 sb Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
node final
printNode final
private boolean symbolNeedsToBeScope(jdk.nashorn.internal.ir.Symbol);
descriptor: (Ljdk/nashorn/internal/ir/Symbol;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.isThis:()Z
ifne 1
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.isInternal:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
astore 2
start local 2 3: aload 2
invokevirtual jdk.nashorn.internal.ir.FunctionNode.allVarsInScope:()Z
ifne 4
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.isBlockScoped:()Z
ifne 5
aload 2
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isProgram:()Z
ifeq 5
4: StackMap locals: jdk.nashorn.internal.ir.FunctionNode
StackMap stack:
iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 6: aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.lc:Ljdk/nashorn/internal/ir/LexicalContext;
invokevirtual jdk.nashorn.internal.ir.LexicalContext.getAllNodes:()Ljava/util/Iterator;
astore 4
start local 4 7: goto 22
8: StackMap locals: int java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.LexicalContextNode
astore 5
start local 5 9: aload 5
instanceof jdk.nashorn.internal.ir.FunctionNode
ifne 10
aload 5
invokestatic jdk.nashorn.internal.codegen.AssignSymbols.isSplitLiteral:(Ljdk/nashorn/internal/ir/LexicalContextNode;)Z
ifeq 11
10: StackMap locals: jdk.nashorn.internal.ir.LexicalContextNode
StackMap stack:
iconst_1
ireturn
11: StackMap locals:
StackMap stack:
aload 5
instanceof jdk.nashorn.internal.ir.WithNode
ifeq 16
12: iload 3
ifeq 14
13: iconst_1
ireturn
14: StackMap locals:
StackMap stack:
iconst_0
istore 3
15: goto 22
StackMap locals:
StackMap stack:
16: aload 5
instanceof jdk.nashorn.internal.ir.Block
ifeq 21
17: aload 5
checkcast jdk.nashorn.internal.ir.Block
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.ir.Block.getExistingSymbol:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol;
aload 1
if_acmpne 19
18: iconst_0
ireturn
19: StackMap locals:
StackMap stack:
iconst_1
istore 3
20: goto 22
21: StackMap locals:
StackMap stack:
iconst_0
istore 3
end local 5 22: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
end local 4 23: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 24 1 symbol Ljdk/nashorn/internal/ir/Symbol;
3 24 2 func Ljdk/nashorn/internal/ir/FunctionNode;
6 24 3 previousWasBlock Z
7 23 4 it Ljava/util/Iterator<Ljdk/nashorn/internal/ir/LexicalContextNode;>;
9 22 5 node Ljdk/nashorn/internal/ir/LexicalContextNode;
MethodParameters:
Name Flags
symbol final
private static boolean isSplitLiteral(jdk.nashorn.internal.ir.LexicalContextNode);
descriptor: (Ljdk/nashorn/internal/ir/LexicalContextNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof jdk.nashorn.internal.ir.Splittable
ifeq 1
aload 0
checkcast jdk.nashorn.internal.ir.Splittable
invokeinterface jdk.nashorn.internal.ir.Splittable.getSplitRanges:()Ljava/util/List;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 expr Ljdk/nashorn/internal/ir/LexicalContextNode;
MethodParameters:
Name Flags
expr final
private void throwUnprotectedSwitchError(jdk.nashorn.internal.ir.VarNode);
descriptor: (Ljdk/nashorn/internal/ir/VarNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: ldc "syntax.error.unprotected.switch.declaration"
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 1
invokevirtual jdk.nashorn.internal.ir.VarNode.isLet:()Z
ifeq 1
ldc "let"
goto 2
StackMap locals: jdk.nashorn.internal.codegen.AssignSymbols jdk.nashorn.internal.ir.VarNode
StackMap stack: java.lang.String java.lang.String[] java.lang.String[] int
1: ldc "const"
StackMap locals: jdk.nashorn.internal.codegen.AssignSymbols jdk.nashorn.internal.ir.VarNode
StackMap stack: java.lang.String java.lang.String[] java.lang.String[] int java.lang.String
2: aastore
invokestatic jdk.nashorn.internal.runtime.ECMAErrors.getMessage:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 3: aload 0
aload 2
aload 1
invokevirtual jdk.nashorn.internal.codegen.AssignSymbols.throwParserException:(Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 5 1 varNode Ljdk/nashorn/internal/ir/VarNode;
3 5 2 msg Ljava/lang/String;
MethodParameters:
Name Flags
varNode final
private void throwParserException(java.lang.String, jdk.nashorn.internal.ir.Node);
descriptor: (Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: new jdk.nashorn.internal.runtime.ParserException
dup
aload 1
invokespecial jdk.nashorn.internal.runtime.ParserException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.AssignSymbols.compiler:Ljdk/nashorn/internal/codegen/Compiler;
invokevirtual jdk.nashorn.internal.codegen.Compiler.getSource:()Ljdk/nashorn/internal/runtime/Source;
astore 3
start local 3 3: aload 2
invokevirtual jdk.nashorn.internal.ir.Node.getToken:()J
lstore 4
start local 4 4: aload 3
aload 2
invokevirtual jdk.nashorn.internal.ir.Node.getStart:()I
invokevirtual jdk.nashorn.internal.runtime.Source.getLine:(I)I
istore 6
start local 6 5: aload 3
aload 2
invokevirtual jdk.nashorn.internal.ir.Node.getStart:()I
invokevirtual jdk.nashorn.internal.runtime.Source.getColumn:(I)I
istore 7
start local 7 6: aload 1
aload 3
iload 6
iload 7
lload 4
invokestatic jdk.nashorn.internal.runtime.ErrorManager.format:(Ljava/lang/String;Ljdk/nashorn/internal/runtime/Source;IIJ)Ljava/lang/String;
astore 8
start local 8 7: new jdk.nashorn.internal.runtime.ParserException
dup
getstatic jdk.nashorn.internal.runtime.JSErrorType.SYNTAX_ERROR:Ljdk/nashorn/internal/runtime/JSErrorType;
aload 8
aload 3
iload 6
iload 7
lload 4
invokespecial jdk.nashorn.internal.runtime.ParserException.<init>:(Ljdk/nashorn/internal/runtime/JSErrorType;Ljava/lang/String;Ljdk/nashorn/internal/runtime/Source;IIJ)V
athrow
end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/nashorn/internal/codegen/AssignSymbols;
0 8 1 message Ljava/lang/String;
0 8 2 origin Ljdk/nashorn/internal/ir/Node;
3 8 3 source Ljdk/nashorn/internal/runtime/Source;
4 8 4 token J
5 8 6 line I
6 8 7 column I
7 8 8 formatted Ljava/lang/String;
MethodParameters:
Name Flags
message final
origin final
}
SourceFile: "AssignSymbols.java"
NestMembers:
jdk.nashorn.internal.codegen.AssignSymbols$1
InnerClasses:
jdk.nashorn.internal.codegen.AssignSymbols$1
public final Request = jdk.nashorn.internal.ir.RuntimeNode$Request of jdk.nashorn.internal.ir.RuntimeNode
public final SplitRange = jdk.nashorn.internal.ir.Splittable$SplitRange of jdk.nashorn.internal.ir.Splittable
RuntimeVisibleAnnotations:
jdk.nashorn.internal.runtime.logging.Logger(name = "symbols")