final class jdk.nashorn.internal.codegen.Lower extends jdk.nashorn.internal.ir.visitor.NodeOperatorVisitor<jdk.nashorn.internal.ir.BlockLexicalContext> 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.Lower
super_class: jdk.nashorn.internal.ir.visitor.NodeOperatorVisitor
{
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 es6;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.nashorn.internal.runtime.Source source;
descriptor: Ljdk/nashorn/internal/runtime/Source;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final java.util.regex.Pattern SAFE_PROPERTY_NAME;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, 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/Lower;
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.Lower.$assertionsDisabled:Z
3: ldc "[a-zA-Z_$][\\w$]*"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic jdk.nashorn.internal.codegen.Lower.SAFE_PROPERTY_NAME:Ljava/util/regex/Pattern;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.nashorn.internal.codegen.Compiler);
descriptor: (Ljdk/nashorn/internal/codegen/Compiler;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new jdk.nashorn.internal.codegen.Lower$1
dup
invokespecial jdk.nashorn.internal.codegen.Lower$1.<init>:()V
invokespecial jdk.nashorn.internal.ir.visitor.NodeOperatorVisitor.<init>:(Ljdk/nashorn/internal/ir/LexicalContext;)V
1: aload 0
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.Compiler.getContext:()Ljdk/nashorn/internal/runtime/Context;
invokevirtual jdk.nashorn.internal.codegen.Lower.initLogger:(Ljdk/nashorn/internal/runtime/Context;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
putfield jdk.nashorn.internal.codegen.Lower.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
2: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.Compiler.getScriptEnvironment:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
getfield jdk.nashorn.internal.runtime.ScriptEnvironment._es6:Z
putfield jdk.nashorn.internal.codegen.Lower.es6:Z
3: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.Compiler.getSource:()Ljdk/nashorn/internal/runtime/Source;
putfield jdk.nashorn.internal.codegen.Lower.source:Ljdk/nashorn/internal/runtime/Source;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/Lower;
0 5 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.Lower.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/Lower;
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/Lower;
0 1 1 context Ljdk/nashorn/internal/runtime/Context;
MethodParameters:
Name Flags
context final
public boolean enterBreakNode(jdk.nashorn.internal.ir.BreakNode);
descriptor: (Ljdk/nashorn/internal/ir/BreakNode;)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.Lower.addStatement:(Ljdk/nashorn/internal/ir/Statement;)Ljdk/nashorn/internal/ir/Node;
pop
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/Lower;
0 2 1 breakNode Ljdk/nashorn/internal/ir/BreakNode;
MethodParameters:
Name Flags
breakNode final
public jdk.nashorn.internal.ir.Node leaveCallNode(jdk.nashorn.internal.ir.CallNode);
descriptor: (Ljdk/nashorn/internal/ir/CallNode;)Ljdk/nashorn/internal/ir/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokevirtual jdk.nashorn.internal.ir.CallNode.getFunction:()Ljdk/nashorn/internal/ir/Expression;
invokestatic jdk.nashorn.internal.codegen.Lower.markerFunction:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/ir/Expression;
invokevirtual jdk.nashorn.internal.ir.CallNode.setFunction:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/ir/CallNode;
invokevirtual jdk.nashorn.internal.codegen.Lower.checkEval:(Ljdk/nashorn/internal/ir/CallNode;)Ljdk/nashorn/internal/ir/CallNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/Lower;
0 1 1 callNode Ljdk/nashorn/internal/ir/CallNode;
MethodParameters:
Name Flags
callNode final
public boolean enterCatchNode(jdk.nashorn.internal.ir.CatchNode);
descriptor: (Ljdk/nashorn/internal/ir/CatchNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.CatchNode.getException:()Ljdk/nashorn/internal/ir/Expression;
astore 2
start local 2 1: aload 2
ifnull 3
aload 2
instanceof jdk.nashorn.internal.ir.IdentNode
ifne 3
2: aload 0
ldc "es6.destructuring"
aload 2
invokevirtual jdk.nashorn.internal.codegen.Lower.throwNotImplementedYet:(Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;)V
3: StackMap locals: jdk.nashorn.internal.ir.Expression
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/Lower;
0 4 1 catchNode Ljdk/nashorn/internal/ir/CatchNode;
1 4 2 exception Ljdk/nashorn/internal/ir/Expression;
MethodParameters:
Name Flags
catchNode final
public jdk.nashorn.internal.ir.Node leaveCatchNode(jdk.nashorn.internal.ir.CatchNode);
descriptor: (Ljdk/nashorn/internal/ir/CatchNode;)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 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.addStatement:(Ljdk/nashorn/internal/ir/Statement;)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/Lower;
0 1 1 catchNode Ljdk/nashorn/internal/ir/CatchNode;
MethodParameters:
Name Flags
catchNode final
public boolean enterContinueNode(jdk.nashorn.internal.ir.ContinueNode);
descriptor: (Ljdk/nashorn/internal/ir/ContinueNode;)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.Lower.addStatement:(Ljdk/nashorn/internal/ir/Statement;)Ljdk/nashorn/internal/ir/Node;
pop
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/Lower;
0 2 1 continueNode Ljdk/nashorn/internal/ir/ContinueNode;
MethodParameters:
Name Flags
continueNode final
public boolean enterDebuggerNode(jdk.nashorn.internal.ir.DebuggerNode);
descriptor: (Ljdk/nashorn/internal/ir/DebuggerNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=15, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.DebuggerNode.getLineNumber:()I
istore 2
start local 2 1: aload 1
invokevirtual jdk.nashorn.internal.ir.DebuggerNode.getToken:()J
lstore 3
start local 3 2: aload 1
invokevirtual jdk.nashorn.internal.ir.DebuggerNode.getFinish:()I
istore 5
start local 5 3: aload 0
new jdk.nashorn.internal.ir.ExpressionStatement
dup
iload 2
lload 3
iload 5
new jdk.nashorn.internal.ir.RuntimeNode
dup
lload 3
iload 5
getstatic jdk.nashorn.internal.ir.RuntimeNode$Request.DEBUGGER:Ljdk/nashorn/internal/ir/RuntimeNode$Request;
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
invokespecial jdk.nashorn.internal.ir.RuntimeNode.<init>:(JILjdk/nashorn/internal/ir/RuntimeNode$Request;Ljava/util/List;)V
invokespecial jdk.nashorn.internal.ir.ExpressionStatement.<init>:(IJILjdk/nashorn/internal/ir/Expression;)V
invokevirtual jdk.nashorn.internal.codegen.Lower.addStatement:(Ljdk/nashorn/internal/ir/Statement;)Ljdk/nashorn/internal/ir/Node;
pop
4: iconst_0
ireturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/Lower;
0 5 1 debuggerNode Ljdk/nashorn/internal/ir/DebuggerNode;
1 5 2 line I
2 5 3 token J
3 5 5 finish I
MethodParameters:
Name Flags
debuggerNode final
public boolean enterJumpToInlinedFinally(jdk.nashorn.internal.ir.JumpToInlinedFinally);
descriptor: (Ljdk/nashorn/internal/ir/JumpToInlinedFinally;)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.Lower.addStatement:(Ljdk/nashorn/internal/ir/Statement;)Ljdk/nashorn/internal/ir/Node;
pop
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/Lower;
0 2 1 jumpToInlinedFinally Ljdk/nashorn/internal/ir/JumpToInlinedFinally;
MethodParameters:
Name Flags
jumpToInlinedFinally final
public boolean enterEmptyNode(jdk.nashorn.internal.ir.EmptyNode);
descriptor: (Ljdk/nashorn/internal/ir/EmptyNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/Lower;
0 1 1 emptyNode Ljdk/nashorn/internal/ir/EmptyNode;
MethodParameters:
Name Flags
emptyNode final
public jdk.nashorn.internal.ir.Node leaveIndexNode(jdk.nashorn.internal.ir.IndexNode);
descriptor: (Ljdk/nashorn/internal/ir/IndexNode;)Ljdk/nashorn/internal/ir/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.IndexNode.getIndex:()Ljdk/nashorn/internal/ir/Expression;
invokestatic jdk.nashorn.internal.codegen.Lower.getConstantPropertyName:(Ljdk/nashorn/internal/ir/Expression;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 4
2: getstatic jdk.nashorn.internal.codegen.Lower.$assertionsDisabled:Z
ifne 3
aload 1
invokevirtual jdk.nashorn.internal.ir.IndexNode.isIndex:()Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: java.lang.String
StackMap stack:
new jdk.nashorn.internal.ir.AccessNode
dup
aload 1
invokevirtual jdk.nashorn.internal.ir.IndexNode.getToken:()J
aload 1
invokevirtual jdk.nashorn.internal.ir.IndexNode.getFinish:()I
aload 1
invokevirtual jdk.nashorn.internal.ir.IndexNode.getBase:()Ljdk/nashorn/internal/ir/Expression;
aload 2
invokespecial jdk.nashorn.internal.ir.AccessNode.<init>:(JILjdk/nashorn/internal/ir/Expression;Ljava/lang/String;)V
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial jdk.nashorn.internal.ir.visitor.NodeOperatorVisitor.leaveIndexNode:(Ljdk/nashorn/internal/ir/IndexNode;)Ljdk/nashorn/internal/ir/Node;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/Lower;
0 5 1 indexNode Ljdk/nashorn/internal/ir/IndexNode;
1 5 2 name Ljava/lang/String;
MethodParameters:
Name Flags
indexNode final
private static java.lang.String getConstantPropertyName(jdk.nashorn.internal.ir.Expression);
descriptor: (Ljdk/nashorn/internal/ir/Expression;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
instanceof jdk.nashorn.internal.ir.LiteralNode$PrimitiveLiteralNode
ifeq 4
1: aload 0
checkcast jdk.nashorn.internal.ir.LiteralNode
invokevirtual jdk.nashorn.internal.ir.LiteralNode.getValue:()Ljava/lang/Object;
astore 1
start local 1 2: aload 1
instanceof java.lang.String
ifeq 4
getstatic jdk.nashorn.internal.codegen.Lower.SAFE_PROPERTY_NAME:Ljava/util/regex/Pattern;
aload 1
checkcast java.lang.String
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 4
3: aload 1
checkcast java.lang.String
areturn
end local 1 4: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 expression Ljdk/nashorn/internal/ir/Expression;
2 4 1 value Ljava/lang/Object;
MethodParameters:
Name Flags
expression final
public jdk.nashorn.internal.ir.Node leaveExpressionStatement(jdk.nashorn.internal.ir.ExpressionStatement);
descriptor: (Ljdk/nashorn/internal/ir/ExpressionStatement;)Ljdk/nashorn/internal/ir/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.ExpressionStatement.getExpression:()Ljdk/nashorn/internal/ir/Expression;
astore 2
start local 2 1: aload 1
astore 3
start local 3 2: aload 0
getfield jdk.nashorn.internal.codegen.Lower.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.ir.BlockLexicalContext
invokevirtual jdk.nashorn.internal.ir.BlockLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
astore 4
start local 4 3: aload 4
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isProgram:()Z
ifeq 14
4: aload 2
invokestatic jdk.nashorn.internal.codegen.Lower.isInternalExpression:(Ljdk/nashorn/internal/ir/Expression;)Z
ifne 14
aload 2
invokestatic jdk.nashorn.internal.codegen.Lower.isEvalResultAssignment:(Ljdk/nashorn/internal/ir/Node;)Z
ifne 14
5: aload 1
6: new jdk.nashorn.internal.ir.BinaryNode
dup
7: aload 1
invokevirtual jdk.nashorn.internal.ir.ExpressionStatement.getToken:()J
8: getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN:Ljdk/nashorn/internal/parser/TokenType;
9: invokestatic jdk.nashorn.internal.parser.Token.recast:(JLjdk/nashorn/internal/parser/TokenType;)J
10: aload 0
getstatic jdk.nashorn.internal.codegen.CompilerConstants.RETURN:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.Lower.compilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/IdentNode;
11: aload 2
12: invokespecial jdk.nashorn.internal.ir.BinaryNode.<init>:(JLjdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/Expression;)V
13: invokevirtual jdk.nashorn.internal.ir.ExpressionStatement.setExpression:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/ir/ExpressionStatement;
astore 3
14: StackMap locals: jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.ExpressionStatement jdk.nashorn.internal.ir.FunctionNode
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.Lower.es6:Z
ifeq 16
aload 1
invokevirtual jdk.nashorn.internal.ir.ExpressionStatement.destructuringDeclarationType:()Ljdk/nashorn/internal/parser/TokenType;
ifnull 16
15: aload 0
ldc "es6.destructuring"
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.throwNotImplementedYet:(Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;)V
16: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.Lower.addStatement:(Ljdk/nashorn/internal/ir/Statement;)Ljdk/nashorn/internal/ir/Node;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljdk/nashorn/internal/codegen/Lower;
0 17 1 expressionStatement Ljdk/nashorn/internal/ir/ExpressionStatement;
1 17 2 expr Ljdk/nashorn/internal/ir/Expression;
2 17 3 node Ljdk/nashorn/internal/ir/ExpressionStatement;
3 17 4 currentFunction Ljdk/nashorn/internal/ir/FunctionNode;
MethodParameters:
Name Flags
expressionStatement final
public jdk.nashorn.internal.ir.Node leaveBlockStatement(jdk.nashorn.internal.ir.BlockStatement);
descriptor: (Ljdk/nashorn/internal/ir/BlockStatement;)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 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.addStatement:(Ljdk/nashorn/internal/ir/Statement;)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/Lower;
0 1 1 blockStatement Ljdk/nashorn/internal/ir/BlockStatement;
MethodParameters:
Name Flags
blockStatement final
public boolean enterForNode(jdk.nashorn.internal.ir.ForNode);
descriptor: (Ljdk/nashorn/internal/ir/ForNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.Lower.es6:Z
ifeq 2
aload 1
invokevirtual jdk.nashorn.internal.ir.ForNode.getInit:()Ljdk/nashorn/internal/ir/Expression;
instanceof jdk.nashorn.internal.ir.ObjectNode
ifne 1
aload 1
invokevirtual jdk.nashorn.internal.ir.ForNode.getInit:()Ljdk/nashorn/internal/ir/Expression;
instanceof jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
ldc "es6.destructuring"
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.throwNotImplementedYet:(Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;)V
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial jdk.nashorn.internal.ir.visitor.NodeOperatorVisitor.enterForNode:(Ljdk/nashorn/internal/ir/ForNode;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/Lower;
0 3 1 forNode Ljdk/nashorn/internal/ir/ForNode;
MethodParameters:
Name Flags
forNode 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=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: aload 1
invokevirtual jdk.nashorn.internal.ir.ForNode.getTest:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
astore 3
start local 3 2: aload 1
invokevirtual jdk.nashorn.internal.ir.ForNode.isForInOrOf:()Z
ifne 4
aload 3
invokestatic jdk.nashorn.internal.ir.Expression.isAlwaysTrue:(Ljdk/nashorn/internal/ir/Expression;)Z
ifeq 4
3: aload 1
aload 0
getfield jdk.nashorn.internal.codegen.Lower.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aconst_null
invokevirtual jdk.nashorn.internal.ir.ForNode.setTest:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/JoinPredecessorExpression;)Ljdk/nashorn/internal/ir/ForNode;
astore 2
4: StackMap locals: jdk.nashorn.internal.ir.ForNode jdk.nashorn.internal.ir.Expression
StackMap stack:
aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.Lower.checkEscape:(Ljdk/nashorn/internal/ir/LoopNode;)Ljdk/nashorn/internal/ir/LoopNode;
checkcast jdk.nashorn.internal.ir.ForNode
astore 2
5: aload 0
getfield jdk.nashorn.internal.codegen.Lower.es6:Z
ifne 8
aload 2
invokevirtual jdk.nashorn.internal.ir.ForNode.isForInOrOf:()Z
ifeq 8
6: aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.Lower.addStatementEnclosedInBlock:(Ljdk/nashorn/internal/ir/Statement;)V
7: goto 9
8: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.Lower.addStatement:(Ljdk/nashorn/internal/ir/Statement;)Ljdk/nashorn/internal/ir/Node;
pop
9: StackMap locals:
StackMap stack:
aload 2
areturn
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/Lower;
0 10 1 forNode Ljdk/nashorn/internal/ir/ForNode;
1 10 2 newForNode Ljdk/nashorn/internal/ir/ForNode;
2 10 3 test Ljdk/nashorn/internal/ir/Expression;
MethodParameters:
Name Flags
forNode final
public boolean enterFunctionNode(jdk.nashorn.internal.ir.FunctionNode);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.Lower.es6:Z
ifeq 17
1: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getKind:()Ljdk/nashorn/internal/ir/FunctionNode$Kind;
getstatic jdk.nashorn.internal.ir.FunctionNode$Kind.MODULE:Ljdk/nashorn/internal/ir/FunctionNode$Kind;
if_acmpne 3
2: aload 0
ldc "es6.module"
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.throwNotImplementedYet:(Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;)V
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getKind:()Ljdk/nashorn/internal/ir/FunctionNode$Kind;
getstatic jdk.nashorn.internal.ir.FunctionNode$Kind.GENERATOR:Ljdk/nashorn/internal/ir/FunctionNode$Kind;
if_acmpne 5
4: aload 0
ldc "es6.generator"
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.throwNotImplementedYet:(Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;)V
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.usesSuper:()Z
ifeq 7
6: aload 0
ldc "es6.super"
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.throwNotImplementedYet:(Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;)V
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getNumOfParams:()I
istore 2
start local 2 8: iload 2
ifle 12
9: aload 1
iload 2
iconst_1
isub
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getParameter:(I)Ljdk/nashorn/internal/ir/IdentNode;
astore 3
start local 3 10: aload 3
invokevirtual jdk.nashorn.internal.ir.IdentNode.isRestParameter:()Z
ifeq 12
11: aload 0
ldc "es6.rest.param"
aload 3
invokevirtual jdk.nashorn.internal.codegen.Lower.throwNotImplementedYet:(Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;)V
end local 3 12: StackMap locals: int
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 16
StackMap locals: jdk.nashorn.internal.codegen.Lower jdk.nashorn.internal.ir.FunctionNode int top java.util.Iterator
StackMap stack:
13: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.IdentNode
astore 3
start local 3 14: aload 3
invokevirtual jdk.nashorn.internal.ir.IdentNode.isDestructuredParameter:()Z
ifeq 16
15: aload 0
ldc "es6.destructuring"
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.throwNotImplementedYet:(Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;)V
end local 3 16: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
end local 2 17: StackMap locals: jdk.nashorn.internal.codegen.Lower jdk.nashorn.internal.ir.FunctionNode
StackMap stack:
aload 0
aload 1
invokespecial jdk.nashorn.internal.ir.visitor.NodeOperatorVisitor.enterFunctionNode:(Ljdk/nashorn/internal/ir/FunctionNode;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljdk/nashorn/internal/codegen/Lower;
0 18 1 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
8 17 2 numParams I
10 12 3 lastParam Ljdk/nashorn/internal/ir/IdentNode;
14 16 3 param Ljdk/nashorn/internal/ir/IdentNode;
MethodParameters:
Name Flags
functionNode 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=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.Lower.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "END FunctionNode: "
aastore
dup
iconst_1
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
aastore
invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.info:([Ljava/lang/Object;)V
1: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/Lower;
0 2 1 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
MethodParameters:
Name Flags
functionNode final
public jdk.nashorn.internal.ir.Node leaveIfNode(jdk.nashorn.internal.ir.IfNode);
descriptor: (Ljdk/nashorn/internal/ir/IfNode;)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 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.addStatement:(Ljdk/nashorn/internal/ir/Statement;)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/Lower;
0 1 1 ifNode Ljdk/nashorn/internal/ir/IfNode;
MethodParameters:
Name Flags
ifNode final
public jdk.nashorn.internal.ir.Node leaveIN(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/ir/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new jdk.nashorn.internal.ir.RuntimeNode
dup
aload 1
invokespecial jdk.nashorn.internal.ir.RuntimeNode.<init>:(Ljdk/nashorn/internal/ir/BinaryNode;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/Lower;
0 1 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
public jdk.nashorn.internal.ir.Node leaveINSTANCEOF(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/ir/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new jdk.nashorn.internal.ir.RuntimeNode
dup
aload 1
invokespecial jdk.nashorn.internal.ir.RuntimeNode.<init>:(Ljdk/nashorn/internal/ir/BinaryNode;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/Lower;
0 1 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode final
public jdk.nashorn.internal.ir.Node leaveLabelNode(jdk.nashorn.internal.ir.LabelNode);
descriptor: (Ljdk/nashorn/internal/ir/LabelNode;)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 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.addStatement:(Ljdk/nashorn/internal/ir/Statement;)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/Lower;
0 1 1 labelNode Ljdk/nashorn/internal/ir/LabelNode;
MethodParameters:
Name Flags
labelNode final
public jdk.nashorn.internal.ir.Node leaveReturnNode(jdk.nashorn.internal.ir.ReturnNode);
descriptor: (Ljdk/nashorn/internal/ir/ReturnNode;)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 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.addStatement:(Ljdk/nashorn/internal/ir/Statement;)Ljdk/nashorn/internal/ir/Node;
pop
1: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/Lower;
0 2 1 returnNode Ljdk/nashorn/internal/ir/ReturnNode;
MethodParameters:
Name Flags
returnNode final
public jdk.nashorn.internal.ir.Node leaveCaseNode(jdk.nashorn.internal.ir.CaseNode);
descriptor: (Ljdk/nashorn/internal/ir/CaseNode;)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.CaseNode.getTest:()Ljdk/nashorn/internal/ir/Expression;
astore 2
start local 2 1: aload 2
instanceof jdk.nashorn.internal.ir.LiteralNode
ifeq 6
2: aload 2
checkcast jdk.nashorn.internal.ir.LiteralNode
astore 3
start local 3 3: aload 3
invokevirtual jdk.nashorn.internal.ir.LiteralNode.isNumeric:()Z
ifeq 6
aload 3
invokevirtual jdk.nashorn.internal.ir.LiteralNode.getValue:()Ljava/lang/Object;
instanceof java.lang.Integer
ifne 6
4: aload 3
invokevirtual jdk.nashorn.internal.ir.LiteralNode.getNumber:()D
invokestatic jdk.nashorn.internal.runtime.JSType.isRepresentableAsInt:(D)Z
ifeq 6
5: aload 1
aload 3
aload 3
invokevirtual jdk.nashorn.internal.ir.LiteralNode.getInt32:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic jdk.nashorn.internal.ir.LiteralNode.newInstance:(Ljdk/nashorn/internal/ir/Node;Ljava/lang/Number;)Ljdk/nashorn/internal/ir/LiteralNode;
aload 0
invokevirtual jdk.nashorn.internal.ir.LiteralNode.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
checkcast jdk.nashorn.internal.ir.Expression
invokevirtual jdk.nashorn.internal.ir.CaseNode.setTest:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/ir/CaseNode;
areturn
end local 3 6: StackMap locals: jdk.nashorn.internal.ir.Node
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/nashorn/internal/codegen/Lower;
0 7 1 caseNode Ljdk/nashorn/internal/ir/CaseNode;
1 7 2 test Ljdk/nashorn/internal/ir/Node;
3 6 3 lit Ljdk/nashorn/internal/ir/LiteralNode<*>;
MethodParameters:
Name Flags
caseNode 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=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.SwitchNode.isUniqueInteger:()Z
ifne 3
1: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.addStatementEnclosedInBlock:(Ljdk/nashorn/internal/ir/Statement;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.addStatement:(Ljdk/nashorn/internal/ir/Statement;)Ljdk/nashorn/internal/ir/Node;
pop
4: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/Lower;
0 5 1 switchNode Ljdk/nashorn/internal/ir/SwitchNode;
MethodParameters:
Name Flags
switchNode final
public jdk.nashorn.internal.ir.Node leaveThrowNode(jdk.nashorn.internal.ir.ThrowNode);
descriptor: (Ljdk/nashorn/internal/ir/ThrowNode;)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 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.addStatement:(Ljdk/nashorn/internal/ir/Statement;)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/Lower;
0 1 1 throwNode Ljdk/nashorn/internal/ir/ThrowNode;
MethodParameters:
Name Flags
throwNode final
private static <T extends jdk.nashorn.internal.ir.Node> T ensureUniqueNamesIn();
descriptor: (Ljdk/nashorn/internal/ir/Node;)Ljdk/nashorn/internal/ir/Node;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new jdk.nashorn.internal.codegen.Lower$2
dup
invokespecial jdk.nashorn.internal.codegen.Lower$2.<init>:()V
invokevirtual jdk.nashorn.internal.ir.Node.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 node TT;
Signature: <T:Ljdk/nashorn/internal/ir/Node;>(TT;)TT;
MethodParameters:
Name Flags
node final
private static jdk.nashorn.internal.ir.Block createFinallyBlock(jdk.nashorn.internal.ir.Block);
descriptor: (Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/Block;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
invokevirtual jdk.nashorn.internal.ir.Block.getStatements:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: jdk.nashorn.internal.ir.Block java.util.List top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.Statement
astore 2
start local 2 3: aload 1
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: aload 2
invokevirtual jdk.nashorn.internal.ir.Statement.hasTerminalFlags:()Z
ifeq 6
5: goto 7
end local 2 6: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: StackMap locals: jdk.nashorn.internal.ir.Block java.util.List
StackMap stack:
aload 0
aconst_null
aload 1
invokevirtual jdk.nashorn.internal.ir.Block.setStatements:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/util/List;)Ljdk/nashorn/internal/ir/Block;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 finallyBody Ljdk/nashorn/internal/ir/Block;
1 8 1 newStatements Ljava/util/List<Ljdk/nashorn/internal/ir/Statement;>;
3 6 2 statement Ljdk/nashorn/internal/ir/Statement;
MethodParameters:
Name Flags
finallyBody final
private jdk.nashorn.internal.ir.Block catchAllBlock(jdk.nashorn.internal.ir.TryNode);
descriptor: (Ljdk/nashorn/internal/ir/TryNode;)Ljdk/nashorn/internal/ir/Block;
flags: (0x0002) ACC_PRIVATE
Code:
stack=17, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.TryNode.getLineNumber:()I
istore 2
start local 2 1: aload 1
invokevirtual jdk.nashorn.internal.ir.TryNode.getToken:()J
lstore 3
start local 3 2: aload 1
invokevirtual jdk.nashorn.internal.ir.TryNode.getFinish:()I
istore 5
start local 5 3: new jdk.nashorn.internal.ir.IdentNode
dup
lload 3
iload 5
aload 0
getfield jdk.nashorn.internal.codegen.Lower.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.ir.BlockLexicalContext
invokevirtual jdk.nashorn.internal.ir.BlockLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.EXCEPTION_PREFIX:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.uniqueName:(Ljava/lang/String;)Ljava/lang/String;
invokespecial jdk.nashorn.internal.ir.IdentNode.<init>:(JILjava/lang/String;)V
astore 6
start local 6 4: new jdk.nashorn.internal.ir.Block
dup
lload 3
iload 5
iconst_1
anewarray jdk.nashorn.internal.ir.Statement
dup
iconst_0
new jdk.nashorn.internal.ir.ThrowNode
dup
iload 2
lload 3
iload 5
new jdk.nashorn.internal.ir.IdentNode
dup
aload 6
invokespecial jdk.nashorn.internal.ir.IdentNode.<init>:(Ljdk/nashorn/internal/ir/IdentNode;)V
iconst_1
invokespecial jdk.nashorn.internal.ir.ThrowNode.<init>:(IJILjdk/nashorn/internal/ir/Expression;Z)V
aastore
invokespecial jdk.nashorn.internal.ir.Block.<init>:(JI[Ljdk/nashorn/internal/ir/Statement;)V
astore 7
start local 7 5: getstatic jdk.nashorn.internal.codegen.Lower.$assertionsDisabled:Z
ifne 6
aload 7
invokevirtual jdk.nashorn.internal.ir.Block.isTerminal:()Z
ifne 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: jdk.nashorn.internal.codegen.Lower jdk.nashorn.internal.ir.TryNode int long int jdk.nashorn.internal.ir.IdentNode jdk.nashorn.internal.ir.Block
StackMap stack:
new jdk.nashorn.internal.ir.CatchNode
dup
iload 2
lload 3
iload 5
new jdk.nashorn.internal.ir.IdentNode
dup
aload 6
invokespecial jdk.nashorn.internal.ir.IdentNode.<init>:(Ljdk/nashorn/internal/ir/IdentNode;)V
aconst_null
aload 7
iconst_1
invokespecial jdk.nashorn.internal.ir.CatchNode.<init>:(IJILjdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/Block;Z)V
astore 8
start local 8 7: new jdk.nashorn.internal.ir.Block
dup
lload 3
iload 5
iconst_1
anewarray jdk.nashorn.internal.ir.Statement
dup
iconst_0
aload 8
aastore
invokespecial jdk.nashorn.internal.ir.Block.<init>:(JI[Ljdk/nashorn/internal/ir/Statement;)V
astore 9
start local 9 8: aload 9
aload 0
invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
checkcast jdk.nashorn.internal.ir.Block
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 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/Lower;
0 9 1 tryNode Ljdk/nashorn/internal/ir/TryNode;
1 9 2 lineNumber I
2 9 3 token J
3 9 5 finish I
4 9 6 exception Ljdk/nashorn/internal/ir/IdentNode;
5 9 7 catchBody Ljdk/nashorn/internal/ir/Block;
7 9 8 catchAllNode Ljdk/nashorn/internal/ir/CatchNode;
8 9 9 catchAllBlock Ljdk/nashorn/internal/ir/Block;
MethodParameters:
Name Flags
tryNode final
private jdk.nashorn.internal.ir.IdentNode compilerConstant(jdk.nashorn.internal.codegen.CompilerConstants);
descriptor: (Ljdk/nashorn/internal/codegen/CompilerConstants;)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.Lower.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.ir.BlockLexicalContext
invokevirtual jdk.nashorn.internal.ir.BlockLexicalContext.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
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
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/Lower;
0 2 1 cc Ljdk/nashorn/internal/codegen/CompilerConstants;
1 2 2 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
MethodParameters:
Name Flags
cc final
private static boolean isTerminalFinally(jdk.nashorn.internal.ir.Block);
descriptor: (Ljdk/nashorn/internal/ir/Block;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.ir.Block.getLastStatement:()Ljdk/nashorn/internal/ir/Statement;
invokevirtual jdk.nashorn.internal.ir.Statement.hasTerminalFlags:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 finallyBlock Ljdk/nashorn/internal/ir/Block;
MethodParameters:
Name Flags
finallyBlock final
private jdk.nashorn.internal.ir.TryNode spliceFinally(jdk.nashorn.internal.ir.TryNode, jdk.nashorn.internal.ir.ThrowNode, jdk.nashorn.internal.ir.Block);
descriptor: (Ljdk/nashorn/internal/ir/TryNode;Ljdk/nashorn/internal/ir/ThrowNode;Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/TryNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jdk.nashorn.internal.codegen.Lower.$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 3
invokestatic jdk.nashorn.internal.codegen.Lower.createFinallyBlock:(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/Block;
astore 4
start local 4 2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 3: aload 0
getfield jdk.nashorn.internal.codegen.Lower.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.ir.BlockLexicalContext
invokevirtual jdk.nashorn.internal.ir.BlockLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
astore 6
start local 6 4: aload 1
new jdk.nashorn.internal.codegen.Lower$3
dup
aload 0
aload 2
aload 4
aload 6
aload 5
invokespecial jdk.nashorn.internal.codegen.Lower$3.<init>:(Ljdk/nashorn/internal/codegen/Lower;Ljdk/nashorn/internal/ir/ThrowNode;Ljdk/nashorn/internal/ir/Block;Ljdk/nashorn/internal/ir/FunctionNode;Ljava/util/ArrayList;)V
invokevirtual jdk.nashorn.internal.ir.TryNode.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
checkcast jdk.nashorn.internal.ir.TryNode
astore 7
start local 7 5: aload 0
aload 5
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 6
aload 7
goto 7
StackMap locals: jdk.nashorn.internal.codegen.Lower jdk.nashorn.internal.ir.TryNode jdk.nashorn.internal.ir.ThrowNode jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.Block java.util.ArrayList jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.ir.TryNode
StackMap stack: jdk.nashorn.internal.codegen.Lower
6: aload 7
aload 0
getfield jdk.nashorn.internal.codegen.Lower.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 5
invokevirtual jdk.nashorn.internal.ir.TryNode.setInlinedFinallies:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/util/List;)Ljdk/nashorn/internal/ir/TryNode;
StackMap locals: jdk.nashorn.internal.codegen.Lower jdk.nashorn.internal.ir.TryNode jdk.nashorn.internal.ir.ThrowNode jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.Block java.util.ArrayList jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.ir.TryNode
StackMap stack: jdk.nashorn.internal.codegen.Lower jdk.nashorn.internal.ir.TryNode
7: invokevirtual jdk.nashorn.internal.codegen.Lower.addStatement:(Ljdk/nashorn/internal/ir/Statement;)Ljdk/nashorn/internal/ir/Node;
pop
8: aload 0
new jdk.nashorn.internal.ir.BlockStatement
dup
aload 4
invokespecial jdk.nashorn.internal.ir.BlockStatement.<init>:(Ljdk/nashorn/internal/ir/Block;)V
invokevirtual jdk.nashorn.internal.codegen.Lower.addStatement:(Ljdk/nashorn/internal/ir/Statement;)Ljdk/nashorn/internal/ir/Node;
pop
9: aload 7
areturn
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 10 0 this Ljdk/nashorn/internal/codegen/Lower;
0 10 1 tryNode Ljdk/nashorn/internal/ir/TryNode;
0 10 2 rethrow Ljdk/nashorn/internal/ir/ThrowNode;
0 10 3 finallyBody Ljdk/nashorn/internal/ir/Block;
2 10 4 finallyBlock Ljdk/nashorn/internal/ir/Block;
3 10 5 inlinedFinallies Ljava/util/ArrayList<Ljdk/nashorn/internal/ir/Block;>;
4 10 6 fn Ljdk/nashorn/internal/ir/FunctionNode;
5 10 7 newTryNode Ljdk/nashorn/internal/ir/TryNode;
MethodParameters:
Name Flags
tryNode final
rethrow final
finallyBody final
private static jdk.nashorn.internal.ir.JumpToInlinedFinally createJumpToInlinedFinally(jdk.nashorn.internal.ir.FunctionNode, java.util.List<jdk.nashorn.internal.ir.Block>, jdk.nashorn.internal.ir.Block);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;Ljava/util/List;Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/JumpToInlinedFinally;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=17, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc ":finally"
invokevirtual jdk.nashorn.internal.ir.FunctionNode.uniqueName:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 1: aload 2
invokevirtual jdk.nashorn.internal.ir.Block.getToken:()J
lstore 4
start local 4 2: aload 2
invokevirtual jdk.nashorn.internal.ir.Block.getFinish:()I
istore 6
start local 6 3: aload 1
new jdk.nashorn.internal.ir.Block
dup
lload 4
iload 6
iconst_1
anewarray jdk.nashorn.internal.ir.Statement
dup
iconst_0
new jdk.nashorn.internal.ir.LabelNode
dup
aload 2
invokevirtual jdk.nashorn.internal.ir.Block.getFirstStatementLineNumber:()I
4: lload 4
iload 6
aload 3
aload 2
invokespecial jdk.nashorn.internal.ir.LabelNode.<init>:(IJILjava/lang/String;Ljdk/nashorn/internal/ir/Block;)V
aastore
invokespecial jdk.nashorn.internal.ir.Block.<init>:(JI[Ljdk/nashorn/internal/ir/Statement;)V
5: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: new jdk.nashorn.internal.ir.JumpToInlinedFinally
dup
aload 3
invokespecial jdk.nashorn.internal.ir.JumpToInlinedFinally.<init>:(Ljava/lang/String;)V
areturn
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 7 0 fn Ljdk/nashorn/internal/ir/FunctionNode;
0 7 1 inlinedFinallies Ljava/util/List<Ljdk/nashorn/internal/ir/Block;>;
0 7 2 finallyBlock Ljdk/nashorn/internal/ir/Block;
1 7 3 labelName Ljava/lang/String;
2 7 4 token J
3 7 6 finish I
Signature: (Ljdk/nashorn/internal/ir/FunctionNode;Ljava/util/List<Ljdk/nashorn/internal/ir/Block;>;Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/JumpToInlinedFinally;
MethodParameters:
Name Flags
fn final
inlinedFinallies final
finallyBlock final
private static jdk.nashorn.internal.ir.Block prependFinally(jdk.nashorn.internal.ir.Block, jdk.nashorn.internal.ir.Statement);
descriptor: (Ljdk/nashorn/internal/ir/Block;Ljdk/nashorn/internal/ir/Statement;)Ljdk/nashorn/internal/ir/Block;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokestatic jdk.nashorn.internal.codegen.Lower.ensureUniqueNamesIn:(Ljdk/nashorn/internal/ir/Node;)Ljdk/nashorn/internal/ir/Node;
checkcast jdk.nashorn.internal.ir.Block
astore 2
start local 2 1: aload 0
invokestatic jdk.nashorn.internal.codegen.Lower.isTerminalFinally:(Ljdk/nashorn/internal/ir/Block;)Z
ifeq 3
2: aload 2
areturn
3: StackMap locals: jdk.nashorn.internal.ir.Block
StackMap stack:
aload 2
invokevirtual jdk.nashorn.internal.ir.Block.getStatements:()Ljava/util/List;
astore 3
start local 3 4: new java.util.ArrayList
dup
aload 3
invokeinterface java.util.List.size:()I
iconst_1
iadd
invokespecial java.util.ArrayList.<init>:(I)V
astore 4
start local 4 5: aload 4
aload 3
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
6: aload 4
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: new jdk.nashorn.internal.ir.Block
dup
aload 2
invokevirtual jdk.nashorn.internal.ir.Block.getToken:()J
aload 1
invokevirtual jdk.nashorn.internal.ir.Statement.getFinish:()I
aload 4
invokespecial jdk.nashorn.internal.ir.Block.<init>:(JILjava/util/List;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 finallyBlock Ljdk/nashorn/internal/ir/Block;
0 8 1 statement Ljdk/nashorn/internal/ir/Statement;
1 8 2 inlinedFinally Ljdk/nashorn/internal/ir/Block;
4 8 3 stmts Ljava/util/List<Ljdk/nashorn/internal/ir/Statement;>;
5 8 4 newStmts Ljava/util/List<Ljdk/nashorn/internal/ir/Statement;>;
MethodParameters:
Name Flags
finallyBlock final
statement 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=10, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.TryNode.getFinallyBody:()Ljdk/nashorn/internal/ir/Block;
astore 2
start local 2 1: aload 1
aload 0
getfield jdk.nashorn.internal.codegen.Lower.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aconst_null
invokevirtual jdk.nashorn.internal.ir.TryNode.setFinallyBody:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/TryNode;
astore 3
start local 3 2: aload 2
ifnull 3
aload 2
invokevirtual jdk.nashorn.internal.ir.Block.getStatementCount:()I
ifne 7
3: StackMap locals: jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.TryNode
StackMap stack:
aload 3
invokevirtual jdk.nashorn.internal.ir.TryNode.getCatches:()Ljava/util/List;
astore 4
start local 4 4: aload 4
ifnull 5
aload 4
invokeinterface java.util.List.isEmpty:()Z
ifeq 6
5: StackMap locals: java.util.List
StackMap stack:
aload 0
new jdk.nashorn.internal.ir.BlockStatement
dup
aload 1
invokevirtual jdk.nashorn.internal.ir.TryNode.getBody:()Ljdk/nashorn/internal/ir/Block;
invokespecial jdk.nashorn.internal.ir.BlockStatement.<init>:(Ljdk/nashorn/internal/ir/Block;)V
invokevirtual jdk.nashorn.internal.codegen.Lower.addStatement:(Ljdk/nashorn/internal/ir/Statement;)Ljdk/nashorn/internal/ir/Node;
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.Lower.ensureUnconditionalCatch:(Ljdk/nashorn/internal/ir/TryNode;)Ljdk/nashorn/internal/ir/TryNode;
invokevirtual jdk.nashorn.internal.codegen.Lower.addStatement:(Ljdk/nashorn/internal/ir/Statement;)Ljdk/nashorn/internal/ir/Node;
areturn
end local 4 7: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.catchAllBlock:(Ljdk/nashorn/internal/ir/TryNode;)Ljdk/nashorn/internal/ir/Block;
astore 4
start local 4 8: new java.util.ArrayList
dup
iconst_1
invokespecial java.util.ArrayList.<init>:(I)V
astore 5
start local 5 9: aload 4
new jdk.nashorn.internal.codegen.Lower$4
dup
aload 0
aload 5
invokespecial jdk.nashorn.internal.codegen.Lower$4.<init>:(Ljdk/nashorn/internal/codegen/Lower;Ljava/util/List;)V
invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
10: getstatic jdk.nashorn.internal.codegen.Lower.$assertionsDisabled:Z
ifne 11
aload 5
invokeinterface java.util.List.size:()I
iconst_1
if_icmpeq 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals: jdk.nashorn.internal.ir.Block java.util.List
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.ir.TryNode.getCatchBlocks:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 14
12: new jdk.nashorn.internal.ir.Block
dup
aload 3
invokevirtual jdk.nashorn.internal.ir.TryNode.getToken:()J
aload 3
invokevirtual jdk.nashorn.internal.ir.TryNode.getFinish:()I
iconst_1
anewarray jdk.nashorn.internal.ir.Statement
dup
iconst_0
aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.Lower.ensureUnconditionalCatch:(Ljdk/nashorn/internal/ir/TryNode;)Ljdk/nashorn/internal/ir/TryNode;
aastore
invokespecial jdk.nashorn.internal.ir.Block.<init>:(JI[Ljdk/nashorn/internal/ir/Statement;)V
astore 6
start local 6 13: aload 3
aload 0
getfield jdk.nashorn.internal.codegen.Lower.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 6
invokevirtual jdk.nashorn.internal.ir.TryNode.setBody:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/TryNode;
aload 0
getfield jdk.nashorn.internal.codegen.Lower.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aconst_null
invokevirtual jdk.nashorn.internal.ir.TryNode.setCatchBlocks:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/util/List;)Ljdk/nashorn/internal/ir/TryNode;
astore 3
end local 6 14: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield jdk.nashorn.internal.codegen.Lower.lc:Ljdk/nashorn/internal/ir/LexicalContext;
iconst_1
anewarray jdk.nashorn.internal.ir.Block
dup
iconst_0
aload 4
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual jdk.nashorn.internal.ir.TryNode.setCatchBlocks:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/util/List;)Ljdk/nashorn/internal/ir/TryNode;
astore 3
15: aload 0
getfield jdk.nashorn.internal.codegen.Lower.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.ir.BlockLexicalContext
aload 1
aload 0
aload 3
aload 5
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.ThrowNode
aload 2
invokevirtual jdk.nashorn.internal.codegen.Lower.spliceFinally:(Ljdk/nashorn/internal/ir/TryNode;Ljdk/nashorn/internal/ir/ThrowNode;Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/TryNode;
invokevirtual jdk.nashorn.internal.ir.BlockLexicalContext.replace:(Ljdk/nashorn/internal/ir/LexicalContextNode;Ljdk/nashorn/internal/ir/LexicalContextNode;)Ljdk/nashorn/internal/ir/LexicalContextNode;
checkcast jdk.nashorn.internal.ir.TryNode
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 16 0 this Ljdk/nashorn/internal/codegen/Lower;
0 16 1 tryNode Ljdk/nashorn/internal/ir/TryNode;
1 16 2 finallyBody Ljdk/nashorn/internal/ir/Block;
2 16 3 newTryNode Ljdk/nashorn/internal/ir/TryNode;
4 7 4 catches Ljava/util/List<Ljdk/nashorn/internal/ir/CatchNode;>;
8 16 4 catchAll Ljdk/nashorn/internal/ir/Block;
9 16 5 rethrows Ljava/util/List<Ljdk/nashorn/internal/ir/ThrowNode;>;
13 14 6 outerBody Ljdk/nashorn/internal/ir/Block;
MethodParameters:
Name Flags
tryNode final
private jdk.nashorn.internal.ir.TryNode ensureUnconditionalCatch(jdk.nashorn.internal.ir.TryNode);
descriptor: (Ljdk/nashorn/internal/ir/TryNode;)Ljdk/nashorn/internal/ir/TryNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.TryNode.getCatches:()Ljava/util/List;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
invokeinterface java.util.List.isEmpty:()Z
ifne 2
aload 2
aload 2
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.CatchNode
invokevirtual jdk.nashorn.internal.ir.CatchNode.getExceptionCondition:()Ljdk/nashorn/internal/ir/Expression;
ifnonnull 3
2: StackMap locals: java.util.List
StackMap stack:
aload 1
areturn
3: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 1
invokevirtual jdk.nashorn.internal.ir.TryNode.getCatchBlocks:()Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 3
start local 3 4: aload 3
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.catchAllBlock:(Ljdk/nashorn/internal/ir/TryNode;)Ljdk/nashorn/internal/ir/Block;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: aload 1
aload 0
getfield jdk.nashorn.internal.codegen.Lower.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 3
invokevirtual jdk.nashorn.internal.ir.TryNode.setCatchBlocks:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/util/List;)Ljdk/nashorn/internal/ir/TryNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/nashorn/internal/codegen/Lower;
0 6 1 tryNode Ljdk/nashorn/internal/ir/TryNode;
1 6 2 catches Ljava/util/List<Ljdk/nashorn/internal/ir/CatchNode;>;
4 6 3 newCatchBlocks Ljava/util/List<Ljdk/nashorn/internal/ir/Block;>;
MethodParameters:
Name Flags
tryNode final
public boolean enterUnaryNode(jdk.nashorn.internal.ir.UnaryNode);
descriptor: (Ljdk/nashorn/internal/ir/UnaryNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.Lower.es6:Z
ifeq 8
1: aload 1
getstatic jdk.nashorn.internal.parser.TokenType.YIELD:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.ir.UnaryNode.isTokenType:(Ljdk/nashorn/internal/parser/TokenType;)Z
ifne 3
2: aload 1
getstatic jdk.nashorn.internal.parser.TokenType.YIELD_STAR:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.ir.UnaryNode.isTokenType:(Ljdk/nashorn/internal/parser/TokenType;)Z
ifeq 5
3: StackMap locals:
StackMap stack:
aload 0
ldc "es6.yield"
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.throwNotImplementedYet:(Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;)V
4: goto 8
StackMap locals:
StackMap stack:
5: aload 1
getstatic jdk.nashorn.internal.parser.TokenType.SPREAD_ARGUMENT:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.ir.UnaryNode.isTokenType:(Ljdk/nashorn/internal/parser/TokenType;)Z
ifne 7
6: aload 1
getstatic jdk.nashorn.internal.parser.TokenType.SPREAD_ARRAY:Ljdk/nashorn/internal/parser/TokenType;
invokevirtual jdk.nashorn.internal.ir.UnaryNode.isTokenType:(Ljdk/nashorn/internal/parser/TokenType;)Z
ifeq 8
7: StackMap locals:
StackMap stack:
aload 0
ldc "es6.spread"
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.throwNotImplementedYet:(Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;)V
8: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial jdk.nashorn.internal.ir.visitor.NodeOperatorVisitor.enterUnaryNode:(Ljdk/nashorn/internal/ir/UnaryNode;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/nashorn/internal/codegen/Lower;
0 9 1 unaryNode Ljdk/nashorn/internal/ir/UnaryNode;
MethodParameters:
Name Flags
unaryNode final
public boolean enterASSIGN(jdk.nashorn.internal.ir.BinaryNode);
descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.Lower.es6:Z
ifeq 2
aload 1
invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
instanceof jdk.nashorn.internal.ir.ObjectNode
ifne 1
aload 1
invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
instanceof jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
ldc "es6.destructuring"
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.throwNotImplementedYet:(Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;)V
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial jdk.nashorn.internal.ir.visitor.NodeOperatorVisitor.enterASSIGN:(Ljdk/nashorn/internal/ir/BinaryNode;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/Lower;
0 3 1 binaryNode Ljdk/nashorn/internal/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode
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=9, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.addStatement:(Ljdk/nashorn/internal/ir/Statement;)Ljdk/nashorn/internal/ir/Node;
pop
1: aload 1
iconst_4
invokevirtual jdk.nashorn.internal.ir.VarNode.getFlag:(I)Z
ifeq 5
2: aload 0
getfield jdk.nashorn.internal.codegen.Lower.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.ir.BlockLexicalContext
invokevirtual jdk.nashorn.internal.ir.BlockLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isProgram:()Z
ifeq 5
3: aload 1
invokevirtual jdk.nashorn.internal.ir.VarNode.getInit:()Ljdk/nashorn/internal/ir/Expression;
checkcast jdk.nashorn.internal.ir.FunctionNode
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isAnonymous:()Z
ifeq 5
4: new jdk.nashorn.internal.ir.ExpressionStatement
dup
aload 1
invokevirtual jdk.nashorn.internal.ir.VarNode.getLineNumber:()I
aload 1
invokevirtual jdk.nashorn.internal.ir.VarNode.getToken:()J
aload 1
invokevirtual jdk.nashorn.internal.ir.VarNode.getFinish:()I
new jdk.nashorn.internal.ir.IdentNode
dup
aload 1
invokevirtual jdk.nashorn.internal.ir.VarNode.getName:()Ljdk/nashorn/internal/ir/IdentNode;
invokespecial jdk.nashorn.internal.ir.IdentNode.<init>:(Ljdk/nashorn/internal/ir/IdentNode;)V
invokespecial jdk.nashorn.internal.ir.ExpressionStatement.<init>:(IJILjdk/nashorn/internal/ir/Expression;)V
aload 0
invokevirtual jdk.nashorn.internal.ir.ExpressionStatement.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
5: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/nashorn/internal/codegen/Lower;
0 6 1 varNode Ljdk/nashorn/internal/ir/VarNode;
MethodParameters:
Name Flags
varNode final
public jdk.nashorn.internal.ir.Node leaveWhileNode(jdk.nashorn.internal.ir.WhileNode);
descriptor: (Ljdk/nashorn/internal/ir/WhileNode;)Ljdk/nashorn/internal/ir/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.WhileNode.getTest:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
astore 2
start local 2 1: aload 1
invokevirtual jdk.nashorn.internal.ir.WhileNode.getBody:()Ljdk/nashorn/internal/ir/Block;
astore 3
start local 3 2: aload 2
invokestatic jdk.nashorn.internal.ir.Expression.isAlwaysTrue:(Ljdk/nashorn/internal/ir/Expression;)Z
ifeq 6
3: new jdk.nashorn.internal.ir.ForNode
dup
aload 1
invokevirtual jdk.nashorn.internal.ir.WhileNode.getLineNumber:()I
aload 1
invokevirtual jdk.nashorn.internal.ir.WhileNode.getToken:()J
aload 1
invokevirtual jdk.nashorn.internal.ir.WhileNode.getFinish:()I
aload 3
iconst_0
invokespecial jdk.nashorn.internal.ir.ForNode.<init>:(IJILjdk/nashorn/internal/ir/Block;I)V
aload 0
invokevirtual jdk.nashorn.internal.ir.ForNode.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
checkcast jdk.nashorn.internal.ir.ForNode
astore 4
start local 4 4: aload 0
getfield jdk.nashorn.internal.codegen.Lower.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.ir.BlockLexicalContext
aload 1
aload 4
invokevirtual jdk.nashorn.internal.ir.BlockLexicalContext.replace:(Ljdk/nashorn/internal/ir/LexicalContextNode;Ljdk/nashorn/internal/ir/LexicalContextNode;)Ljdk/nashorn/internal/ir/LexicalContextNode;
pop
5: aload 4
areturn
end local 4 6: StackMap locals: jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Block
StackMap stack:
aload 0
aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.checkEscape:(Ljdk/nashorn/internal/ir/LoopNode;)Ljdk/nashorn/internal/ir/LoopNode;
invokevirtual jdk.nashorn.internal.codegen.Lower.addStatement:(Ljdk/nashorn/internal/ir/Statement;)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 7 0 this Ljdk/nashorn/internal/codegen/Lower;
0 7 1 whileNode Ljdk/nashorn/internal/ir/WhileNode;
1 7 2 test Ljdk/nashorn/internal/ir/Expression;
2 7 3 body Ljdk/nashorn/internal/ir/Block;
4 6 4 forNode Ljdk/nashorn/internal/ir/ForNode;
MethodParameters:
Name Flags
whileNode final
public jdk.nashorn.internal.ir.Node leaveWithNode(jdk.nashorn.internal.ir.WithNode);
descriptor: (Ljdk/nashorn/internal/ir/WithNode;)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 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.addStatement:(Ljdk/nashorn/internal/ir/Statement;)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/Lower;
0 1 1 withNode Ljdk/nashorn/internal/ir/WithNode;
MethodParameters:
Name Flags
withNode final
public boolean enterClassNode(jdk.nashorn.internal.ir.ClassNode);
descriptor: (Ljdk/nashorn/internal/ir/ClassNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "es6.class"
aload 1
invokevirtual jdk.nashorn.internal.codegen.Lower.throwNotImplementedYet:(Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;)V
1: aload 0
aload 1
invokespecial jdk.nashorn.internal.ir.visitor.NodeOperatorVisitor.enterClassNode:(Ljdk/nashorn/internal/ir/ClassNode;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/Lower;
0 2 1 classNode Ljdk/nashorn/internal/ir/ClassNode;
MethodParameters:
Name Flags
classNode final
private static jdk.nashorn.internal.ir.Expression markerFunction(jdk.nashorn.internal.ir.Expression);
descriptor: (Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/ir/Expression;
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.IdentNode
ifeq 2
1: aload 0
checkcast jdk.nashorn.internal.ir.IdentNode
invokevirtual jdk.nashorn.internal.ir.IdentNode.setIsFunction:()Ljdk/nashorn/internal/ir/IdentNode;
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof jdk.nashorn.internal.ir.BaseNode
ifeq 4
3: aload 0
checkcast jdk.nashorn.internal.ir.BaseNode
invokevirtual jdk.nashorn.internal.ir.BaseNode.setIsFunction:()Ljdk/nashorn/internal/ir/BaseNode;
areturn
4: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 function Ljdk/nashorn/internal/ir/Expression;
MethodParameters:
Name Flags
function final
private java.lang.String evalLocation(jdk.nashorn.internal.ir.IdentNode);
descriptor: (Ljdk/nashorn/internal/ir/IdentNode;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.Lower.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.ir.BlockLexicalContext
invokevirtual jdk.nashorn.internal.ir.BlockLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getSource:()Ljdk/nashorn/internal/runtime/Source;
astore 2
start local 2 1: aload 1
invokevirtual jdk.nashorn.internal.ir.IdentNode.position:()I
istore 3
start local 3 2: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
3: aload 2
invokevirtual jdk.nashorn.internal.runtime.Source.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: bipush 35
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
5: aload 2
iload 3
invokevirtual jdk.nashorn.internal.runtime.Source.getLine:(I)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
6: bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
7: aload 2
iload 3
invokevirtual jdk.nashorn.internal.runtime.Source.getColumn:(I)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
8: ldc "<eval>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: areturn
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/Lower;
0 11 1 node Ljdk/nashorn/internal/ir/IdentNode;
1 11 2 source Ljdk/nashorn/internal/runtime/Source;
2 11 3 pos I
MethodParameters:
Name Flags
node final
private jdk.nashorn.internal.ir.CallNode checkEval(jdk.nashorn.internal.ir.CallNode);
descriptor: (Ljdk/nashorn/internal/ir/CallNode;)Ljdk/nashorn/internal/ir/CallNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.CallNode.getFunction:()Ljdk/nashorn/internal/ir/Expression;
instanceof jdk.nashorn.internal.ir.IdentNode
ifeq 10
1: aload 1
invokevirtual jdk.nashorn.internal.ir.CallNode.getArgs:()Ljava/util/List;
astore 2
start local 2 2: aload 1
invokevirtual jdk.nashorn.internal.ir.CallNode.getFunction:()Ljdk/nashorn/internal/ir/Expression;
checkcast jdk.nashorn.internal.ir.IdentNode
astore 3
start local 3 3: aload 2
invokeinterface java.util.List.size:()I
iconst_1
if_icmplt 10
getstatic jdk.nashorn.internal.codegen.CompilerConstants.EVAL:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
aload 3
invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
4: new java.util.ArrayList
dup
aload 2
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 4
start local 4 5: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 8
StackMap locals: jdk.nashorn.internal.codegen.Lower jdk.nashorn.internal.ir.CallNode java.util.List jdk.nashorn.internal.ir.IdentNode java.util.List top java.util.Iterator
StackMap stack:
6: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.Expression
astore 5
start local 5 7: aload 4
aload 5
invokestatic jdk.nashorn.internal.codegen.Lower.ensureUniqueNamesIn:(Ljdk/nashorn/internal/ir/Node;)Ljdk/nashorn/internal/ir/Node;
checkcast jdk.nashorn.internal.ir.Expression
aload 0
invokevirtual jdk.nashorn.internal.ir.Expression.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
checkcast jdk.nashorn.internal.ir.Expression
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 8: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: aload 1
new jdk.nashorn.internal.ir.CallNode$EvalArgs
dup
aload 4
aload 0
aload 3
invokevirtual jdk.nashorn.internal.codegen.Lower.evalLocation:(Ljdk/nashorn/internal/ir/IdentNode;)Ljava/lang/String;
invokespecial jdk.nashorn.internal.ir.CallNode$EvalArgs.<init>:(Ljava/util/List;Ljava/lang/String;)V
invokevirtual jdk.nashorn.internal.ir.CallNode.setEvalArgs:(Ljdk/nashorn/internal/ir/CallNode$EvalArgs;)Ljdk/nashorn/internal/ir/CallNode;
areturn
end local 4 end local 3 end local 2 10: StackMap locals: jdk.nashorn.internal.codegen.Lower jdk.nashorn.internal.ir.CallNode
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/nashorn/internal/codegen/Lower;
0 11 1 callNode Ljdk/nashorn/internal/ir/CallNode;
2 10 2 args Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
3 10 3 callee Ljdk/nashorn/internal/ir/IdentNode;
5 10 4 evalArgs Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
7 8 5 arg Ljdk/nashorn/internal/ir/Expression;
MethodParameters:
Name Flags
callNode final
private static boolean controlFlowEscapes(jdk.nashorn.internal.ir.LexicalContext, jdk.nashorn.internal.ir.Block);
descriptor: (Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Block;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, 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
new jdk.nashorn.internal.codegen.Lower$5
dup
aload 2
aload 0
invokespecial jdk.nashorn.internal.codegen.Lower$5.<init>:(Ljava/util/List;Ljdk/nashorn/internal/ir/LexicalContext;)V
invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
pop
2: aload 2
invokeinterface java.util.List.isEmpty:()Z
ifeq 3
iconst_0
goto 4
StackMap locals: java.util.List
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 lex Ljdk/nashorn/internal/ir/LexicalContext;
0 5 1 loopBody Ljdk/nashorn/internal/ir/Block;
1 5 2 escapes Ljava/util/List<Ljdk/nashorn/internal/ir/Node;>;
MethodParameters:
Name Flags
lex final
loopBody final
private <T extends jdk.nashorn.internal.ir.LoopNode> T checkEscape();
descriptor: (Ljdk/nashorn/internal/ir/LoopNode;)Ljdk/nashorn/internal/ir/LoopNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.Lower.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 1
invokevirtual jdk.nashorn.internal.ir.LoopNode.getBody:()Ljdk/nashorn/internal/ir/Block;
invokestatic jdk.nashorn.internal.codegen.Lower.controlFlowEscapes:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Block;)Z
istore 2
start local 2 1: iload 2
ifeq 6
2: aload 1
3: aload 0
getfield jdk.nashorn.internal.codegen.Lower.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 1
invokevirtual jdk.nashorn.internal.ir.LoopNode.getBody:()Ljdk/nashorn/internal/ir/Block;
aload 0
getfield jdk.nashorn.internal.codegen.Lower.lc:Ljdk/nashorn/internal/ir/LexicalContext;
iconst_0
invokevirtual jdk.nashorn.internal.ir.Block.setIsTerminal:(Ljdk/nashorn/internal/ir/LexicalContext;Z)Ljdk/nashorn/internal/ir/Block;
invokevirtual jdk.nashorn.internal.ir.LoopNode.setBody:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/LoopNode;
4: aload 0
getfield jdk.nashorn.internal.codegen.Lower.lc:Ljdk/nashorn/internal/ir/LexicalContext;
iload 2
invokevirtual jdk.nashorn.internal.ir.LoopNode.setControlFlowEscapes:(Ljdk/nashorn/internal/ir/LexicalContext;Z)Ljdk/nashorn/internal/ir/LoopNode;
5: areturn
6: StackMap locals: int
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/nashorn/internal/codegen/Lower;
0 7 1 loopNode TT;
1 7 2 escapes Z
Signature: <T:Ljdk/nashorn/internal/ir/LoopNode;>(TT;)TT;
MethodParameters:
Name Flags
loopNode final
private jdk.nashorn.internal.ir.Node addStatement(jdk.nashorn.internal.ir.Statement);
descriptor: (Ljdk/nashorn/internal/ir/Statement;)Ljdk/nashorn/internal/ir/Node;
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.Lower.lc:Ljdk/nashorn/internal/ir/LexicalContext;
checkcast jdk.nashorn.internal.ir.BlockLexicalContext
aload 1
invokevirtual jdk.nashorn.internal.ir.BlockLexicalContext.appendStatement:(Ljdk/nashorn/internal/ir/Statement;)V
1: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/Lower;
0 2 1 statement Ljdk/nashorn/internal/ir/Statement;
MethodParameters:
Name Flags
statement final
private void addStatementEnclosedInBlock(jdk.nashorn.internal.ir.Statement);
descriptor: (Ljdk/nashorn/internal/ir/Statement;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 1
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
invokestatic jdk.nashorn.internal.ir.BlockStatement.createReplacement:(Ljdk/nashorn/internal/ir/Statement;Ljava/util/List;)Ljdk/nashorn/internal/ir/BlockStatement;
astore 2
start local 2 1: aload 1
invokevirtual jdk.nashorn.internal.ir.Statement.isTerminal:()Z
ifeq 3
2: aload 2
aload 2
invokevirtual jdk.nashorn.internal.ir.BlockStatement.getBlock:()Ljdk/nashorn/internal/ir/Block;
aconst_null
iconst_1
invokevirtual jdk.nashorn.internal.ir.Block.setIsTerminal:(Ljdk/nashorn/internal/ir/LexicalContext;Z)Ljdk/nashorn/internal/ir/Block;
invokevirtual jdk.nashorn.internal.ir.BlockStatement.setBlock:(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/BlockStatement;
astore 2
3: StackMap locals: jdk.nashorn.internal.ir.BlockStatement
StackMap stack:
aload 0
aload 2
invokevirtual jdk.nashorn.internal.codegen.Lower.addStatement:(Ljdk/nashorn/internal/ir/Statement;)Ljdk/nashorn/internal/ir/Node;
pop
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/Lower;
0 5 1 stmt Ljdk/nashorn/internal/ir/Statement;
1 5 2 b Ljdk/nashorn/internal/ir/BlockStatement;
MethodParameters:
Name Flags
stmt final
private static boolean isInternalExpression(jdk.nashorn.internal.ir.Expression);
descriptor: (Ljdk/nashorn/internal/ir/Expression;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
instanceof jdk.nashorn.internal.ir.IdentNode
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
checkcast jdk.nashorn.internal.ir.IdentNode
invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
astore 1
start local 1 3: aload 1
ifnull 4
aload 1
invokevirtual jdk.nashorn.internal.ir.Symbol.isInternal:()Z
ifeq 4
iconst_1
ireturn
StackMap locals: jdk.nashorn.internal.ir.Symbol
StackMap stack:
4: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 expression Ljdk/nashorn/internal/ir/Expression;
3 5 1 symbol Ljdk/nashorn/internal/ir/Symbol;
MethodParameters:
Name Flags
expression final
private static boolean isEvalResultAssignment(jdk.nashorn.internal.ir.Node);
descriptor: (Ljdk/nashorn/internal/ir/Node;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: aload 1
instanceof jdk.nashorn.internal.ir.BinaryNode
ifeq 5
2: aload 1
checkcast jdk.nashorn.internal.ir.BinaryNode
invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
astore 2
start local 2 3: aload 2
instanceof jdk.nashorn.internal.ir.IdentNode
ifeq 5
4: aload 2
checkcast jdk.nashorn.internal.ir.IdentNode
invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
getstatic jdk.nashorn.internal.codegen.CompilerConstants.RETURN:Ljdk/nashorn/internal/codegen/CompilerConstants;
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 2 5: StackMap locals: jdk.nashorn.internal.ir.Node
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 expression Ljdk/nashorn/internal/ir/Node;
1 6 1 e Ljdk/nashorn/internal/ir/Node;
3 5 2 lhs Ljdk/nashorn/internal/ir/Node;
MethodParameters:
Name Flags
expression final
private void throwNotImplementedYet(java.lang.String, jdk.nashorn.internal.ir.Node);
descriptor: (Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual jdk.nashorn.internal.ir.Node.getToken:()J
lstore 3
start local 3 1: aload 0
getfield jdk.nashorn.internal.codegen.Lower.source:Ljdk/nashorn/internal/runtime/Source;
aload 2
invokevirtual jdk.nashorn.internal.ir.Node.getStart:()I
invokevirtual jdk.nashorn.internal.runtime.Source.getLine:(I)I
istore 5
start local 5 2: aload 0
getfield jdk.nashorn.internal.codegen.Lower.source:Ljdk/nashorn/internal/runtime/Source;
aload 2
invokevirtual jdk.nashorn.internal.ir.Node.getStart:()I
invokevirtual jdk.nashorn.internal.runtime.Source.getColumn:(I)I
istore 6
start local 6 3: new java.lang.StringBuilder
dup
ldc "unimplemented."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.String
invokestatic jdk.nashorn.internal.runtime.ECMAErrors.getMessage:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 4: aload 7
aload 0
getfield jdk.nashorn.internal.codegen.Lower.source:Ljdk/nashorn/internal/runtime/Source;
iload 5
iload 6
lload 3
invokestatic jdk.nashorn.internal.runtime.ErrorManager.format:(Ljava/lang/String;Ljdk/nashorn/internal/runtime/Source;IIJ)Ljava/lang/String;
astore 8
start local 8 5: new java.lang.RuntimeException
dup
aload 8
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/nashorn/internal/codegen/Lower;
0 6 1 msgId Ljava/lang/String;
0 6 2 node Ljdk/nashorn/internal/ir/Node;
1 6 3 token J
2 6 5 line I
3 6 6 column I
4 6 7 message Ljava/lang/String;
5 6 8 formatted Ljava/lang/String;
MethodParameters:
Name Flags
msgId final
node final
}
Signature: Ljdk/nashorn/internal/ir/visitor/NodeOperatorVisitor<Ljdk/nashorn/internal/ir/BlockLexicalContext;>;Ljdk/nashorn/internal/runtime/logging/Loggable;
SourceFile: "Lower.java"
NestMembers:
jdk.nashorn.internal.codegen.Lower$1 jdk.nashorn.internal.codegen.Lower$2 jdk.nashorn.internal.codegen.Lower$3 jdk.nashorn.internal.codegen.Lower$4 jdk.nashorn.internal.codegen.Lower$5
InnerClasses:
jdk.nashorn.internal.codegen.Lower$1
jdk.nashorn.internal.codegen.Lower$2
jdk.nashorn.internal.codegen.Lower$3
jdk.nashorn.internal.codegen.Lower$4
jdk.nashorn.internal.codegen.Lower$5
public EvalArgs = jdk.nashorn.internal.ir.CallNode$EvalArgs of jdk.nashorn.internal.ir.CallNode
public final Kind = jdk.nashorn.internal.ir.FunctionNode$Kind of jdk.nashorn.internal.ir.FunctionNode
public final ArrayLiteralNode = jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode of jdk.nashorn.internal.ir.LiteralNode
public PrimitiveLiteralNode = jdk.nashorn.internal.ir.LiteralNode$PrimitiveLiteralNode of jdk.nashorn.internal.ir.LiteralNode
public final Request = jdk.nashorn.internal.ir.RuntimeNode$Request of jdk.nashorn.internal.ir.RuntimeNode
RuntimeVisibleAnnotations:
jdk.nashorn.internal.runtime.logging.Logger(name = "lower")