abstract class com.oracle.truffle.js.parser.GraalJSTranslator extends com.oracle.js.parser.ir.visitor.TranslatorNodeVisitor<com.oracle.js.parser.ir.LexicalContext, com.oracle.truffle.js.nodes.JavaScriptNode>
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.js.parser.GraalJSTranslator
super_class: com.oracle.js.parser.ir.visitor.TranslatorNodeVisitor
{
public static final com.oracle.truffle.js.nodes.JavaScriptNode[] EMPTY_NODE_ARRAY;
descriptor: [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.js.nodes.JavaScriptNode ANY_JAVA_SCRIPT_NODE;
descriptor: Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.api.source.SourceSection unavailableInternalSection;
descriptor: Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private com.oracle.truffle.js.parser.env.Environment environment;
descriptor: Lcom/oracle/truffle/js/parser/env/Environment;
flags: (0x0002) ACC_PRIVATE
protected final com.oracle.truffle.js.runtime.JSContext context;
descriptor: Lcom/oracle/truffle/js/runtime/JSContext;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final com.oracle.truffle.js.nodes.NodeFactory factory;
descriptor: Lcom/oracle/truffle/js/nodes/NodeFactory;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final com.oracle.truffle.api.source.Source source;
descriptor: Lcom/oracle/truffle/api/source/Source;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final java.lang.String[] argumentNames;
descriptor: [Ljava/lang/String;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final int sourceLength;
descriptor: I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final int prologLength;
descriptor: I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private final boolean isParentStrict;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$com$oracle$js$parser$TokenType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/js/parser/GraalJSTranslator;
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 com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
3: iconst_0
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
putstatic com.oracle.truffle.js.parser.GraalJSTranslator.EMPTY_NODE_ARRAY:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
4: new com.oracle.truffle.js.parser.GraalJSTranslator$1
dup
invokespecial com.oracle.truffle.js.parser.GraalJSTranslator$1.<init>:()V
putstatic com.oracle.truffle.js.parser.GraalJSTranslator.ANY_JAVA_SCRIPT_NODE:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
5: ldc "js"
ldc "<internal>"
ldc "<internal>"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
6: ldc "application/javascript"
7: invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
8: iconst_1
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.internal:(Z)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.createUnavailableSection:()Lcom/oracle/truffle/api/source/SourceSection;
9: putstatic com.oracle.truffle.js.parser.GraalJSTranslator.unavailableInternalSection:Lcom/oracle/truffle/api/source/SourceSection;
10: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(com.oracle.js.parser.ir.LexicalContext, com.oracle.truffle.js.nodes.NodeFactory, com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.source.Source, java.lang.String[], int, com.oracle.truffle.js.parser.env.Environment, boolean);
descriptor: (Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;[Ljava/lang/String;ILcom/oracle/truffle/js/parser/env/Environment;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
aload 1
invokespecial com.oracle.js.parser.ir.visitor.TranslatorNodeVisitor.<init>:(Lcom/oracle/js/parser/ir/LexicalContext;)V
1: aload 0
aload 3
putfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
2: aload 0
aload 7
putfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
3: aload 0
aload 2
putfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
4: aload 0
aload 4
putfield com.oracle.truffle.js.parser.GraalJSTranslator.source:Lcom/oracle/truffle/api/source/Source;
5: aload 0
aload 5
putfield com.oracle.truffle.js.parser.GraalJSTranslator.argumentNames:[Ljava/lang/String;
6: aload 0
iload 8
putfield com.oracle.truffle.js.parser.GraalJSTranslator.isParentStrict:Z
7: aload 0
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.length:()I
putfield com.oracle.truffle.js.parser.GraalJSTranslator.sourceLength:I
8: aload 0
iload 6
putfield com.oracle.truffle.js.parser.GraalJSTranslator.prologLength:I
9: return
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 10 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 10 1 lc Lcom/oracle/js/parser/ir/LexicalContext;
0 10 2 factory Lcom/oracle/truffle/js/nodes/NodeFactory;
0 10 3 context Lcom/oracle/truffle/js/runtime/JSContext;
0 10 4 source Lcom/oracle/truffle/api/source/Source;
0 10 5 argumentNames [Ljava/lang/String;
0 10 6 prologLength I
0 10 7 environment Lcom/oracle/truffle/js/parser/env/Environment;
0 10 8 isParentStrict Z
MethodParameters:
Name Flags
lc
factory
context
source
argumentNames
prologLength
environment
isParentStrict
protected final com.oracle.truffle.js.nodes.JavaScriptNode transform(com.oracle.js.parser.ir.Node);
descriptor: (Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
1: aload 1
aload 0
invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/TranslatorNodeVisitor;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.nodes.JavaScriptNode
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 3 1 node Lcom/oracle/js/parser/ir/Node;
MethodParameters:
Name Flags
node
private com.oracle.truffle.js.nodes.JavaScriptNode tagStatement(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.js.parser.ir.Node);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasSourceSection:()Z
ifne 2
1: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.assignSourceSection:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)V
2: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 3
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
ifnonnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.nodes.access.GlobalScopeVarWrapperNode
ifeq 6
4: aload 0
aload 1
checkcast com.oracle.truffle.js.nodes.access.GlobalScopeVarWrapperNode
invokevirtual com.oracle.truffle.js.nodes.access.GlobalScopeVarWrapperNode.getDelegateNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagStatement:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
5: goto 7
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.addStatementTag:()V
7: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 8 1 resultNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 8 2 parseNode Lcom/oracle/js/parser/ir/Node;
MethodParameters:
Name Flags
resultNode
parseNode
private com.oracle.truffle.js.nodes.JavaScriptNode tagExpression(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.js.parser.ir.Node);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasSourceSection:()Z
ifne 2
1: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.assignSourceSection:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)V
2: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 3
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
ifnonnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.nodes.access.GlobalScopeVarWrapperNode
ifeq 6
4: aload 0
aload 1
checkcast com.oracle.truffle.js.nodes.access.GlobalScopeVarWrapperNode
invokevirtual com.oracle.truffle.js.nodes.access.GlobalScopeVarWrapperNode.getDelegateNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
5: goto 7
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.addExpressionTag:()V
7: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 8 1 resultNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 8 2 parseNode Lcom/oracle/js/parser/ir/Node;
MethodParameters:
Name Flags
resultNode
parseNode
private static com.oracle.truffle.js.nodes.JavaScriptNode tagCall(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.addCallTag:()V
1: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 resultNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
resultNode
private com.oracle.truffle.js.nodes.JavaScriptNode tagBody(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.js.parser.ir.Node);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasSourceSection:()Z
ifne 2
1: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.assignSourceSection:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)V
2: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 3
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
ifnonnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.nodes.access.GlobalScopeVarWrapperNode
ifeq 6
4: aload 0
aload 1
checkcast com.oracle.truffle.js.nodes.access.GlobalScopeVarWrapperNode
invokevirtual com.oracle.truffle.js.nodes.access.GlobalScopeVarWrapperNode.getDelegateNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagBody:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
5: goto 7
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.addRootBodyTag:()V
7: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 8 1 resultNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 8 2 parseNode Lcom/oracle/js/parser/ir/Node;
MethodParameters:
Name Flags
resultNode
parseNode
private com.oracle.truffle.js.parser.env.FunctionEnvironment currentFunction();
descriptor: ()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.function:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
private com.oracle.truffle.js.nodes.JavaScriptNode createBlock(com.oracle.truffle.js.nodes.JavaScriptNode[]);
descriptor: ([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
iconst_0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZZ)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 1 1 statements [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
statements
private com.oracle.truffle.js.nodes.JavaScriptNode createBlock(com.oracle.truffle.js.nodes.JavaScriptNode[], boolean, boolean);
descriptor: ([Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZZ)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
ifne 1
iload 3
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.returnsLastStatementResult:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 1
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createExprBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 1
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createVoidBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 3 1 statements [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 3 2 terminal Z
0 3 3 expressionBlock Z
MethodParameters:
Name Flags
statements
terminal
expressionBlock
protected final com.oracle.truffle.js.nodes.ScriptNode translateScript(com.oracle.js.parser.ir.FunctionNode);
descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/truffle/js/nodes/ScriptNode;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isScript:()Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "root function node is not a script"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformFunction:(Lcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode
astore 2
start local 2 3: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode.getFunctionNode:()Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
invokestatic com.oracle.truffle.js.nodes.ScriptNode.fromFunctionRoot:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;)Lcom/oracle/truffle/js/nodes/ScriptNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 4 1 functionNode Lcom/oracle/js/parser/ir/FunctionNode;
3 4 2 functionExpression Lcom/oracle/truffle/js/nodes/function/JSFunctionExpressionNode;
MethodParameters:
Name Flags
functionNode
protected final com.oracle.truffle.js.nodes.JavaScriptNode transformFunction(com.oracle.js.parser.ir.FunctionNode);
descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 1 1 functionNode Lcom/oracle/js/parser/ir/FunctionNode;
MethodParameters:
Name Flags
functionNode
protected abstract com.oracle.truffle.js.parser.GraalJSTranslator newTranslator(com.oracle.truffle.js.parser.env.Environment, com.oracle.js.parser.ir.LexicalContext);
descriptor: (Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/js/parser/ir/LexicalContext;)Lcom/oracle/truffle/js/parser/GraalJSTranslator;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
env
savedLC
public com.oracle.truffle.js.nodes.JavaScriptNode enterFunctionNode(com.oracle.js.parser.ir.FunctionNode);
descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=15, locals=30, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isStrict:()Z
ifne 2
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.isParentStrict:Z
ifne 2
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
ifnull 1
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.function:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
ifnull 1
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.isStrictMode:()Z
ifne 2
StackMap locals:
StackMap stack:
1: iconst_0
goto 3
StackMap locals:
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: istore 2
start local 2 4: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isArrow:()Z
istore 3
start local 3 5: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isGenerator:()Z
istore 4
start local 4 6: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isAsync:()Z
istore 5
start local 5 7: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isDerivedConstructor:()Z
istore 6
start local 6 8: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isMethod:()Z
istore 7
start local 7 9: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.needsNewTarget:()Z
istore 8
start local 8 10: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isClassConstructor:()Z
istore 9
start local 9 11: iload 3
ifne 13
iload 4
ifne 13
iload 5
ifne 13
iload 7
ifeq 12
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getEcmaScriptVersion:()I
iconst_5
if_icmpeq 12
iload 9
ifeq 13
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.FunctionNode int int int int int int int int
StackMap stack:
12: iconst_1
goto 14
StackMap locals:
StackMap stack:
13: iconst_0
StackMap locals:
StackMap stack: int
14: istore 10
start local 10 15: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 16
iload 6
ifeq 16
iload 10
ifne 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals: int
StackMap stack:
iload 2
ifne 17
iload 3
ifne 17
iload 7
ifne 17
iload 4
ifne 17
iconst_0
goto 18
StackMap locals:
StackMap stack:
17: iconst_1
StackMap locals:
StackMap stack: int
18: istore 11
start local 11 19: iconst_0
istore 12
start local 12 20: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isScript:()Z
ifeq 21
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.argumentNames:[Ljava/lang/String;
ifnull 21
iconst_1
goto 22
StackMap locals: int int
StackMap stack:
21: iconst_0
StackMap locals:
StackMap stack: int
22: istore 13
start local 13 23: iconst_0
istore 15
start local 15 24: iconst_0
istore 16
start local 16 25: iconst_0
istore 17
start local 17 26: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
instanceof com.oracle.truffle.js.parser.env.EvalEnvironment
ifeq 42
27: iconst_1
istore 15
28: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
checkcast com.oracle.truffle.js.parser.env.EvalEnvironment
invokevirtual com.oracle.truffle.js.parser.env.EvalEnvironment.isDirectEval:()Z
istore 18
start local 18 29: iload 18
ifeq 30
iconst_0
goto 31
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.FunctionNode int int int int int int int int int int int int top int int int int
StackMap stack:
30: iconst_1
StackMap locals:
StackMap stack: int
31: istore 16
32: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.getParent:()Lcom/oracle/truffle/js/parser/env/Environment;
astore 19
start local 19 33: aload 19
ifnull 35
iload 18
ifeq 34
iload 2
ifne 34
aload 19
invokevirtual com.oracle.truffle.js.parser.env.Environment.function:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isGlobal:()Z
ifne 35
StackMap locals: com.oracle.truffle.js.parser.env.Environment
StackMap stack:
34: iconst_0
goto 36
StackMap locals:
StackMap stack:
35: iconst_1
StackMap locals:
StackMap stack: int
36: istore 14
start local 14 37: iload 18
ifne 39
aload 19
ifnull 38
aload 19
invokevirtual com.oracle.truffle.js.parser.env.Environment.function:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.inDirectEval:()Z
ifne 39
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.FunctionNode int int int int int int int int int int int int int int int int int com.oracle.truffle.js.parser.env.Environment
StackMap stack:
38: iconst_0
goto 40
StackMap locals:
StackMap stack:
39: iconst_1
StackMap locals:
StackMap stack: int
40: istore 17
end local 19 end local 18 41: goto 55
end local 14 StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.FunctionNode int int int int int int int int int int int int top int int int
StackMap stack:
42: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
instanceof com.oracle.truffle.js.parser.env.DebugEnvironment
ifeq 49
43: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.getParent:()Lcom/oracle/truffle/js/parser/env/Environment;
ifnonnull 44
iconst_1
goto 45
StackMap locals:
StackMap stack:
44: iconst_0
StackMap locals:
StackMap stack: int
45: istore 14
start local 14 46: iconst_1
istore 15
47: iconst_1
istore 17
48: goto 55
end local 14 49: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
ifnonnull 50
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.argumentNames:[Ljava/lang/String;
ifnonnull 50
iconst_1
goto 51
StackMap locals:
StackMap stack:
50: iconst_0
StackMap locals:
StackMap stack: int
51: istore 14
start local 14 52: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
ifnull 53
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.inDirectEval:()Z
ifeq 53
iconst_1
goto 54
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.FunctionNode int int int int int int int int int int int int int int int int
StackMap stack:
53: iconst_0
StackMap locals:
StackMap stack: int
54: istore 17
55: StackMap locals:
StackMap stack:
iload 14
ifeq 57
iload 2
ifeq 56
iload 16
ifne 57
StackMap locals:
StackMap stack:
56: iconst_0
goto 58
StackMap locals:
StackMap stack:
57: iconst_1
StackMap locals:
StackMap stack: int
58: istore 18
start local 18 59: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getContextOptions:()Lcom/oracle/truffle/js/runtime/JSContextOptions;
invokevirtual com.oracle.truffle.js.runtime.JSContextOptions.isLazyTranslation:()Z
ifeq 60
iload 18
ifeq 60
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isProgram:()Z
ifne 60
iload 17
ifne 60
iconst_1
goto 61
StackMap locals: int
StackMap stack:
60: iconst_0
StackMap locals:
StackMap stack: int
61: istore 19
start local 19 62: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.getFunctionName:(Lcom/oracle/js/parser/ir/FunctionNode;)Ljava/lang/String;
astore 20
start local 20 63: iload 19
ifeq 75
64: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 66
iload 18
ifeq 65
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isProgram:()Z
ifeq 66
StackMap locals: int java.lang.String
StackMap stack:
65: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
66: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.usesAncestorScope:()Z
istore 23
start local 23 67: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.getLength:()I
aload 20
iload 10
iload 6
iload 2
iload 12
68: iload 23
iload 4
iload 5
iload 9
iload 11
iload 8
69: invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createFunctionData:(Lcom/oracle/truffle/js/runtime/JSContext;ILjava/lang/String;ZZZZZZZZZZ)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
astore 21
start local 21 70: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.copy:()Lcom/oracle/js/parser/ir/LexicalContext;
astore 24
start local 24 71: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
astore 25
start local 25 72: aload 21
aload 0
aload 25
aload 24
aload 1
iload 2
iload 3
iload 4
iload 5
iload 6
iload 14
iload 8
iload 23
aload 20
iload 13
invokedynamic initializeRoot(Lcom/oracle/truffle/js/parser/GraalJSTranslator;Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/FunctionNode;ZZZZZZZZLjava/lang/String;Z)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData$Initializer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)V
com/oracle/truffle/js/parser/GraalJSTranslator.lambda$0(Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/FunctionNode;ZZZZZZZZLjava/lang/String;ZLcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)V (7)
(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)V
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.setLazyInit:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData$Initializer;)V
73: aconst_null
astore 22
end local 25 end local 24 end local 23 start local 22 74: goto 112
end local 22 end local 21 75: StackMap locals:
StackMap stack:
aconst_null
astore 23
aconst_null
astore 24
76: aload 0
iload 2
iload 3
iload 4
iload 6
iload 5
iload 14
iload 13
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterFunctionEnvironment:(ZZZZZZZ)Lcom/oracle/truffle/js/parser/GraalJSTranslator$EnvironmentCloseable;
astore 25
start local 25 77: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
astore 26
start local 26 78: aload 26
aload 20
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.setFunctionName:(Ljava/lang/String;)V
79: aload 26
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.getInternalName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.setInternalFunctionName:(Ljava/lang/String;)V
80: aload 26
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isNamedFunctionExpression:()Z
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.setNamedFunctionExpression:(Z)V
81: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.declareParameters:(Lcom/oracle/js/parser/ir/FunctionNode;)V
82: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.getNumOfParams:()I
i2l
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getFunctionArgumentsLimit:()J
lcmp
ifle 84
83: ldc "function has too many arguments"
invokestatic com.oracle.truffle.js.runtime.Errors.createSyntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
84: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.FunctionNode int int int int int int int int int int int int int int int int int int java.lang.String top top java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable com.oracle.truffle.js.parser.env.FunctionEnvironment
StackMap stack:
iload 18
ifeq 87
85: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.functionEnvInit:(Lcom/oracle/js/parser/ir/FunctionNode;)Ljava/util/List;
astore 27
start local 27 86: goto 93
end local 27 StackMap locals:
StackMap stack:
87: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isModule:()Z
ifeq 91
88: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 89
aload 26
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isGlobal:()Z
ifne 89
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
89: StackMap locals:
StackMap stack:
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
astore 27
start local 27 90: goto 93
end local 27 91: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 92
aload 26
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isGlobal:()Z
ifne 92
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
92: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 15
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.collectGlobalVars:(Lcom/oracle/js/parser/ir/FunctionNode;Z)Ljava/util/List;
astore 27
start local 27 93: StackMap locals: java.util.List
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isProgram:()Z
ifeq 95
94: aload 1
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.functionNeedsParentFramePass:(Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/truffle/js/runtime/JSContext;)V
95: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.usesAncestorScope:()Z
istore 28
start local 28 96: aload 26
iload 28
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.setNeedsParentFrame:(Z)V
97: aload 0
aload 1
iload 4
iload 5
iload 6
iload 8
aload 26
aload 27
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.translateFunctionBody:(Lcom/oracle/js/parser/ir/FunctionNode;ZZZZLcom/oracle/truffle/js/parser/env/FunctionEnvironment;Ljava/util/List;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 29
start local 29 98: aload 26
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.needsParentFrame:()Z
istore 28
99: aload 26
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.freeze:()V
100: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.getLength:()I
aload 20
iload 10
iload 6
iload 2
iload 12
101: iload 28
iload 4
iload 5
iload 9
iload 11
iload 8
102: invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createFunctionData:(Lcom/oracle/truffle/js/runtime/JSContext;ILjava/lang/String;ZZZZZZZZZZ)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
astore 21
start local 21 103: aload 0
aload 1
aload 21
aload 26
aload 29
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createFunctionRoot:(Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
astore 22
start local 22 104: iload 15
ifeq 106
105: aload 21
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getCallTarget:()Lcom/oracle/truffle/api/CallTarget;
pop
end local 29 end local 28 end local 27 end local 26 106: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.FunctionNode int int int int int int int int int int int int int int int int int int java.lang.String com.oracle.truffle.js.runtime.builtins.JSFunctionData com.oracle.truffle.js.nodes.function.FunctionRootNode java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable
StackMap stack:
aload 25
ifnull 112
aload 25
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.close:()V
goto 112
end local 22 end local 21 StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.FunctionNode int int int int int int int int int int int int int int int int int int java.lang.String top top java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable
StackMap stack: java.lang.Throwable
107: astore 23
aload 25
ifnull 108
aload 25
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.close:()V
end local 25 StackMap locals:
StackMap stack:
108: aload 23
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
109: astore 24
aload 23
ifnonnull 110
aload 24
astore 23
goto 111
StackMap locals:
StackMap stack:
110: aload 23
aload 24
if_acmpeq 111
aload 23
aload 24
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
111: aload 23
athrow
start local 21 start local 22 112: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.FunctionNode int int int int int int int int int int int int int int int int int int java.lang.String com.oracle.truffle.js.runtime.builtins.JSFunctionData com.oracle.truffle.js.nodes.function.FunctionRootNode
StackMap stack:
iload 3
ifeq 116
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.needsThis:()Z
ifeq 116
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getNonArrowParentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isDerivedConstructor:()Z
ifne 116
113: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createThisNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 24
start local 24 114: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 21
aload 22
aload 24
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createFunctionExpressionLexicalThis:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionExpressionNode;
astore 23
end local 24 start local 23 115: goto 117
end local 23 116: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 21
aload 22
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createFunctionExpression:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionExpressionNode;
astore 23
start local 23 117: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isDeclared:()Z
ifeq 120
118: aload 0
aload 23
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.ensureHasSourceSection:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
119: goto 121
120: StackMap locals:
StackMap stack:
aload 0
aload 23
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 23
121: StackMap locals:
StackMap stack:
aload 23
areturn
end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 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 122 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 122 1 functionNode Lcom/oracle/js/parser/ir/FunctionNode;
4 122 2 isStrict Z
5 122 3 isArrowFunction Z
6 122 4 isGeneratorFunction Z
7 122 5 isAsyncFunction Z
8 122 6 isDerivedConstructor Z
9 122 7 isMethod Z
10 122 8 needsNewTarget Z
11 122 9 isClassConstructor Z
15 122 10 isConstructor Z
19 122 11 strictFunctionProperties Z
20 122 12 isBuiltin Z
23 122 13 hasSyntheticArguments Z
37 42 14 isGlobal Z
46 49 14 isGlobal Z
52 122 14 isGlobal Z
24 122 15 isEval Z
25 122 16 isIndirectEval Z
26 122 17 inDirectEval Z
29 41 18 isDirectEval Z
33 41 19 evalParent Lcom/oracle/truffle/js/parser/env/Environment;
59 122 18 functionMode Z
62 122 19 lazyTranslation Z
63 122 20 functionName Ljava/lang/String;
70 75 21 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
103 107 21 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
112 122 21 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
74 75 22 functionRoot Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
104 107 22 functionRoot Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
112 122 22 functionRoot Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
67 74 23 needsParentFrame Z
71 74 24 savedLC Lcom/oracle/js/parser/ir/LexicalContext;
72 74 25 parentEnv Lcom/oracle/truffle/js/parser/env/Environment;
77 108 25 functionEnv Lcom/oracle/truffle/js/parser/GraalJSTranslator$EnvironmentCloseable;
78 106 26 currentFunction Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
86 87 27 declarations Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;
90 91 27 declarations Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;
93 106 27 declarations Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;
96 106 28 needsParentFrame Z
98 106 29 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
115 116 23 functionExpression Lcom/oracle/truffle/js/nodes/JavaScriptNode;
117 122 23 functionExpression Lcom/oracle/truffle/js/nodes/JavaScriptNode;
114 115 24 thisNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
Exception table:
from to target type
77 106 107 any
76 109 109 any
MethodParameters:
Name Flags
functionNode
com.oracle.truffle.js.nodes.JavaScriptNode translateFunctionBody(com.oracle.js.parser.ir.FunctionNode, boolean, boolean, boolean, boolean, com.oracle.truffle.js.parser.env.FunctionEnvironment, java.util.List<com.oracle.truffle.js.nodes.JavaScriptNode>);
descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;ZZZZLcom/oracle/truffle/js/parser/env/FunctionEnvironment;Ljava/util/List;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0000)
Code:
stack=3, locals=10, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.getBody:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 1: iload 2
ifne 6
2: aload 0
aload 1
aload 8
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.handleFunctionReturn:(Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
3: iload 3
ifeq 6
4: aload 0
aload 8
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.ensureHasSourceSection:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
5: aload 0
aload 8
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.handleAsyncFunctionBody:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
6: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 7
invokeinterface java.util.List.isEmpty:()Z
ifne 8
7: aload 0
aload 7
aload 8
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.prepareDeclarations:(Ljava/util/List;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
8: StackMap locals:
StackMap stack:
aload 6
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.hasArgumentsSlot:()Z
ifeq 10
aload 6
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isDirectArgumentsAccess:()Z
ifne 10
aload 6
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isDirectEval:()Z
ifne 10
9: aload 0
aload 8
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.prepareArguments:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
10: StackMap locals:
StackMap stack:
aload 6
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getParameterCount:()I
ifle 12
11: aload 0
aload 8
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.prepareParameters:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
12: StackMap locals:
StackMap stack:
aload 6
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getThisSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
ifnull 14
iload 4
ifne 14
13: aload 0
aload 8
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.prepareThis:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
14: StackMap locals:
StackMap stack:
aload 6
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getSuperSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
ifnull 16
15: aload 0
aload 8
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.prepareSuper:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
16: StackMap locals:
StackMap stack:
iload 5
ifeq 18
17: aload 0
aload 8
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.prepareNewTarget:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
18: StackMap locals:
StackMap stack:
iload 4
ifeq 25
19: aload 0
20: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.hasDirectSuper:()Z
ifne 21
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.hasEval:()Z
ifne 21
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.hasArrowEval:()Z
ifeq 22
StackMap locals:
StackMap stack: com.oracle.truffle.js.parser.GraalJSTranslator
21: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findThisVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 23
StackMap locals:
StackMap stack: com.oracle.truffle.js.parser.GraalJSTranslator
22: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantUndefined:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
23: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.FunctionNode int int int int com.oracle.truffle.js.parser.env.FunctionEnvironment java.util.List com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.js.nodes.JavaScriptNode
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.checkThisBindingInitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 9
start local 9 24: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 8
aload 9
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDerivedConstructorResult:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
end local 9 25: StackMap locals:
StackMap stack:
aload 8
areturn
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 26 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 26 1 functionNode Lcom/oracle/js/parser/ir/FunctionNode;
0 26 2 isGeneratorFunction Z
0 26 3 isAsyncFunction Z
0 26 4 isDerivedConstructor Z
0 26 5 needsNewTarget Z
0 26 6 currentFunction Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 26 7 declarations Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;
1 26 8 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
24 25 9 getThisBinding Lcom/oracle/truffle/js/nodes/JavaScriptNode;
Signature: (Lcom/oracle/js/parser/ir/FunctionNode;ZZZZLcom/oracle/truffle/js/parser/env/FunctionEnvironment;Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
functionNode
isGeneratorFunction
isAsyncFunction
isDerivedConstructor
needsNewTarget
currentFunction
declarations
private com.oracle.truffle.js.nodes.function.FunctionRootNode translateFunctionOnDemand(com.oracle.js.parser.ir.FunctionNode, com.oracle.truffle.js.runtime.builtins.JSFunctionData, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, java.lang.String, boolean);
descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;ZZZZZZZZLjava/lang/String;Z)Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=18, args_size=13
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 start local 12 0: aconst_null
astore 13
aconst_null
astore 14
1: aload 0
iload 3
iload 4
iload 5
iload 7
iload 6
iload 8
iload 12
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterFunctionEnvironment:(ZZZZZZZ)Lcom/oracle/truffle/js/parser/GraalJSTranslator$EnvironmentCloseable;
astore 15
start local 15 2: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
astore 16
start local 16 3: aload 16
aload 11
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.setFunctionName:(Ljava/lang/String;)V
4: aload 16
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.getInternalName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.setInternalFunctionName:(Ljava/lang/String;)V
5: aload 16
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isNamedFunctionExpression:()Z
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.setNamedFunctionExpression:(Z)V
6: aload 16
iload 10
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.setNeedsParentFrame:(Z)V
7: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.declareParameters:(Lcom/oracle/js/parser/ir/FunctionNode;)V
8: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.getNumOfParams:()I
i2l
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getFunctionArgumentsLimit:()J
lcmp
ifle 10
9: ldc "function has too many arguments"
invokestatic com.oracle.truffle.js.runtime.Errors.createSyntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
10: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.FunctionNode com.oracle.truffle.js.runtime.builtins.JSFunctionData int int int int int int int int java.lang.String int java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable com.oracle.truffle.js.parser.env.FunctionEnvironment
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.functionEnvInit:(Lcom/oracle/js/parser/ir/FunctionNode;)Ljava/util/List;
pop
11: aload 16
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.freeze:()V
12: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 13
aload 16
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isDeepFrozen:()Z
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 5
iload 6
iload 7
iload 9
aload 16
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.translateFunctionBody:(Lcom/oracle/js/parser/ir/FunctionNode;ZZZZLcom/oracle/truffle/js/parser/env/FunctionEnvironment;Ljava/util/List;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 17
start local 17 14: aload 0
aload 1
aload 2
aload 16
aload 17
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createFunctionRoot:(Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
15: aload 15
ifnull 16
aload 15
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.close:()V
16: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.FunctionNode com.oracle.truffle.js.runtime.builtins.JSFunctionData int int int int int int int int java.lang.String int java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable com.oracle.truffle.js.parser.env.FunctionEnvironment com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack: com.oracle.truffle.js.nodes.function.FunctionRootNode
areturn
end local 17 end local 16 StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.FunctionNode com.oracle.truffle.js.runtime.builtins.JSFunctionData int int int int int int int int java.lang.String int java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable
StackMap stack: java.lang.Throwable
17: astore 13
18: aload 15
ifnull 19
aload 15
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.close:()V
end local 15 StackMap locals:
StackMap stack:
19: aload 13
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 14
aload 13
ifnonnull 21
aload 14
astore 13
goto 22
StackMap locals:
StackMap stack:
21: aload 13
aload 14
if_acmpeq 22
aload 13
aload 14
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
22: aload 13
athrow
end local 12 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 23 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 23 1 functionNode Lcom/oracle/js/parser/ir/FunctionNode;
0 23 2 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
0 23 3 isStrict Z
0 23 4 isArrowFunction Z
0 23 5 isGeneratorFunction Z
0 23 6 isAsyncFunction Z
0 23 7 isDerivedConstructor Z
0 23 8 isGlobal Z
0 23 9 needsNewTarget Z
0 23 10 needsParentFrame Z
0 23 11 functionName Ljava/lang/String;
0 23 12 hasSyntheticArguments Z
2 19 15 functionEnv Lcom/oracle/truffle/js/parser/GraalJSTranslator$EnvironmentCloseable;
3 17 16 currentFunction Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
14 17 17 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
Exception table:
from to target type
2 15 17 any
1 16 20 any
17 20 20 any
MethodParameters:
Name Flags
functionNode
functionData
isStrict
isArrowFunction
isGeneratorFunction
isAsyncFunction
isDerivedConstructor
isGlobal
needsNewTarget
needsParentFrame
functionName
hasSyntheticArguments
private com.oracle.truffle.js.nodes.function.FunctionRootNode createFunctionRoot(com.oracle.js.parser.ir.FunctionNode, com.oracle.truffle.js.runtime.builtins.JSFunctionData, com.oracle.truffle.js.parser.env.FunctionEnvironment, com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createSourceSection:(Lcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/truffle/api/source/SourceSection;
astore 5
start local 5 1: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 4
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createFunctionBody:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/function/FunctionBodyNode;
astore 6
start local 6 2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 6
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.getFunctionFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 2
aload 5
3: aload 3
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getInternalFunctionName:()Ljava/lang/String;
4: invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createFunctionRootNode:(Lcom/oracle/truffle/js/nodes/function/AbstractBodyNode;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
astore 7
start local 7 5: 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 6 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 6 1 functionNode Lcom/oracle/js/parser/ir/FunctionNode;
0 6 2 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
0 6 3 currentFunction Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
0 6 4 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
1 6 5 functionSourceSection Lcom/oracle/truffle/api/source/SourceSection;
2 6 6 functionBody Lcom/oracle/truffle/js/nodes/function/FunctionBodyNode;
5 6 7 functionRoot Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
MethodParameters:
Name Flags
functionNode
functionData
currentFunction
body
private static void printAST(com.oracle.truffle.js.nodes.function.FunctionRootNode);
descriptor: (Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 0
invokestatic com.oracle.truffle.api.nodes.NodeUtil.printCompactTree:(Ljava/io/OutputStream;Lcom/oracle/truffle/api/nodes/Node;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 functionRoot Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
MethodParameters:
Name Flags
functionRoot
private static void printParse(com.oracle.js.parser.ir.FunctionNode);
descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
new com.oracle.truffle.js.parser.internal.ir.debug.PrintVisitor
dup
aload 0
invokespecial com.oracle.truffle.js.parser.internal.ir.debug.PrintVisitor.<init>:(Lcom/oracle/js/parser/ir/Node;)V
invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.PrintVisitor.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 functionNode Lcom/oracle/js/parser/ir/FunctionNode;
MethodParameters:
Name Flags
functionNode
private com.oracle.truffle.js.nodes.JavaScriptNode handleAsyncFunctionBody(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isAsyncFunction:()Z
ifeq 1
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isGeneratorFunction:()Z
ifeq 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findAsyncContextVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 2
start local 2 3: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findAsyncResultVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 3
start local 3 4: aload 3
aconst_null
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode
astore 4
start local 4 5: aload 2
aconst_null
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode
astore 5
start local 5 6: aload 2
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode
astore 6
start local 6 7: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.instrumentSuspendNodes:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 7
start local 7 8: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 7
aload 5
aload 6
aload 4
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAsyncFunctionBody:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
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 9 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 9 1 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3 9 2 asyncContextVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
4 9 3 asyncResultVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
5 9 4 writeResultNode Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
6 9 5 writeContextNode Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
7 9 6 readContextNode Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
8 9 7 instrumentedBody Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
body
private com.oracle.truffle.js.nodes.JavaScriptNode finishGeneratorBody(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentFunction:()Lcom/oracle/js/parser/ir/FunctionNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.handleFunctionReturn:(Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 1: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isAsyncGeneratorFunction:()Z
ifeq 3
2: aload 0
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.handleAsyncGeneratorBody:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
3: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.handleGeneratorBody:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 4 1 bodyBlock Lcom/oracle/truffle/js/nodes/JavaScriptNode;
1 4 2 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
bodyBlock
private com.oracle.truffle.js.nodes.JavaScriptNode handleGeneratorBody(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isGeneratorFunction:()Z
ifeq 1
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isAsyncGeneratorFunction:()Z
ifeq 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.instrumentSuspendNodes:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 3: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentFunction:()Lcom/oracle/js/parser/ir/FunctionNode;
invokevirtual com.oracle.js.parser.ir.FunctionNode.isModule:()Z
ifeq 5
4: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createModuleBody:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
5: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findYieldValueVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 3
start local 3 6: aload 3
aconst_null
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode
astore 4
start local 4 7: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getYieldResultSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findTempVar:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode
astore 5
start local 5 8: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
aload 4
aload 5
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createGeneratorBody:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
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 9 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 9 1 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3 9 2 instrumentedBody Lcom/oracle/truffle/js/nodes/JavaScriptNode;
6 9 3 yieldVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
7 9 4 writeYieldValueNode Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
8 9 5 readYieldResultNode Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
MethodParameters:
Name Flags
body
private com.oracle.truffle.js.nodes.JavaScriptNode handleAsyncGeneratorBody(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isAsyncGeneratorFunction:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findAsyncContextVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 2
start local 2 2: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.instrumentSuspendNodes:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 3: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findAsyncResultVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 4
start local 4 4: aload 2
aconst_null
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode
astore 5
start local 5 5: aload 2
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode
astore 6
start local 6 6: aload 4
aconst_null
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode
astore 7
start local 7 7: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentFunction:()Lcom/oracle/js/parser/ir/FunctionNode;
invokevirtual com.oracle.js.parser.ir.FunctionNode.isModule:()Z
ifeq 9
8: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 3
aload 7
aload 5
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createTopLevelAsyncModuleBody:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
9: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getYieldResultSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findTempVar:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode
astore 8
start local 8 10: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 3
aload 7
aload 8
aload 5
aload 6
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAsyncGeneratorBody:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
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 11 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 11 1 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 11 2 asyncContextVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
3 11 3 instrumentedBody Lcom/oracle/truffle/js/nodes/JavaScriptNode;
4 11 4 yieldVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
5 11 5 writeAsyncContextNode Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
6 11 6 readAsyncContextNode Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
7 11 7 writeYieldValueNode Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
10 11 8 readYieldResultNode Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
MethodParameters:
Name Flags
body
private com.oracle.truffle.js.nodes.JavaScriptNode instrumentSuspendNodes(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.hasYield:()Z
ifne 2
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.hasAwait:()Z
ifne 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aconst_null
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.instrumentSuspendHelper:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.js.nodes.JavaScriptNode
astore 2
start local 2 3: aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 5 1 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3 5 2 newBody Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
body
private com.oracle.truffle.api.nodes.Node instrumentSuspendHelper(com.oracle.truffle.api.nodes.Node, com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aload 1
instanceof com.oracle.truffle.js.nodes.control.AbstractBlockNode
ifeq 16
3: aload 1
checkcast com.oracle.truffle.js.nodes.control.AbstractBlockNode
invokevirtual com.oracle.truffle.js.nodes.control.AbstractBlockNode.getStatements:()[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 5
start local 5 4: iconst_0
istore 6
start local 6 5: goto 14
6: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.nodes.Node int java.util.BitSet com.oracle.truffle.api.nodes.Node[] int
StackMap stack:
aload 0
aload 5
iload 6
aaload
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.instrumentSuspendHelper:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
astore 7
start local 7 7: aload 7
ifnull 13
8: iconst_1
istore 3
9: aload 5
iload 6
aload 7
aastore
10: aload 4
ifnonnull 12
11: new java.util.BitSet
dup
invokespecial java.util.BitSet.<init>:()V
astore 4
12: StackMap locals: com.oracle.truffle.api.nodes.Node
StackMap stack:
aload 4
iload 6
invokevirtual java.util.BitSet.set:(I)V
end local 7 13: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
14: iload 6
aload 5
arraylength
if_icmplt 6
end local 6 end local 5 15: goto 24
16: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.getChildrenInExecutionOrder:(Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6
goto 23
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.nodes.Node int java.util.BitSet top java.util.Iterator
StackMap stack:
17: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.nodes.Node
astore 5
start local 5 18: aload 0
aload 5
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.instrumentSuspendHelper:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
astore 7
start local 7 19: aload 7
ifnull 23
20: iconst_1
istore 3
21: aload 1
aload 5
aload 7
invokestatic com.oracle.truffle.api.nodes.NodeUtil.replaceChild:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;)Z
pop
22: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 23
aload 5
instanceof com.oracle.truffle.js.nodes.control.ResumableNode
ifeq 23
aload 7
instanceof com.oracle.truffle.js.nodes.control.GeneratorWrapperNode
ifne 23
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "resumable node not wrapped: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 7 end local 5 23: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
24: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.nodes.Node int java.util.BitSet
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.nodes.control.SuspendNode
ifeq 26
25: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.wrapResumableNode:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
26: StackMap locals:
StackMap stack:
iload 3
ifne 28
27: aconst_null
areturn
28: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.nodes.control.AbstractBlockNode
ifeq 32
29: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 31
aload 4
ifnull 30
aload 4
invokevirtual java.util.BitSet.isEmpty:()Z
ifeq 31
StackMap locals:
StackMap stack:
30: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
31: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast com.oracle.truffle.js.nodes.control.AbstractBlockNode
aload 4
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.toGeneratorBlockNode:(Lcom/oracle/truffle/js/nodes/control/AbstractBlockNode;Ljava/util/BitSet;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
32: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.nodes.control.ResumableNode
ifeq 34
33: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.wrapResumableNode:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
34: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.nodes.control.ReturnNode
ifne 35
aload 1
instanceof com.oracle.truffle.js.nodes.control.ReturnTargetNode
ifne 35
aload 1
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.isSideEffectFreeUnaryOpNode:(Lcom/oracle/truffle/api/nodes/Node;)Z
ifeq 36
35: StackMap locals:
StackMap stack:
aload 1
areturn
36: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.isSupportedDispersibleExpression:(Lcom/oracle/truffle/api/nodes/Node;)Z
ifeq 46
37: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 38: aload 2
ifnull 39
aload 2
aload 1
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.ANY_JAVA_SCRIPT_NODE:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokestatic com.oracle.truffle.api.nodes.NodeUtil.isReplacementSafe:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;)Z
ifeq 40
39: StackMap locals: java.util.List
StackMap stack:
aload 0
aload 1
aload 5
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.extractChildrenTo:(Lcom/oracle/truffle/api/nodes/Node;Ljava/util/List;)V
40: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.List.isEmpty:()Z
ifne 45
41: aload 5
aload 1
checkcast com.oracle.truffle.js.nodes.JavaScriptNode
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
42: aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 5
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.EMPTY_NODE_ARRAY:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.oracle.truffle.js.nodes.JavaScriptNode[]
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createExprBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.wrapResumableNode:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 6
start local 6 43: aload 6
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.tagHiddenExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
44: aload 6
areturn
end local 6 45: StackMap locals:
StackMap stack:
aload 1
areturn
end local 5 46: StackMap locals:
StackMap stack:
aload 1
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 47 1 parent Lcom/oracle/truffle/api/nodes/Node;
0 47 2 grandparent Lcom/oracle/truffle/api/nodes/Node;
1 47 3 hasSuspendChild Z
2 47 4 suspendableIndices Ljava/util/BitSet;
4 15 5 statements [Lcom/oracle/truffle/api/nodes/Node;
5 15 6 i I
7 13 7 newChild Lcom/oracle/truffle/api/nodes/Node;
18 23 5 child Lcom/oracle/truffle/api/nodes/Node;
19 23 7 newChild Lcom/oracle/truffle/api/nodes/Node;
38 46 5 extracted Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;
43 45 6 exprBlock Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
parent
grandparent
private com.oracle.truffle.js.nodes.JavaScriptNode wrapResumableNode(com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.truffle.js.nodes.control.AbstractBlockNode
ifeq 4
1: new java.util.BitSet
dup
invokespecial java.util.BitSet.<init>:()V
astore 2
start local 2 2: aload 2
iconst_0
aload 1
checkcast com.oracle.truffle.js.nodes.control.AbstractBlockNode
invokevirtual com.oracle.truffle.js.nodes.control.AbstractBlockNode.getStatements:()[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
arraylength
invokevirtual java.util.BitSet.set:(II)V
3: aload 0
aload 1
checkcast com.oracle.truffle.js.nodes.control.AbstractBlockNode
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.toGeneratorBlockNode:(Lcom/oracle/truffle/js/nodes/control/AbstractBlockNode;Ljava/util/BitSet;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 4: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc ":generatorstate:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.getFunctionFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.getSize:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 5: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.getFunctionFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 2
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.addFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
pop
6: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createLazyReadFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/LazyReadFrameSlotNode;
astore 3
start local 3 7: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 2
aconst_null
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createLazyWriteFrameSlot:(Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/LazyWriteFrameSlotNode;
astore 4
start local 4 8: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 1
checkcast com.oracle.truffle.js.nodes.JavaScriptNode
aload 3
aload 4
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createGeneratorWrapper:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/WriteNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 9 1 resumableNode Lcom/oracle/truffle/api/nodes/Node;
2 4 2 all Ljava/util/BitSet;
5 9 2 identifier Ljava/lang/String;
7 9 3 readState Lcom/oracle/truffle/js/nodes/access/LazyReadFrameSlotNode;
8 9 4 writeState Lcom/oracle/truffle/js/nodes/access/WriteNode;
MethodParameters:
Name Flags
resumableNode
private com.oracle.truffle.js.nodes.JavaScriptNode toGeneratorBlockNode(com.oracle.truffle.js.nodes.control.AbstractBlockNode, java.util.BitSet);
descriptor: (Lcom/oracle/truffle/js/nodes/control/AbstractBlockNode;Ljava/util/BitSet;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=16, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
ldc ":generatorstate:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.getFunctionFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.getSize:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 1: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.getFunctionFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 3
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.addFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
pop
2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 3
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createLazyReadFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/LazyReadFrameSlotNode;
astore 4
start local 4 3: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 3
aconst_null
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createLazyWriteFrameSlot:(Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/LazyWriteFrameSlotNode;
astore 5
start local 5 4: aload 1
invokevirtual com.oracle.truffle.js.nodes.control.AbstractBlockNode.getStatements:()[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 6
start local 6 5: aload 1
ldc Lcom/oracle/truffle/js/runtime/objects/Undefined;
invokevirtual com.oracle.truffle.js.nodes.control.AbstractBlockNode.isResultAlwaysOfType:(Ljava/lang/Class;)Z
ifeq 6
iconst_0
goto 7
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.js.nodes.control.AbstractBlockNode java.util.BitSet java.lang.String com.oracle.truffle.js.nodes.access.LazyReadFrameSlotNode com.oracle.truffle.js.nodes.access.WriteNode com.oracle.truffle.js.nodes.JavaScriptNode[]
StackMap stack:
6: iconst_1
StackMap locals:
StackMap stack: int
7: istore 7
start local 7 8: aload 2
invokevirtual java.util.BitSet.cardinality:()I
aload 2
iconst_0
invokevirtual java.util.BitSet.get:(I)Z
ifeq 9
iconst_0
goto 10
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.js.nodes.control.AbstractBlockNode java.util.BitSet java.lang.String com.oracle.truffle.js.nodes.access.LazyReadFrameSlotNode com.oracle.truffle.js.nodes.access.WriteNode com.oracle.truffle.js.nodes.JavaScriptNode[] int
StackMap stack: int
9: iconst_1
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.js.nodes.control.AbstractBlockNode java.util.BitSet java.lang.String com.oracle.truffle.js.nodes.access.LazyReadFrameSlotNode com.oracle.truffle.js.nodes.access.WriteNode com.oracle.truffle.js.nodes.JavaScriptNode[] int
StackMap stack: int int
10: iadd
istore 9
start local 9 11: iload 9
aload 6
arraylength
if_icmpne 16
12: iload 7
ifeq 13
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 6
aload 4
aload 5
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createGeneratorExprBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/WriteNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 14
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.js.nodes.control.AbstractBlockNode java.util.BitSet java.lang.String com.oracle.truffle.js.nodes.access.LazyReadFrameSlotNode com.oracle.truffle.js.nodes.access.WriteNode com.oracle.truffle.js.nodes.JavaScriptNode[] int top int
StackMap stack:
13: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 6
aload 4
aload 5
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createGeneratorVoidBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/WriteNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
14: astore 8
start local 8 15: goto 41
end local 8 16: StackMap locals:
StackMap stack:
iload 9
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
astore 10
start local 10 17: iconst_0
istore 11
start local 11 18: iconst_0
istore 13
start local 13 19: goto 37
20: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.js.nodes.control.AbstractBlockNode java.util.BitSet java.lang.String com.oracle.truffle.js.nodes.access.LazyReadFrameSlotNode com.oracle.truffle.js.nodes.access.WriteNode com.oracle.truffle.js.nodes.JavaScriptNode[] int top int com.oracle.truffle.js.nodes.JavaScriptNode[] int top int
StackMap stack:
aload 2
iload 11
iconst_1
iadd
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 12
start local 12 21: iload 12
ifge 24
22: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 23
iload 13
iload 9
iconst_1
isub
if_icmpeq 23
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
23: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.js.nodes.control.AbstractBlockNode java.util.BitSet java.lang.String com.oracle.truffle.js.nodes.access.LazyReadFrameSlotNode com.oracle.truffle.js.nodes.access.WriteNode com.oracle.truffle.js.nodes.JavaScriptNode[] int top int com.oracle.truffle.js.nodes.JavaScriptNode[] int int int
StackMap stack:
aload 6
arraylength
istore 12
24: StackMap locals:
StackMap stack:
iload 13
iload 9
iconst_1
isub
if_icmpne 25
aload 1
ldc Lcom/oracle/truffle/js/runtime/objects/Undefined;
invokevirtual com.oracle.truffle.js.nodes.control.AbstractBlockNode.isResultAlwaysOfType:(Ljava/lang/Class;)Z
ifne 25
iconst_1
goto 26
StackMap locals:
StackMap stack:
25: iconst_0
StackMap locals:
StackMap stack: int
26: istore 7
27: iload 11
iconst_1
iadd
iload 12
if_icmpne 30
28: aload 6
iload 11
aaload
astore 14
start local 14 29: goto 34
end local 14 30: StackMap locals:
StackMap stack:
aload 6
iload 11
iload 12
invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
checkcast com.oracle.truffle.js.nodes.JavaScriptNode[]
astore 15
start local 15 31: iload 7
ifeq 32
iload 13
iload 9
iconst_1
isub
if_icmpne 32
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 15
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createExprBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 33
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.js.nodes.control.AbstractBlockNode java.util.BitSet java.lang.String com.oracle.truffle.js.nodes.access.LazyReadFrameSlotNode com.oracle.truffle.js.nodes.access.WriteNode com.oracle.truffle.js.nodes.JavaScriptNode[] int top int com.oracle.truffle.js.nodes.JavaScriptNode[] int int int top com.oracle.truffle.js.nodes.JavaScriptNode[]
StackMap stack:
32: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 15
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createVoidBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
33: astore 14
end local 15 start local 14 34: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.js.nodes.control.AbstractBlockNode java.util.BitSet java.lang.String com.oracle.truffle.js.nodes.access.LazyReadFrameSlotNode com.oracle.truffle.js.nodes.access.WriteNode com.oracle.truffle.js.nodes.JavaScriptNode[] int top int com.oracle.truffle.js.nodes.JavaScriptNode[] int int int com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 10
iload 13
aload 14
aastore
35: iload 12
istore 11
end local 14 36: iinc 13 1
end local 12 StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.js.nodes.control.AbstractBlockNode java.util.BitSet java.lang.String com.oracle.truffle.js.nodes.access.LazyReadFrameSlotNode com.oracle.truffle.js.nodes.access.WriteNode com.oracle.truffle.js.nodes.JavaScriptNode[] int top int com.oracle.truffle.js.nodes.JavaScriptNode[] int top int
StackMap stack:
37: iload 13
iload 9
if_icmplt 20
end local 13 38: iload 7
ifeq 39
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 10
aload 4
aload 5
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createGeneratorExprBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/WriteNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 40
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.js.nodes.control.AbstractBlockNode java.util.BitSet java.lang.String com.oracle.truffle.js.nodes.access.LazyReadFrameSlotNode com.oracle.truffle.js.nodes.access.WriteNode com.oracle.truffle.js.nodes.JavaScriptNode[] int top int com.oracle.truffle.js.nodes.JavaScriptNode[] int
StackMap stack:
39: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 10
aload 4
aload 5
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createGeneratorVoidBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/WriteNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
40: astore 8
end local 11 end local 10 start local 8 41: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.js.nodes.control.AbstractBlockNode java.util.BitSet java.lang.String com.oracle.truffle.js.nodes.access.LazyReadFrameSlotNode com.oracle.truffle.js.nodes.access.WriteNode com.oracle.truffle.js.nodes.JavaScriptNode[] int com.oracle.truffle.js.nodes.JavaScriptNode int
StackMap stack:
aload 1
aload 8
invokestatic com.oracle.truffle.js.nodes.JavaScriptNode.transferSourceSectionAndTags:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)V
42: aload 8
areturn
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 43 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 43 1 blockNode Lcom/oracle/truffle/js/nodes/control/AbstractBlockNode;
0 43 2 suspendableIndices Ljava/util/BitSet;
1 43 3 identifier Ljava/lang/String;
3 43 4 readState Lcom/oracle/truffle/js/nodes/access/LazyReadFrameSlotNode;
4 43 5 writeState Lcom/oracle/truffle/js/nodes/access/WriteNode;
5 43 6 statements [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
8 43 7 returnsResult Z
15 16 8 genBlock Lcom/oracle/truffle/js/nodes/JavaScriptNode;
41 43 8 genBlock Lcom/oracle/truffle/js/nodes/JavaScriptNode;
11 43 9 resumePoints I
17 41 10 chunks [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
18 41 11 fromIndex I
21 37 12 toIndex I
19 38 13 chunkI I
29 30 14 chunk Lcom/oracle/truffle/js/nodes/JavaScriptNode;
34 36 14 chunk Lcom/oracle/truffle/js/nodes/JavaScriptNode;
31 34 15 chunkStatements [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
blockNode
suspendableIndices
private static boolean isSideEffectFreeUnaryOpNode(com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof com.oracle.truffle.js.nodes.control.DiscardResultNode
ifne 1
aload 0
instanceof com.oracle.truffle.js.nodes.unary.VoidNode
ifne 1
aload 0
instanceof com.oracle.truffle.js.nodes.unary.TypeOfNode
ifne 1
aload 0
instanceof com.oracle.truffle.js.nodes.binary.JSTypeofIdenticalNode
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 node Lcom/oracle/truffle/api/nodes/Node;
MethodParameters:
Name Flags
node
private static boolean isSupportedDispersibleExpression(com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof com.oracle.truffle.js.nodes.binary.JSBinaryNode
ifne 6
aload 0
instanceof com.oracle.truffle.js.nodes.unary.JSUnaryNode
ifne 6
1: aload 0
instanceof com.oracle.truffle.js.nodes.access.ArrayLiteralNode
ifne 6
aload 0
instanceof com.oracle.truffle.js.nodes.access.ObjectLiteralNode
ifne 6
2: aload 0
instanceof com.oracle.truffle.js.nodes.access.PropertyNode
ifne 6
aload 0
instanceof com.oracle.truffle.js.nodes.access.GlobalPropertyNode
ifne 6
aload 0
instanceof com.oracle.truffle.js.nodes.access.ReadElementNode
ifne 6
3: aload 0
instanceof com.oracle.truffle.js.nodes.access.WritePropertyNode
ifne 6
aload 0
instanceof com.oracle.truffle.js.nodes.access.WriteElementNode
ifne 6
4: aload 0
instanceof com.oracle.truffle.js.nodes.function.JSFunctionCallNode
ifne 6
aload 0
instanceof com.oracle.truffle.js.nodes.function.JSNewNode
ifne 6
5: iconst_0
ireturn
StackMap locals:
StackMap stack:
6: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 node Lcom/oracle/truffle/api/nodes/Node;
MethodParameters:
Name Flags
node
private static boolean isStatelessExpression(com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof com.oracle.truffle.js.nodes.access.JSConstantNode
ifne 2
aload 0
instanceof com.oracle.truffle.js.nodes.access.CreateObjectNode
ifne 2
aload 0
instanceof com.oracle.truffle.js.nodes.RepeatableNode
ifeq 1
aload 0
instanceof com.oracle.truffle.js.nodes.ReadNode
ifeq 2
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 child Lcom/oracle/truffle/api/nodes/Node;
MethodParameters:
Name Flags
child
private static boolean skipOverToChildren(com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode
ifne 1
aload 0
instanceof com.oracle.truffle.js.nodes.function.AbstractFunctionArgumentsNode
ifne 1
aload 0
instanceof com.oracle.truffle.js.nodes.access.ArrayLiteralNode$SpreadArrayNode
ifne 1
aload 0
instanceof com.oracle.truffle.js.nodes.function.SpreadArgumentNode
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 node Lcom/oracle/truffle/api/nodes/Node;
MethodParameters:
Name Flags
node
private void extractChildTo(com.oracle.truffle.api.nodes.Node, com.oracle.truffle.api.nodes.Node, java.util.List<com.oracle.truffle.js.nodes.JavaScriptNode>);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.isStatelessExpression:(Lcom/oracle/truffle/api/nodes/Node;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.skipOverToChildren:(Lcom/oracle/truffle/api/nodes/Node;)Z
ifeq 5
3: aload 0
aload 1
aload 3
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.extractChildrenTo:(Lcom/oracle/truffle/api/nodes/Node;Ljava/util/List;)V
4: goto 19
StackMap locals:
StackMap stack:
5: aload 1
instanceof com.oracle.truffle.js.nodes.JavaScriptNode
ifeq 19
6: aload 1
checkcast com.oracle.truffle.js.nodes.JavaScriptNode
astore 4
start local 4 7: new java.lang.StringBuilder
dup
ldc ":generatorexpr:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.getFunctionFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.getSize:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 8: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 5
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createLazyReadFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/LazyReadFrameSlotNode;
astore 6
start local 6 9: aload 4
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$ExpressionTag;
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasTag:(Ljava/lang/Class;)Z
ifne 11
10: aload 4
instanceof com.oracle.truffle.js.nodes.control.GeneratorWrapperNode
ifeq 12
aload 4
checkcast com.oracle.truffle.js.nodes.control.GeneratorWrapperNode
invokevirtual com.oracle.truffle.js.nodes.control.GeneratorWrapperNode.getResumableNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$ExpressionTag;
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasTag:(Ljava/lang/Class;)Z
ifeq 12
11: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode java.lang.String com.oracle.truffle.js.nodes.access.LazyReadFrameSlotNode
StackMap stack:
aload 6
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.tagHiddenExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
12: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 5
aload 4
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createLazyWriteFrameSlot:(Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/LazyWriteFrameSlotNode;
astore 7
start local 7 13: aload 2
aload 1
aload 6
invokestatic com.oracle.truffle.api.nodes.NodeUtil.isReplacementSafe:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;)Z
ifeq 18
14: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.getFunctionFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 5
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.addFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
pop
15: aload 3
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
16: aload 2
aload 1
aload 6
invokestatic com.oracle.truffle.api.nodes.NodeUtil.replaceChild:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;)Z
istore 8
start local 8 17: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 19
iload 8
ifne 19
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 8 18: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.extractChildrenTo:(Lcom/oracle/truffle/api/nodes/Node;Ljava/util/List;)V
end local 7 end local 6 end local 5 end local 4 19: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.nodes.Node java.util.List
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 20 1 child Lcom/oracle/truffle/api/nodes/Node;
0 20 2 parent Lcom/oracle/truffle/api/nodes/Node;
0 20 3 extracted Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;
7 19 4 jschild Lcom/oracle/truffle/js/nodes/JavaScriptNode;
8 19 5 identifier Ljava/lang/String;
9 19 6 readState Lcom/oracle/truffle/js/nodes/access/LazyReadFrameSlotNode;
13 19 7 writeState Lcom/oracle/truffle/js/nodes/JavaScriptNode;
17 18 8 ok Z
Signature: (Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;)V
MethodParameters:
Name Flags
child
parent
extracted
private static java.lang.Iterable<com.oracle.truffle.api.nodes.Node> getChildrenInExecutionOrder(com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Iterable;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.nodes.Node.getChildren:()Ljava/lang/Iterable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 parent Lcom/oracle/truffle/api/nodes/Node;
Signature: (Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Iterable<Lcom/oracle/truffle/api/nodes/Node;>;
MethodParameters:
Name Flags
parent
private void extractChildrenTo(com.oracle.truffle.api.nodes.Node, java.util.List<com.oracle.truffle.js.nodes.JavaScriptNode>);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.getChildrenInExecutionOrder:(Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 4
goto 3
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.api.nodes.Node java.util.List top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.nodes.Node
astore 3
start local 3 2: aload 0
aload 3
aload 1
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.extractChildTo:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;Ljava/util/List;)V
end local 3 3: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 5 1 parent Lcom/oracle/truffle/api/nodes/Node;
0 5 2 extracted Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;
2 3 3 child Lcom/oracle/truffle/api/nodes/Node;
Signature: (Lcom/oracle/truffle/api/nodes/Node;Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;)V
MethodParameters:
Name Flags
parent
extracted
private com.oracle.truffle.js.nodes.JavaScriptNode handleFunctionReturn(com.oracle.js.parser.ir.FunctionNode, com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 5
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isGlobal:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isEval:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.hasSyntheticArguments:()Z
ifne 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isScript:()Z
ifne 3
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isModule:()Z
ifne 3
iconst_0
goto 4
StackMap locals:
StackMap stack: int
3: iconst_1
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.FunctionNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack: int int
4: if_icmpeq 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.returnsLastStatementResult:()Z
ifeq 8
6: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 7
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.hasReturn:()Z
ifeq 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.wrapGetCompletionValue:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.hasReturn:()Z
ifeq 10
9: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 2
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getReturnSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
iconst_0
iconst_0
getstatic com.oracle.truffle.js.nodes.access.ScopeFrameNode.EMPTY_FRAME_SLOT_ARRAY:[Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createLocal:(Lcom/oracle/truffle/api/frame/FrameSlot;II[Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createFrameReturnTarget:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/ReturnTargetNode;
areturn
10: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 11 1 functionNode Lcom/oracle/js/parser/ir/FunctionNode;
0 11 2 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
functionNode
body
private com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable enterFunctionEnvironment(boolean, boolean, boolean, boolean, boolean, boolean, boolean);
descriptor: (ZZZZZZZ)Lcom/oracle/truffle/js/parser/GraalJSTranslator$EnvironmentCloseable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=14, locals=9, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
instanceof com.oracle.truffle.js.parser.env.EvalEnvironment
ifeq 7
1: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 3
iload 2
ifne 2
iload 3
ifne 2
iload 4
ifne 2
iload 5
ifeq 3
StackMap locals:
StackMap stack:
2: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.parser.env.FunctionEnvironment
dup
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.getParent:()Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
iload 1
iconst_1
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
checkcast com.oracle.truffle.js.parser.env.EvalEnvironment
invokevirtual com.oracle.truffle.js.parser.env.EvalEnvironment.isDirectEval:()Z
iconst_0
iconst_0
iconst_0
iconst_0
iload 6
4: iload 7
5: invokespecial com.oracle.truffle.js.parser.env.FunctionEnvironment.<init>:(Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;ZZZZZZZZZ)V
astore 8
start local 8 6: goto 15
end local 8 StackMap locals:
StackMap stack:
7: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
instanceof com.oracle.truffle.js.parser.env.DebugEnvironment
ifeq 12
8: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 10
iload 2
ifne 9
iload 3
ifne 9
iload 4
ifne 9
iload 5
ifeq 10
StackMap locals:
StackMap stack:
9: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.parser.env.FunctionEnvironment
dup
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
iload 1
iconst_1
iconst_1
iconst_0
iconst_0
iconst_0
iconst_0
iload 6
iload 7
invokespecial com.oracle.truffle.js.parser.env.FunctionEnvironment.<init>:(Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;ZZZZZZZZZ)V
astore 8
start local 8 11: goto 15
end local 8 12: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.parser.env.FunctionEnvironment
dup
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
iload 1
iconst_0
iconst_0
iload 2
iload 3
iload 4
iload 5
iload 6
13: iload 7
14: invokespecial com.oracle.truffle.js.parser.env.FunctionEnvironment.<init>:(Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;ZZZZZZZZZ)V
astore 8
start local 8 15: StackMap locals: com.oracle.truffle.js.parser.env.Environment
StackMap stack:
new com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable
dup
aload 0
aload 8
invokespecial com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.<init>:(Lcom/oracle/truffle/js/parser/GraalJSTranslator;Lcom/oracle/truffle/js/parser/env/Environment;)V
areturn
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 16 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 16 1 isStrict Z
0 16 2 isArrowFunction Z
0 16 3 isGeneratorFunction Z
0 16 4 isDerivedConstructor Z
0 16 5 isAsyncFunction Z
0 16 6 isGlobal Z
0 16 7 hasSyntheticArguments Z
6 7 8 functionEnv Lcom/oracle/truffle/js/parser/env/Environment;
11 12 8 functionEnv Lcom/oracle/truffle/js/parser/env/Environment;
15 16 8 functionEnv Lcom/oracle/truffle/js/parser/env/Environment;
MethodParameters:
Name Flags
isStrict
isArrowFunction
isGeneratorFunction
isDerivedConstructor
isAsyncFunction
isGlobal
hasSyntheticArguments
private void declareParameters(com.oracle.js.parser.ir.FunctionNode);
descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
astore 2
start local 2 1: aload 2
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.hasSimpleParameterList:()Z
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.setSimpleParameterList:(Z)V
2: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.getParameters:()Ljava/util/List;
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 11
5: StackMap locals: com.oracle.truffle.js.parser.env.FunctionEnvironment java.util.List int
StackMap stack:
aload 3
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.IdentNode
astore 5
start local 5 6: aload 2
aload 5
invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.declareParameter:(Ljava/lang/String;)V
7: aload 5
invokevirtual com.oracle.js.parser.ir.IdentNode.isRestParameter:()Z
ifeq 10
8: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 9
iload 4
aload 3
invokeinterface java.util.List.size:()I
iconst_1
isub
if_icmpeq 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals: com.oracle.js.parser.ir.IdentNode
StackMap stack:
aload 2
iconst_1
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.setRestParameter:(Z)V
end local 5 10: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
aload 3
invokeinterface java.util.List.size:()I
if_icmplt 5
end local 4 12: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 13 1 functionNode Lcom/oracle/js/parser/ir/FunctionNode;
1 13 2 currentFunction Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
3 13 3 parameters Ljava/util/List<Lcom/oracle/js/parser/ir/IdentNode;>;
4 12 4 i I
6 10 5 parameter Lcom/oracle/js/parser/ir/IdentNode;
MethodParameters:
Name Flags
functionNode
private com.oracle.truffle.js.nodes.JavaScriptNode prepareDeclarations(java.util.List<com.oracle.truffle.js.nodes.JavaScriptNode>, com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Ljava/util/List;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 1
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.EMPTY_NODE_ARRAY:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.oracle.truffle.js.nodes.JavaScriptNode[]
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createExprBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 2 1 declarations Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;
0 2 2 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
Signature: (Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
declarations
body
private static com.oracle.truffle.js.nodes.JavaScriptNode[] javaScriptNodeArray(int);
descriptor: (I)[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
ifne 1
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.EMPTY_NODE_ARRAY:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 2
StackMap locals:
StackMap stack:
1: iload 0
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode[]
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 size I
MethodParameters:
Name Flags
size
private java.lang.String getFunctionName(com.oracle.js.parser.ir.FunctionNode);
descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getEcmaScriptVersion:()I
bipush 6
if_icmpge 7
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isGetter:()Z
ifne 1
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isSetter:()Z
ifeq 7
1: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 2
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isAnonymous:()Z
ifeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.getName:()Ljava/lang/String;
astore 2
start local 2 3: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isGetter:()Z
ifeq 4
aload 2
ldc "get "
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 5
StackMap locals: java.lang.String
StackMap stack:
4: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isSetter:()Z
ifeq 6
aload 2
ldc "set "
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 6
5: StackMap locals:
StackMap stack:
aload 2
iconst_4
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
6: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 7: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.getName:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 8 1 functionNode Lcom/oracle/js/parser/ir/FunctionNode;
3 7 2 name Ljava/lang/String;
MethodParameters:
Name Flags
functionNode
private com.oracle.truffle.js.nodes.JavaScriptNode prepareParameters(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getParameters:()Ljava/util/List;
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getParameterCount:()I
anewarray com.oracle.truffle.api.frame.FrameSlot
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.oracle.truffle.api.frame.FrameSlot[]
astore 2
start local 2 1: aload 0
aload 2
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createEnterFrameBlock:([Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 2 1 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
1 2 2 frameSlots [Lcom/oracle/truffle/api/frame/FrameSlot;
MethodParameters:
Name Flags
body
private com.oracle.truffle.js.nodes.JavaScriptNode createEnterFrameBlock(com.oracle.truffle.api.frame.FrameSlot[], com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: ([Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
arraylength
ifeq 16
1: aload 1
arraylength
iconst_1
iadd
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.javaScriptNodeArray:(I)[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
astore 5
start local 5 4: aload 5
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.hasRestParameter:()Z
istore 6
start local 6 5: aload 5
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getLeadingArgumentCount:()I
istore 7
start local 7 6: goto 13
7: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.api.frame.FrameSlot[] com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode[] int com.oracle.truffle.js.parser.env.FunctionEnvironment int int
StackMap stack:
iload 6
ifeq 10
iload 4
aload 1
arraylength
iconst_1
isub
if_icmpne 10
8: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
iload 7
aload 5
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getTrailingArgumentCount:()I
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAccessRestArgument:(Lcom/oracle/truffle/js/runtime/JSContext;II)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.tagHiddenExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 9: goto 11
end local 8 10: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
iload 7
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAccessArgument:(I)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.tagHiddenExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 11: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 3
iload 4
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 1
iload 4
aaload
aload 5
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getFunctionFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 8
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createWriteCurrentFrameSlot:(Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.tagHiddenExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aastore
end local 8 12: iinc 4 1
iinc 7 1
StackMap locals:
StackMap stack:
13: iload 4
aload 1
arraylength
if_icmplt 7
end local 7 14: aload 3
iload 4
aload 2
aastore
15: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 3
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createExprBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 6 end local 5 end local 4 end local 3 16: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.api.frame.FrameSlot[] com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 17 1 parameterSlots [Lcom/oracle/truffle/api/frame/FrameSlot;
0 17 2 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 16 3 parameterAssignment [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3 16 4 i I
4 16 5 currentFunction Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
5 16 6 hasRestParameter Z
6 14 7 argIndex I
9 10 8 valueNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
11 12 8 valueNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
parameterSlots
body
private static com.oracle.truffle.js.nodes.JavaScriptNode tagHiddenExpression(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.unavailableInternalSection:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.setSourceSection:(Lcom/oracle/truffle/api/source/SourceSection;)V
1: aload 0
instanceof com.oracle.truffle.js.nodes.access.GlobalScopeVarWrapperNode
ifeq 4
2: aload 0
checkcast com.oracle.truffle.js.nodes.access.GlobalScopeVarWrapperNode
invokevirtual com.oracle.truffle.js.nodes.access.GlobalScopeVarWrapperNode.getDelegateNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.tagHiddenExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.addExpressionTag:()V
5: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 node Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
node
static int getBlockScopedSymbolFlags(com.oracle.js.parser.ir.VarNode);
descriptor: (Lcom/oracle/js/parser/ir/VarNode;)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.js.parser.ir.VarNode.isConst:()Z
ifeq 2
1: iconst_2
ireturn
2: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 3
aload 0
invokevirtual com.oracle.js.parser.ir.VarNode.isLet:()Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
iconst_1
aload 0
invokevirtual com.oracle.js.parser.ir.VarNode.getName:()Lcom/oracle/js/parser/ir/IdentNode;
invokevirtual com.oracle.js.parser.ir.IdentNode.isCatchParameter:()Z
ifeq 4
ldc 33792
goto 5
StackMap locals:
StackMap stack: int
4: iconst_0
StackMap locals: com.oracle.js.parser.ir.VarNode
StackMap stack: int int
5: ior
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 varNode Lcom/oracle/js/parser/ir/VarNode;
MethodParameters:
Name Flags
varNode
private java.util.List<com.oracle.truffle.js.nodes.JavaScriptNode> functionEnvInit(com.oracle.js.parser.ir.FunctionNode);
descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
astore 2
start local 2 1: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 2
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isGlobal:()Z
ifeq 2
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isIndirectEval:()Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: com.oracle.truffle.js.parser.env.FunctionEnvironment
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.getBody:()Lcom/oracle/js/parser/ir/Block;
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.markTerminalReturnNodes:(Lcom/oracle/js/parser/ir/Node;)V
3: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isArrow:()Z
ifne 10
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.needsArguments:()Z
ifeq 10
4: aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.reserveArgumentsSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
pop
5: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.getNumOfParams:()I
ifne 9
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.hasEval:()Z
ifne 9
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.hasApplyArgumentsCall:()Z
ifeq 9
6: aload 1
aload 2
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.checkDirectArgumentsAccess:(Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;)Z
ifeq 9
7: aload 2
iconst_1
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.setDirectArgumentsAccess:(Z)V
8: goto 10
9: StackMap locals:
StackMap stack:
aload 2
ldc "arguments"
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.declareVar:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
pop
10: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.needsThis:()Z
ifeq 13
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isArrow:()Z
ifne 11
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isDirectEval:()Z
ifeq 12
StackMap locals:
StackMap stack:
11: aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getNonArrowParentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isDerivedConstructor:()Z
ifne 13
12: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.reserveThisSlot:()V
13: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.needsSuper:()Z
ifeq 17
14: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 15
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isArrow:()Z
ifeq 15
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
15: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.reserveThisSlot:()V
16: aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.reserveSuperSlot:()V
17: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.needsNewTarget:()Z
ifeq 19
18: aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.reserveNewTargetSlot:()V
19: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isClassConstructor:()Z
ifeq 21
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentClass:()Lcom/oracle/js/parser/ir/ClassNode;
invokevirtual com.oracle.js.parser.ir.ClassNode.hasInstanceFields:()Z
ifne 20
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentClass:()Lcom/oracle/js/parser/ir/ClassNode;
invokevirtual com.oracle.js.parser.ir.ClassNode.hasPrivateInstanceMethods:()Z
ifeq 21
20: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.reserveThisSlot:()V
21: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.needsDynamicScope:()Z
ifeq 24
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isDirectEval:()Z
ifne 24
22: aload 2
iconst_1
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.setIsDynamicallyScoped:(Z)V
23: aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.reserveDynamicScopeSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
pop
24: StackMap locals:
StackMap stack:
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 25 1 functionNode Lcom/oracle/js/parser/ir/FunctionNode;
1 25 2 currentFunction Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
Signature: (Lcom/oracle/js/parser/ir/FunctionNode;)Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;
MethodParameters:
Name Flags
functionNode
private static void functionNeedsParentFramePass(com.oracle.js.parser.ir.FunctionNode, com.oracle.truffle.js.runtime.JSContext);
descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/truffle/js/runtime/JSContext;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSContext.getContextOptions:()Lcom/oracle/truffle/js/runtime/JSContextOptions;
invokevirtual com.oracle.truffle.js.runtime.JSContextOptions.isLazyTranslation:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.parser.GraalJSTranslator$2
dup
new com.oracle.js.parser.ir.LexicalContext
dup
invokespecial com.oracle.js.parser.ir.LexicalContext.<init>:()V
invokespecial com.oracle.truffle.js.parser.GraalJSTranslator$2.<init>:(Lcom/oracle/js/parser/ir/LexicalContext;)V
astore 2
start local 2 3: aload 0
aload 2
invokevirtual com.oracle.js.parser.ir.FunctionNode.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
pop
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 rootFunctionNode Lcom/oracle/js/parser/ir/FunctionNode;
0 5 1 context Lcom/oracle/truffle/js/runtime/JSContext;
3 5 2 visitor Lcom/oracle/js/parser/ir/visitor/NodeVisitor<Lcom/oracle/js/parser/ir/LexicalContext;>;
MethodParameters:
Name Flags
rootFunctionNode
context
private static boolean checkDirectArgumentsAccess(com.oracle.js.parser.ir.FunctionNode, com.oracle.truffle.js.parser.env.FunctionEnvironment);
descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor
dup
new com.oracle.js.parser.ir.LexicalContext
dup
invokespecial com.oracle.js.parser.ir.LexicalContext.<init>:()V
aload 0
aload 1
invokespecial com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor.<init>:(Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;)V
astore 2
start local 2 1: aload 0
aload 2
invokevirtual com.oracle.js.parser.ir.FunctionNode.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
pop
2: aload 2
getfield com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor.directArgumentsAccess:Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 functionNode Lcom/oracle/js/parser/ir/FunctionNode;
0 3 1 currentFunction Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
1 3 2 visitor Lcom/oracle/truffle/js/parser/GraalJSTranslator$1DirectArgumentsAccessVisitor;
MethodParameters:
Name Flags
functionNode
currentFunction
private static void markTerminalReturnNodes(com.oracle.js.parser.ir.Node);
descriptor: (Lcom/oracle/js/parser/ir/Node;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
instanceof com.oracle.js.parser.ir.Block
ifeq 5
aload 0
checkcast com.oracle.js.parser.ir.Block
invokevirtual com.oracle.js.parser.ir.Block.isTerminal:()Z
ifeq 5
1: aload 0
checkcast com.oracle.js.parser.ir.Block
invokevirtual com.oracle.js.parser.ir.Block.getLastStatement:()Lcom/oracle/js/parser/ir/Statement;
astore 1
start local 1 2: aload 1
ifnull 14
3: aload 1
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.markTerminalReturnNodes:(Lcom/oracle/js/parser/ir/Node;)V
end local 1 4: goto 14
StackMap locals:
StackMap stack:
5: aload 0
instanceof com.oracle.js.parser.ir.BlockStatement
ifeq 8
aload 0
checkcast com.oracle.js.parser.ir.BlockStatement
invokevirtual com.oracle.js.parser.ir.BlockStatement.isTerminal:()Z
ifeq 8
6: aload 0
checkcast com.oracle.js.parser.ir.BlockStatement
invokevirtual com.oracle.js.parser.ir.BlockStatement.getBlock:()Lcom/oracle/js/parser/ir/Block;
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.markTerminalReturnNodes:(Lcom/oracle/js/parser/ir/Node;)V
7: goto 14
StackMap locals:
StackMap stack:
8: aload 0
instanceof com.oracle.js.parser.ir.IfNode
ifeq 12
aload 0
checkcast com.oracle.js.parser.ir.IfNode
invokevirtual com.oracle.js.parser.ir.IfNode.isTerminal:()Z
ifeq 12
9: aload 0
checkcast com.oracle.js.parser.ir.IfNode
invokevirtual com.oracle.js.parser.ir.IfNode.getPass:()Lcom/oracle/js/parser/ir/Block;
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.markTerminalReturnNodes:(Lcom/oracle/js/parser/ir/Node;)V
10: aload 0
checkcast com.oracle.js.parser.ir.IfNode
invokevirtual com.oracle.js.parser.ir.IfNode.getFail:()Lcom/oracle/js/parser/ir/Block;
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.markTerminalReturnNodes:(Lcom/oracle/js/parser/ir/Node;)V
11: goto 14
StackMap locals:
StackMap stack:
12: aload 0
instanceof com.oracle.js.parser.ir.ReturnNode
ifeq 14
13: aload 0
checkcast com.oracle.js.parser.ir.ReturnNode
iconst_1
invokevirtual com.oracle.js.parser.ir.ReturnNode.setInTerminalPosition:(Z)V
14: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 node Lcom/oracle/js/parser/ir/Node;
2 4 1 lastStatement Lcom/oracle/js/parser/ir/Statement;
MethodParameters:
Name Flags
node
private java.util.List<com.oracle.truffle.js.nodes.JavaScriptNode> collectGlobalVars(com.oracle.js.parser.ir.FunctionNode, boolean);
descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;Z)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.getBody:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.js.parser.ir.Block.getSymbolCount:()I
istore 3
start local 3 1: iload 3
ifne 3
2: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
3: StackMap locals: int
StackMap stack:
new java.util.ArrayList
dup
iload 3
invokespecial java.util.ArrayList.<init>:(I)V
astore 4
start local 4 4: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.getBody:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.js.parser.ir.Block.getSymbols:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6
goto 15
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.FunctionNode int int java.util.List top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.Symbol
astore 5
start local 5 6: aload 5
invokevirtual com.oracle.js.parser.ir.Symbol.isGlobal:()Z
ifeq 12
aload 5
invokevirtual com.oracle.js.parser.ir.Symbol.isVar:()Z
ifeq 12
7: aload 5
invokevirtual com.oracle.js.parser.ir.Symbol.isHoistableDeclaration:()Z
ifeq 10
8: aload 4
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 5
invokevirtual com.oracle.js.parser.ir.Symbol.getName:()Ljava/lang/String;
iload 2
aconst_null
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDeclareGlobalFunction:(Ljava/lang/String;ZLcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/DeclareGlobalNode;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: goto 15
10: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.FunctionNode int int java.util.List com.oracle.js.parser.ir.Symbol java.util.Iterator
StackMap stack:
aload 4
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 5
invokevirtual com.oracle.js.parser.ir.Symbol.getName:()Ljava/lang/String;
iload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDeclareGlobalVariable:(Ljava/lang/String;Z)Lcom/oracle/truffle/js/nodes/access/DeclareGlobalNode;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
11: goto 15
StackMap locals:
StackMap stack:
12: iload 2
ifne 15
13: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 14
aload 5
invokevirtual com.oracle.js.parser.ir.Symbol.isBlockScoped:()Z
ifne 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
aload 4
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 5
invokevirtual com.oracle.js.parser.ir.Symbol.getName:()Ljava/lang/String;
aload 5
invokevirtual com.oracle.js.parser.ir.Symbol.isConst:()Z
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDeclareGlobalLexicalVariable:(Ljava/lang/String;Z)Lcom/oracle/truffle/js/nodes/access/DeclareGlobalNode;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 15: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.FunctionNode int int java.util.List top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
16: new java.util.ArrayList
dup
iconst_2
invokespecial java.util.ArrayList.<init>:(I)V
astore 5
start local 5 17: aload 5
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 4
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createGlobalDeclarationInstantiation:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/util/List;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
18: aload 5
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 19 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 19 1 functionNode Lcom/oracle/js/parser/ir/FunctionNode;
0 19 2 configurable Z
1 19 3 symbolCount I
4 19 4 declarations Ljava/util/List<Lcom/oracle/truffle/js/nodes/access/DeclareGlobalNode;>;
6 15 5 symbol Lcom/oracle/js/parser/ir/Symbol;
17 19 5 nodes Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;
Signature: (Lcom/oracle/js/parser/ir/FunctionNode;Z)Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;
MethodParameters:
Name Flags
functionNode
configurable
private com.oracle.truffle.js.nodes.JavaScriptNode prepareArguments(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
ldc "arguments"
invokevirtual com.oracle.truffle.js.parser.env.Environment.findLocalVar:(Ljava/lang/String;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 2
start local 2 1: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isStrictMode:()Z
ifne 2
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.hasSimpleParameterList:()Z
ifeq 2
iconst_0
goto 3
StackMap locals: com.oracle.truffle.js.parser.env.Environment$VarRef
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
iload 3
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getLeadingArgumentCount:()I
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getTrailingArgumentCount:()I
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createArgumentsObjectNode:(Lcom/oracle/truffle/js/runtime/JSContext;ZII)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 5: iload 3
ifne 7
6: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findArgumentsVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
aload 4
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
7: StackMap locals: int com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 2
aload 4
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 5
start local 5 8: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
iconst_2
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
dup
iconst_0
aload 5
aastore
dup
iconst_1
aload 1
aastore
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createExprBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
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 9 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 9 1 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
1 9 2 argumentsVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
4 9 3 unmappedArgumentsObject Z
5 9 4 argumentsObject Lcom/oracle/truffle/js/nodes/JavaScriptNode;
8 9 5 setArgumentsNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
body
private com.oracle.truffle.js.nodes.JavaScriptNode prepareThis(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.js.parser.ir.FunctionNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getNonArrowParentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isDerivedConstructor:()Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findThisVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 3
start local 3 2: aload 2
invokevirtual com.oracle.js.parser.ir.FunctionNode.isArrow:()Z
istore 4
start local 4 3: iload 4
ifeq 4
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAccessLexicalThis:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 5
StackMap locals: com.oracle.truffle.js.parser.env.Environment$VarRef int
StackMap stack:
4: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAccessThis:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
5: astore 5
start local 5 6: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.isStrictMode:()Z
ifne 8
iload 4
ifne 8
7: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 5
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createPrepareThisBinding:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 5
8: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 2
invokevirtual com.oracle.js.parser.ir.FunctionNode.isClassConstructor:()Z
ifeq 10
9: aload 0
aload 5
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.initializeInstanceElements:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 5
10: StackMap locals:
StackMap stack:
aload 3
aload 5
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 6
start local 6 11: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
iconst_2
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
dup
iconst_0
aload 6
aastore
dup
iconst_1
aload 1
aastore
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createExprBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
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 12 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 12 1 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 12 2 functionNode Lcom/oracle/js/parser/ir/FunctionNode;
2 12 3 thisVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
3 12 4 isLexicalThis Z
6 12 5 getThisNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
11 12 6 setThisNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
body
functionNode
private com.oracle.truffle.js.nodes.JavaScriptNode prepareSuper(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAccessHomeObject:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findSuperVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
aload 2
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
iconst_2
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 1
aastore
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createExprBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 3 1 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
1 3 2 getHomeObject Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 3 3 setSuperNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
body
private com.oracle.truffle.js.nodes.JavaScriptNode prepareNewTarget(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAccessNewTarget:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findNewTargetVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
aload 2
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
iconst_2
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 1
aastore
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createExprBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 3 1 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
1 3 2 getNewTarget Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 3 3 setNewTarget Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
body
public com.oracle.truffle.js.nodes.JavaScriptNode enterReturnNode(com.oracle.js.parser.ir.ReturnNode);
descriptor: (Lcom/oracle/js/parser/ir/ReturnNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.ReturnNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
ifnull 5
1: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.ReturnNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 2: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isAsyncGeneratorFunction:()Z
ifeq 6
3: aload 0
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createAwaitNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
4: goto 6
end local 2 5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantUndefined:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 6: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.ReturnNode.isInTerminalPosition:()Z
ifeq 7
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createTerminalPositionReturn:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/ReturnNode;
goto 8
StackMap locals:
StackMap stack:
7: aload 0
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createReturnNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/ReturnNode;
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.control.ReturnNode
8: astore 3
start local 3 9: aload 0
aload 3
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagStatement:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 10 1 returnNode Lcom/oracle/js/parser/ir/ReturnNode;
2 5 2 expression Lcom/oracle/truffle/js/nodes/JavaScriptNode;
6 10 2 expression Lcom/oracle/truffle/js/nodes/JavaScriptNode;
9 10 3 returnStatement Lcom/oracle/truffle/js/nodes/control/ReturnNode;
MethodParameters:
Name Flags
returnNode
private com.oracle.truffle.js.nodes.control.ReturnNode createReturnNode(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/ReturnNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.addReturn:()V
2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getReturnSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findTempVar:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
aload 1
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 3: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 3
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createFrameReturn:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/ReturnNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 4 1 expression Lcom/oracle/truffle/js/nodes/JavaScriptNode;
1 4 2 currentFunction Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
3 4 3 writeReturnSlotNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
expression
public com.oracle.truffle.js.nodes.JavaScriptNode enterBlock(com.oracle.js.parser.ir.Block);
descriptor: (Lcom/oracle/js/parser/ir/Block;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aconst_null
astore 3
aconst_null
astore 4
1: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterBlockEnvironment:(Lcom/oracle/js/parser/ir/Block;)Lcom/oracle/truffle/js/parser/GraalJSTranslator$EnvironmentCloseable;
astore 5
start local 5 2: aload 1
invokevirtual com.oracle.js.parser.ir.Block.getStatements:()Ljava/util/List;
astore 6
start local 6 3: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createTemporalDeadZoneInit:(Lcom/oracle/js/parser/ir/Block;)Ljava/util/List;
astore 7
start local 7 4: aload 0
aload 6
aload 1
invokevirtual com.oracle.js.parser.ir.Block.isTerminal:()Z
aload 7
aload 1
invokevirtual com.oracle.js.parser.ir.Block.isExpressionBlock:()Z
ifne 5
aload 1
invokevirtual com.oracle.js.parser.ir.Block.isParameterBlock:()Z
ifne 5
iconst_0
goto 6
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Block top java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable java.util.List java.util.List
StackMap stack: com.oracle.truffle.js.parser.GraalJSTranslator java.util.List int java.util.List
5: iconst_1
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Block top java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable java.util.List java.util.List
StackMap stack: com.oracle.truffle.js.parser.GraalJSTranslator java.util.List int java.util.List int
6: invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformStatements:(Ljava/util/List;ZLjava/util/List;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 7: aload 1
invokevirtual com.oracle.js.parser.ir.Block.isFunctionBody:()Z
ifeq 9
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isCallerContextEval:()Z
ifeq 9
8: aload 0
aload 1
aload 8
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.prependDynamicScopeBindingInit:(Lcom/oracle/js/parser/ir/Block;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
9: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 5
aload 8
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.wrapBlockScope:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
end local 8 end local 7 end local 6 start local 2 10: aload 5
ifnull 16
aload 5
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.close:()V
goto 16
end local 2 StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Block top java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable
StackMap stack: java.lang.Throwable
11: astore 3
aload 5
ifnull 12
aload 5
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.close:()V
end local 5 StackMap locals:
StackMap stack:
12: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 4
aload 3
ifnonnull 14
aload 4
astore 3
goto 15
StackMap locals:
StackMap stack:
14: aload 3
aload 4
if_acmpeq 15
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 3
athrow
start local 2 16: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Block com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.Block.isFunctionBody:()Z
ifeq 20
17: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isGeneratorFunction:()Z
ifeq 19
18: aload 0
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.finishGeneratorBody:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
19: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagBody:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
20: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.ensureHasSourceSection:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
21: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 22 1 block Lcom/oracle/js/parser/ir/Block;
10 11 2 result Lcom/oracle/truffle/js/nodes/JavaScriptNode;
16 22 2 result Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 12 5 blockEnv Lcom/oracle/truffle/js/parser/GraalJSTranslator$EnvironmentCloseable;
3 10 6 blockStatements Ljava/util/List<Lcom/oracle/js/parser/ir/Statement;>;
4 10 7 scopeInit Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;
7 10 8 blockNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
Exception table:
from to target type
2 10 11 any
1 13 13 any
MethodParameters:
Name Flags
block
private java.util.List<com.oracle.truffle.js.nodes.JavaScriptNode> createTemporalDeadZoneInit(com.oracle.js.parser.ir.Block);
descriptor: (Lcom/oracle/js/parser/ir/Block;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.Block.getScope:()Lcom/oracle/js/parser/ir/Scope;
invokevirtual com.oracle.js.parser.ir.Scope.hasBlockScopedOrRedeclaredSymbols:()Z
ifne 1
aload 1
invokevirtual com.oracle.js.parser.ir.Block.isModuleBody:()Z
ifeq 2
StackMap locals:
StackMap stack:
1: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
instanceof com.oracle.truffle.js.parser.env.GlobalEnvironment
ifeq 3
2: StackMap locals:
StackMap stack:
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
3: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 1
invokevirtual com.oracle.js.parser.ir.Block.getSymbolCount:()I
iconst_1
iadd
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 4: aload 1
invokevirtual com.oracle.js.parser.ir.Block.getSymbols:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 4
goto 16
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Block java.util.ArrayList top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.Symbol
astore 3
start local 3 6: aload 3
invokevirtual com.oracle.js.parser.ir.Symbol.isImportBinding:()Z
ifeq 8
7: goto 16
8: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Block java.util.ArrayList com.oracle.js.parser.ir.Symbol java.util.Iterator
StackMap stack:
aload 3
invokevirtual com.oracle.js.parser.ir.Symbol.isBlockScoped:()Z
ifeq 11
9: aload 3
invokevirtual com.oracle.js.parser.ir.Symbol.hasBeenDeclared:()Z
ifne 11
10: aload 2
aload 0
aload 3
invokevirtual com.oracle.js.parser.ir.Symbol.getName:()Ljava/lang/String;
iconst_1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.findScopeVar:(Ljava/lang/String;Z)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokestatic com.oracle.truffle.js.runtime.objects.Dead.instance:()Lcom/oracle/truffle/js/runtime/objects/Dead;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstant:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
11: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.oracle.js.parser.ir.Symbol.isVarRedeclaredHere:()Z
ifeq 16
12: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 13
aload 1
invokevirtual com.oracle.js.parser.ir.Block.isFunctionBody:()Z
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 14
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.getScopeLevel:()I
iconst_1
if_icmpeq 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.getParent:()Lcom/oracle/truffle/js/parser/env/Environment;
aload 3
invokevirtual com.oracle.js.parser.ir.Symbol.getName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findLocalVar:(Ljava/lang/String;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.getFrameSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
iconst_0
iconst_1
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.getParentSlots:()[Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createLocal:(Lcom/oracle/truffle/api/frame/FrameSlot;II[Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 5
start local 5 15: aload 2
aload 0
aload 3
invokevirtual com.oracle.js.parser.ir.Symbol.getName:()Ljava/lang/String;
iconst_1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.findScopeVar:(Ljava/lang/String;Z)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
aload 5
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 3 16: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Block java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
17: aload 1
invokevirtual com.oracle.js.parser.ir.Block.isModuleBody:()Z
ifeq 19
18: aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentFunction:()Lcom/oracle/js/parser/ir/FunctionNode;
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createResolveImports:(Lcom/oracle/js/parser/ir/FunctionNode;Ljava/util/List;)V
19: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Block java.util.ArrayList
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 20 1 block Lcom/oracle/js/parser/ir/Block;
4 20 2 blockWithInit Ljava/util/ArrayList<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;
6 16 3 symbol Lcom/oracle/js/parser/ir/Symbol;
15 16 5 outerVar Lcom/oracle/truffle/js/nodes/JavaScriptNode;
Signature: (Lcom/oracle/js/parser/ir/Block;)Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;
MethodParameters:
Name Flags
block
private void createResolveImports(com.oracle.js.parser.ir.FunctionNode, java.util.List<com.oracle.truffle.js.nodes.JavaScriptNode>);
descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isModule:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.getModule:()Lcom/oracle/js/parser/ir/Module;
invokevirtual com.oracle.js.parser.ir.Module.getImportEntries:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 15
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.FunctionNode java.util.List top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.Module$ImportEntry
astore 3
start local 3 3: aload 3
invokevirtual com.oracle.js.parser.ir.Module$ImportEntry.getModuleRequest:()Ljava/lang/String;
astore 5
start local 5 4: aload 3
invokevirtual com.oracle.js.parser.ir.Module$ImportEntry.getLocalName:()Ljava/lang/String;
astore 6
start local 6 5: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 6
invokevirtual com.oracle.truffle.js.parser.env.Environment.findLocalVar:(Ljava/lang/String;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
aconst_null
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode
astore 7
start local 7 6: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.getActiveModule:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 7: aload 3
invokevirtual com.oracle.js.parser.ir.Module$ImportEntry.getImportName:()Ljava/lang/String;
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
8: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 10
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.getBody:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.js.parser.ir.Block.getScope:()Lcom/oracle/js/parser/ir/Scope;
aload 6
invokevirtual com.oracle.js.parser.ir.Scope.hasSymbol:(Ljava/lang/String;)Z
ifeq 9
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.getBody:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.js.parser.ir.Block.getScope:()Lcom/oracle/js/parser/ir/Scope;
aload 6
invokevirtual com.oracle.js.parser.ir.Scope.getExistingSymbol:(Ljava/lang/String;)Lcom/oracle/js/parser/ir/Symbol;
invokevirtual com.oracle.js.parser.ir.Symbol.hasBeenDeclared:()Z
ifne 10
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.FunctionNode java.util.List com.oracle.js.parser.ir.Module$ImportEntry java.util.Iterator java.lang.String java.lang.String com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
9: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 8
aload 5
aload 7
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createResolveStarImport:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/String;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
11: goto 15
12: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 14
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.getBody:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.js.parser.ir.Block.getScope:()Lcom/oracle/js/parser/ir/Scope;
aload 6
invokevirtual com.oracle.js.parser.ir.Scope.hasSymbol:(Ljava/lang/String;)Z
ifeq 13
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.getBody:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.js.parser.ir.Block.getScope:()Lcom/oracle/js/parser/ir/Scope;
aload 6
invokevirtual com.oracle.js.parser.ir.Scope.getExistingSymbol:(Ljava/lang/String;)Lcom/oracle/js/parser/ir/Symbol;
invokevirtual com.oracle.js.parser.ir.Symbol.isImportBinding:()Z
ifne 14
StackMap locals:
StackMap stack:
13: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 8
aload 5
aload 3
invokevirtual com.oracle.js.parser.ir.Module$ImportEntry.getImportName:()Ljava/lang/String;
aload 7
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createResolveNamedImport:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/String;Ljava/lang/String;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 7 end local 6 end local 5 end local 3 15: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.FunctionNode java.util.List top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
16: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 17 1 functionNode Lcom/oracle/js/parser/ir/FunctionNode;
0 17 2 declarations Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;
3 15 3 importEntry Lcom/oracle/js/parser/ir/Module$ImportEntry;
4 15 5 moduleRequest Ljava/lang/String;
5 15 6 localName Ljava/lang/String;
6 15 7 writeLocalNode Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
7 15 8 thisModule Lcom/oracle/truffle/js/nodes/JavaScriptNode;
Signature: (Lcom/oracle/js/parser/ir/FunctionNode;Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;)V
MethodParameters:
Name Flags
functionNode
declarations
private com.oracle.truffle.js.nodes.JavaScriptNode prependDynamicScopeBindingInit(com.oracle.js.parser.ir.Block, com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/js/parser/ir/Block;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isCallerContextEval:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 2: aload 1
invokevirtual com.oracle.js.parser.ir.Block.getSymbols:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
goto 6
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Block com.oracle.truffle.js.nodes.JavaScriptNode java.util.ArrayList top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.Symbol
astore 4
start local 4 4: aload 4
invokevirtual com.oracle.js.parser.ir.Symbol.isVar:()Z
ifeq 6
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.getVariableEnvironment:()Lcom/oracle/truffle/js/parser/env/Environment;
aload 4
invokevirtual com.oracle.js.parser.ir.Symbol.getName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.parser.env.Environment.hasLocalVar:(Ljava/lang/String;)Z
ifne 6
5: aload 3
aload 0
aload 4
invokevirtual com.oracle.js.parser.ir.Symbol.getName:()Ljava/lang/String;
iconst_1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createDynamicScopeBinding:(Ljava/lang/String;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 4 6: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: aload 3
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 9
8: aload 2
areturn
9: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Block com.oracle.truffle.js.nodes.JavaScriptNode java.util.ArrayList
StackMap stack:
aload 3
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
10: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 3
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.EMPTY_NODE_ARRAY:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.oracle.truffle.js.nodes.JavaScriptNode[]
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createExprBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 11 1 block Lcom/oracle/js/parser/ir/Block;
0 11 2 blockNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 11 3 blockWithInit Ljava/util/ArrayList<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;
4 6 4 symbol Lcom/oracle/js/parser/ir/Symbol;
MethodParameters:
Name Flags
block
blockNode
private com.oracle.truffle.js.nodes.JavaScriptNode createDynamicScopeBinding(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 1
iload 2
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findDynamicScopeVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 3
start local 3 2: new com.oracle.truffle.js.nodes.access.DeclareEvalVariableNode
dup
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 1
aload 3
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 3
aconst_null
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.WriteNode
invokespecial com.oracle.truffle.js.nodes.access.DeclareEvalVariableNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/WriteNode;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 3 1 varName Ljava/lang/String;
0 3 2 deleteable Z
2 3 3 dynamicScopeVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
MethodParameters:
Name Flags
varName
deleteable
private com.oracle.truffle.js.nodes.JavaScriptNode transformStatements(java.util.List<com.oracle.js.parser.ir.Statement>, boolean);
descriptor: (Ljava/util/List;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
iconst_0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformStatements:(Ljava/util/List;ZLjava/util/List;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 1 1 blockStatements Ljava/util/List<Lcom/oracle/js/parser/ir/Statement;>;
0 1 2 terminal Z
Signature: (Ljava/util/List<Lcom/oracle/js/parser/ir/Statement;>;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
blockStatements
terminal
private com.oracle.truffle.js.nodes.JavaScriptNode transformStatements(java.util.List<com.oracle.js.parser.ir.Statement>, boolean, java.util.List<com.oracle.truffle.js.nodes.JavaScriptNode>, boolean);
descriptor: (Ljava/util/List;ZLjava/util/List;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokeinterface java.util.List.size:()I
aload 1
invokeinterface java.util.List.size:()I
iadd
istore 5
start local 5 1: iload 5
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.javaScriptNodeArray:(I)[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 6
start local 6 2: iconst_0
istore 7
start local 7 3: aload 3
invokeinterface java.util.List.isEmpty:()Z
ifne 8
4: goto 7
5: StackMap locals: int com.oracle.truffle.js.nodes.JavaScriptNode[] int
StackMap stack:
aload 6
iload 7
aload 3
iload 7
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.js.nodes.JavaScriptNode
aastore
6: iinc 7 1
StackMap locals:
StackMap stack:
7: iload 7
aload 3
invokeinterface java.util.List.size:()I
if_icmplt 5
8: StackMap locals:
StackMap stack:
iconst_m1
istore 8
start local 8 9: iconst_0
istore 9
start local 9 10: goto 22
11: StackMap locals: int int
StackMap stack:
aload 1
iload 9
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.Statement
astore 10
start local 10 12: aload 0
aload 10
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformStatementInBlock:(Lcom/oracle/js/parser/ir/Statement;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 11
start local 11 13: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.returnsLastStatementResult:()Z
ifeq 20
14: aload 10
invokevirtual com.oracle.js.parser.ir.Statement.isCompletionValueNeverEmpty:()Z
ifne 19
15: iload 8
iflt 20
16: aload 6
iload 8
aload 0
aload 6
iload 8
aaload
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.wrapSetCompletionValue:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aastore
17: iconst_m1
istore 8
18: goto 20
19: StackMap locals: com.oracle.js.parser.ir.Statement com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
iload 7
istore 8
20: StackMap locals:
StackMap stack:
aload 6
iload 7
iinc 7 1
aload 11
aastore
end local 11 end local 10 21: iinc 9 1
StackMap locals:
StackMap stack:
22: iload 9
aload 1
invokeinterface java.util.List.size:()I
if_icmplt 11
end local 9 23: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.returnsLastStatementResult:()Z
ifeq 25
iload 8
iflt 25
24: aload 6
iload 8
aload 0
aload 6
iload 8
aaload
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.wrapSetCompletionValue:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aastore
25: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 26
iload 7
iload 5
if_icmpeq 26
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
26: StackMap locals:
StackMap stack:
aload 0
aload 6
iload 2
iload 4
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZZ)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
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 27 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 27 1 blockStatements Ljava/util/List<Lcom/oracle/js/parser/ir/Statement;>;
0 27 2 terminal Z
0 27 3 prolog Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;
0 27 4 expressionBlock Z
1 27 5 size I
2 27 6 statements [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3 27 7 pos I
9 27 8 lastNonEmptyIndex I
10 23 9 i I
12 21 10 statement Lcom/oracle/js/parser/ir/Statement;
13 21 11 statementNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
Signature: (Ljava/util/List<Lcom/oracle/js/parser/ir/Statement;>;ZLjava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
blockStatements
terminal
prolog
expressionBlock
private com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable enterBlockEnvironment(com.oracle.js.parser.ir.Block);
descriptor: (Lcom/oracle/js/parser/ir/Block;)Lcom/oracle/truffle/js/parser/GraalJSTranslator$EnvironmentCloseable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.Block.isFunctionBody:()Z
ifeq 12
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentFunction:()Lcom/oracle/js/parser/ir/FunctionNode;
invokevirtual com.oracle.js.parser.ir.FunctionNode.isScript:()Z
ifeq 12
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.argumentNames:[Ljava/lang/String;
ifnonnull 12
1: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
astore 2
start local 2 2: aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isEval:()Z
ifne 6
3: new com.oracle.truffle.js.parser.env.GlobalEnvironment
dup
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokespecial com.oracle.truffle.js.parser.env.GlobalEnvironment.<init>:(Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;)V
astore 3
start local 3 4: aload 3
aload 1
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.setupGlobalEnvironment:(Lcom/oracle/truffle/js/parser/env/GlobalEnvironment;Lcom/oracle/js/parser/ir/Block;)V
5: new com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable
dup
aload 0
aload 3
invokespecial com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.<init>:(Lcom/oracle/truffle/js/parser/GraalJSTranslator;Lcom/oracle/truffle/js/parser/env/Environment;)V
areturn
end local 3 6: StackMap locals: com.oracle.truffle.js.parser.env.FunctionEnvironment
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isIndirectEval:()Z
ifeq 11
7: new com.oracle.truffle.js.parser.env.GlobalEnvironment
dup
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokespecial com.oracle.truffle.js.parser.env.GlobalEnvironment.<init>:(Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;)V
astore 3
start local 3 8: new com.oracle.truffle.js.parser.env.BlockEnvironment
dup
aload 3
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokespecial com.oracle.truffle.js.parser.env.BlockEnvironment.<init>:(Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;)V
astore 4
start local 4 9: aload 4
aload 1
invokevirtual com.oracle.js.parser.ir.Block.getScope:()Lcom/oracle/js/parser/ir/Scope;
invokevirtual com.oracle.js.parser.ir.Scope.getSymbols:()Ljava/lang/Iterable;
invokevirtual com.oracle.truffle.js.parser.env.BlockEnvironment.addFrameSlotsFromSymbols:(Ljava/lang/Iterable;)V
10: new com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable
dup
aload 0
aload 4
invokespecial com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.<init>:(Lcom/oracle/truffle/js/parser/GraalJSTranslator;Lcom/oracle/truffle/js/parser/env/Environment;)V
areturn
end local 4 end local 3 11: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 12
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isDirectEval:()Z
ifne 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 2 12: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.Block.getScope:()Lcom/oracle/js/parser/ir/Scope;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterBlockEnvironment:(Lcom/oracle/js/parser/ir/Scope;)Lcom/oracle/truffle/js/parser/GraalJSTranslator$EnvironmentCloseable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 13 1 block Lcom/oracle/js/parser/ir/Block;
2 12 2 currentFunction Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
4 6 3 globalEnv Lcom/oracle/truffle/js/parser/env/GlobalEnvironment;
8 11 3 globalEnv Lcom/oracle/truffle/js/parser/env/GlobalEnvironment;
9 11 4 blockEnv Lcom/oracle/truffle/js/parser/env/BlockEnvironment;
MethodParameters:
Name Flags
block
private com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable enterBlockEnvironment(com.oracle.js.parser.ir.Scope);
descriptor: (Lcom/oracle/js/parser/ir/Scope;)Lcom/oracle/truffle/js/parser/GraalJSTranslator$EnvironmentCloseable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnull 9
aload 1
invokevirtual com.oracle.js.parser.ir.Scope.hasDeclarations:()Z
ifeq 9
1: aload 1
invokevirtual com.oracle.js.parser.ir.Scope.isFunctionTopScope:()Z
ifne 2
aload 1
invokevirtual com.oracle.js.parser.ir.Scope.isEvalScope:()Z
ifeq 6
2: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 3
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
instanceof com.oracle.truffle.js.parser.env.FunctionEnvironment
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isCallerContextEval:()Z
istore 2
start local 2 4: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 1
invokevirtual com.oracle.js.parser.ir.Scope.getSymbols:()Ljava/lang/Iterable;
iload 2
invokevirtual com.oracle.truffle.js.parser.env.Environment.addFrameSlotsFromSymbols:(Ljava/lang/Iterable;Z)V
5: new com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable
dup
aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokespecial com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.<init>:(Lcom/oracle/truffle/js/parser/GraalJSTranslator;Lcom/oracle/truffle/js/parser/env/Environment;)V
areturn
end local 2 6: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.parser.env.BlockEnvironment
dup
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokespecial com.oracle.truffle.js.parser.env.BlockEnvironment.<init>:(Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;)V
astore 2
start local 2 7: aload 2
aload 1
invokevirtual com.oracle.js.parser.ir.Scope.getSymbols:()Ljava/lang/Iterable;
invokevirtual com.oracle.truffle.js.parser.env.BlockEnvironment.addFrameSlotsFromSymbols:(Ljava/lang/Iterable;)V
8: new com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable
dup
aload 0
aload 2
invokespecial com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.<init>:(Lcom/oracle/truffle/js/parser/GraalJSTranslator;Lcom/oracle/truffle/js/parser/env/Environment;)V
areturn
end local 2 9: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable
dup
aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokespecial com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.<init>:(Lcom/oracle/truffle/js/parser/GraalJSTranslator;Lcom/oracle/truffle/js/parser/env/Environment;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 10 1 scope Lcom/oracle/js/parser/ir/Scope;
4 6 2 onlyBlockScoped Z
7 9 2 blockEnv Lcom/oracle/truffle/js/parser/env/BlockEnvironment;
MethodParameters:
Name Flags
scope
private static void setupGlobalEnvironment(com.oracle.truffle.js.parser.env.GlobalEnvironment, com.oracle.js.parser.ir.Block);
descriptor: (Lcom/oracle/truffle/js/parser/env/GlobalEnvironment;Lcom/oracle/js/parser/ir/Block;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.Block.getSymbols:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 3
goto 9
StackMap locals: com.oracle.truffle.js.parser.env.GlobalEnvironment com.oracle.js.parser.ir.Block top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.Symbol
astore 2
start local 2 2: aload 2
invokevirtual com.oracle.js.parser.ir.Symbol.isImportBinding:()Z
ifeq 4
3: goto 9
4: StackMap locals: com.oracle.truffle.js.parser.env.GlobalEnvironment com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Symbol java.util.Iterator
StackMap stack:
aload 2
invokevirtual com.oracle.js.parser.ir.Symbol.isBlockScoped:()Z
ifeq 7
5: aload 0
aload 2
invokevirtual com.oracle.js.parser.ir.Symbol.getName:()Ljava/lang/String;
aload 2
invokevirtual com.oracle.js.parser.ir.Symbol.isConst:()Z
invokevirtual com.oracle.truffle.js.parser.env.GlobalEnvironment.addLexicalDeclaration:(Ljava/lang/String;Z)Z
pop
6: goto 9
StackMap locals:
StackMap stack:
7: aload 2
invokevirtual com.oracle.js.parser.ir.Symbol.isGlobal:()Z
ifeq 9
aload 2
invokevirtual com.oracle.js.parser.ir.Symbol.isVar:()Z
ifeq 9
8: aload 0
aload 2
invokevirtual com.oracle.js.parser.ir.Symbol.getName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.parser.env.GlobalEnvironment.addVarDeclaration:(Ljava/lang/String;)Z
pop
end local 2 9: StackMap locals: com.oracle.truffle.js.parser.env.GlobalEnvironment com.oracle.js.parser.ir.Block top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 globalEnv Lcom/oracle/truffle/js/parser/env/GlobalEnvironment;
0 11 1 block Lcom/oracle/js/parser/ir/Block;
2 9 2 symbol Lcom/oracle/js/parser/ir/Symbol;
MethodParameters:
Name Flags
globalEnv
block
private com.oracle.truffle.js.nodes.JavaScriptNode transformStatementInBlock(com.oracle.js.parser.ir.Statement);
descriptor: (Lcom/oracle/js/parser/ir/Statement;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 1 1 statement Lcom/oracle/js/parser/ir/Statement;
MethodParameters:
Name Flags
statement
public com.oracle.truffle.js.nodes.JavaScriptNode enterBlockStatement(com.oracle.js.parser.ir.BlockStatement);
descriptor: (Lcom/oracle/js/parser/ir/BlockStatement;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.BlockStatement.getBlock:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 1 1 blockStatement Lcom/oracle/js/parser/ir/BlockStatement;
MethodParameters:
Name Flags
blockStatement
public com.oracle.truffle.js.nodes.JavaScriptNode enterLiteralNode(com.oracle.js.parser.ir.LiteralNode<?>);
descriptor: (Lcom/oracle/js/parser/ir/LiteralNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode
ifeq 2
1: aload 0
aload 0
aload 1
checkcast com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterLiteralArrayNode:(Lcom/oracle/js/parser/ir/LiteralNode$ArrayLiteralNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterLiteralDefaultNode:(Lcom/oracle/js/parser/ir/LiteralNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 3 1 literalNode Lcom/oracle/js/parser/ir/LiteralNode<*>;
Signature: (Lcom/oracle/js/parser/ir/LiteralNode<*>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
literalNode
private com.oracle.truffle.js.nodes.JavaScriptNode enterLiteralDefaultNode(com.oracle.js.parser.ir.LiteralNode<?>);
descriptor: (Lcom/oracle/js/parser/ir/LiteralNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.LiteralNode.getValue:()Ljava/lang/Object;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantNull:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 2
instanceof java.lang.Long
ifeq 8
4: aload 2
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lstore 3
start local 3 5: lload 3
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isSafeInteger:(J)Z
ifeq 7
6: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
lload 3
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantSafeInteger:(J)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
7: StackMap locals: long
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
lload 3
l2d
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantDouble:(D)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 3 8: StackMap locals:
StackMap stack:
aload 2
instanceof com.oracle.js.parser.Lexer$RegexToken
ifeq 10
9: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
checkcast com.oracle.js.parser.Lexer$RegexToken
invokevirtual com.oracle.js.parser.Lexer$RegexToken.getExpression:()Ljava/lang/String;
aload 2
checkcast com.oracle.js.parser.Lexer$RegexToken
invokevirtual com.oracle.js.parser.Lexer$RegexToken.getOptions:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createRegExpLiteral:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
10: StackMap locals:
StackMap stack:
aload 2
instanceof java.math.BigInteger
ifeq 12
11: aload 2
checkcast java.math.BigInteger
invokestatic com.oracle.truffle.js.runtime.BigInt.fromBigInteger:(Ljava/math/BigInteger;)Lcom/oracle/truffle/js/runtime/BigInt;
astore 2
12: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstant:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 13 1 literalNode Lcom/oracle/js/parser/ir/LiteralNode<*>;
1 13 2 value Ljava/lang/Object;
5 8 3 longValue J
Signature: (Lcom/oracle/js/parser/ir/LiteralNode<*>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
literalNode
private com.oracle.truffle.js.nodes.JavaScriptNode enterLiteralArrayNode(com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode);
descriptor: (Lcom/oracle/js/parser/ir/LiteralNode$ArrayLiteralNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode.getElementExpressions:()Ljava/util/List;
astore 2
start local 2 1: aload 2
invokeinterface java.util.List.size:()I
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.javaScriptNodeArray:(I)[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 14
5: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode java.util.List com.oracle.truffle.js.nodes.JavaScriptNode[] int int
StackMap stack:
aload 2
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.Expression
astore 6
start local 6 6: iload 4
ifne 8
aload 6
ifnull 7
aload 6
getstatic com.oracle.js.parser.TokenType.SPREAD_ARRAY:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.ir.Expression.isTokenType:(Lcom/oracle/js/parser/TokenType;)Z
ifne 8
StackMap locals: com.oracle.js.parser.ir.Expression
StackMap stack:
7: iconst_0
goto 9
StackMap locals:
StackMap stack:
8: iconst_1
StackMap locals:
StackMap stack: int
9: istore 4
10: aload 3
iload 5
aload 6
ifnull 11
aload 0
aload 6
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 12
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode java.util.List com.oracle.truffle.js.nodes.JavaScriptNode[] int int com.oracle.js.parser.ir.Expression
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode[] int
11: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createEmpty:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode java.util.List com.oracle.truffle.js.nodes.JavaScriptNode[] int int com.oracle.js.parser.ir.Expression
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode[] int com.oracle.truffle.js.nodes.JavaScriptNode
12: aastore
end local 6 13: iinc 5 1
StackMap locals:
StackMap stack:
14: iload 5
aload 2
invokeinterface java.util.List.size:()I
if_icmplt 5
end local 5 15: iload 4
ifeq 16
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 3
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createArrayLiteralWithSpread:(Lcom/oracle/truffle/js/runtime/JSContext;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 17
StackMap locals:
StackMap stack:
16: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 3
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createArrayLiteral:(Lcom/oracle/truffle/js/runtime/JSContext;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
17: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 18 1 arrayLiteralNode Lcom/oracle/js/parser/ir/LiteralNode$ArrayLiteralNode;
1 18 2 elementExpressions Ljava/util/List<Lcom/oracle/js/parser/ir/Expression;>;
2 18 3 elements [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3 18 4 hasSpread Z
4 15 5 i I
6 13 6 elementExpression Lcom/oracle/js/parser/ir/Expression;
MethodParameters:
Name Flags
arrayLiteralNode
public com.oracle.truffle.js.nodes.JavaScriptNode enterIdentNode(com.oracle.js.parser.ir.IdentNode);
descriptor: (Lcom/oracle/js/parser/ir/IdentNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual com.oracle.js.parser.ir.IdentNode.isPropertyName:()Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.IdentNode.isThis:()Z
ifeq 4
2: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createThisNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 3: goto 16
end local 2 StackMap locals:
StackMap stack:
4: aload 1
invokevirtual com.oracle.js.parser.ir.IdentNode.isSuper:()Z
ifeq 7
5: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterIdentNodeSuper:(Lcom/oracle/js/parser/ir/IdentNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 6: goto 16
end local 2 StackMap locals:
StackMap stack:
7: aload 1
invokevirtual com.oracle.js.parser.ir.IdentNode.isNewTarget:()Z
ifeq 10
8: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterNewTarget:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 9: goto 16
end local 2 StackMap locals:
StackMap stack:
10: aload 1
invokevirtual com.oracle.js.parser.ir.IdentNode.isImportMeta:()Z
ifeq 13
11: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterImportMeta:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 12: goto 16
end local 2 13: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
astore 3
start local 3 14: aload 0
aload 3
iconst_0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.findScopeVarCheckTDZ:(Ljava/lang/String;Z)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 4
start local 4 15: aload 4
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
end local 4 end local 3 start local 2 16: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 17 1 identNode Lcom/oracle/js/parser/ir/IdentNode;
3 4 2 result Lcom/oracle/truffle/js/nodes/JavaScriptNode;
6 7 2 result Lcom/oracle/truffle/js/nodes/JavaScriptNode;
9 10 2 result Lcom/oracle/truffle/js/nodes/JavaScriptNode;
12 13 2 result Lcom/oracle/truffle/js/nodes/JavaScriptNode;
16 17 2 result Lcom/oracle/truffle/js/nodes/JavaScriptNode;
14 16 3 varName Ljava/lang/String;
15 16 4 varRef Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
MethodParameters:
Name Flags
identNode
private com.oracle.truffle.js.nodes.JavaScriptNode enterNewTarget();
descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findNewTargetVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
private com.oracle.truffle.js.nodes.JavaScriptNode enterIdentNodeSuper(com.oracle.js.parser.ir.IdentNode);
descriptor: (Lcom/oracle/js/parser/ir/IdentNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.IdentNode.isDirectSuper:()Z
ifne 4
1: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findSuperVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createGetPrototype:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 2: aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findThisVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.checkThisBindingInitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 3: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 2
aload 3
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createSuperPropertyReference:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
areturn
end local 3 end local 2 4: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 5
aload 1
invokevirtual com.oracle.js.parser.ir.IdentNode.isDirectSuper:()Z
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getThisFunctionLevel:()I
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAccessCallee:(I)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 6: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createGetPrototype:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 7: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findThisVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 8: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 3
aload 4
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createTargetableWrapper:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 9 1 identNode Lcom/oracle/js/parser/ir/IdentNode;
2 4 2 getSuperBase Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3 4 3 receiver Lcom/oracle/truffle/js/nodes/JavaScriptNode;
6 9 2 activeFunction Lcom/oracle/truffle/js/nodes/JavaScriptNode;
7 9 3 superConstructor Lcom/oracle/truffle/js/nodes/JavaScriptNode;
8 9 4 receiver Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
identNode
private com.oracle.truffle.js.nodes.JavaScriptNode createThisNode();
descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isGlobal:()Z
ifeq 1
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAccessThis:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findThisVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.checkThisBindingInitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
private com.oracle.truffle.js.nodes.JavaScriptNode createThisNodeUnchecked();
descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isGlobal:()Z
ifeq 1
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAccessThis:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findThisVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
private com.oracle.truffle.js.nodes.JavaScriptNode checkThisBindingInitialized(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getNonArrowParentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isDerivedConstructor:()Z
ifeq 2
1: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 1
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDerivedConstructorThis:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
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 Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 3 1 accessThisNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
accessThisNode
private com.oracle.truffle.js.nodes.JavaScriptNode enterImportMeta();
descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.getActiveModule:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createImportMeta:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
private com.oracle.truffle.js.nodes.JavaScriptNode getActiveModule();
descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.inModule:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getOutermostFunctionLevel:()I
iconst_0
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAccessFrameArgument:(II)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
private com.oracle.truffle.js.nodes.JavaScriptNode getActiveScriptOrModule();
descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.inModule:()Z
ifeq 2
1: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.getActiveModule:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
private com.oracle.truffle.js.parser.env.Environment$VarRef findScopeVar(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 1
iload 2
invokevirtual com.oracle.truffle.js.parser.env.Environment.findVar:(Ljava/lang/String;Z)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 1 1 name Ljava/lang/String;
0 1 2 skipWith Z
MethodParameters:
Name Flags
name
skipWith
private com.oracle.truffle.js.parser.env.Environment$VarRef findScopeVarCheckTDZ(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.findScopeVar:(Ljava/lang/String;Z)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 3
start local 3 1: aload 3
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.isFunctionLocal:()Z
ifeq 14
2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentScope:()Lcom/oracle/js/parser/ir/Scope;
aload 3
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.getName:()Ljava/lang/String;
invokevirtual com.oracle.js.parser.ir.Scope.findBlockScopedSymbolInFunction:(Ljava/lang/String;)Lcom/oracle/js/parser/ir/Symbol;
astore 4
start local 4 3: aload 4
ifnonnull 5
4: aload 3
areturn
5: StackMap locals: com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.js.parser.ir.Symbol
StackMap stack:
aload 4
invokevirtual com.oracle.js.parser.ir.Symbol.hasBeenDeclared:()Z
ifeq 7
6: aload 3
areturn
7: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.oracle.js.parser.ir.Symbol.isDeclaredInSwitchBlock:()Z
ifeq 9
8: aload 3
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.withTDZCheck:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
areturn
9: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 10
aload 4
invokevirtual com.oracle.js.parser.ir.Symbol.hasBeenDeclared:()Z
ifeq 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
iload 2
ifeq 13
11: aload 4
invokevirtual com.oracle.js.parser.ir.Symbol.setHasBeenDeclared:()V
12: aload 3
areturn
13: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.parser.GraalJSTranslator$3
dup
aload 0
aload 1
aload 3
invokespecial com.oracle.truffle.js.parser.GraalJSTranslator$3.<init>:(Lcom/oracle/truffle/js/parser/GraalJSTranslator;Ljava/lang/String;Lcom/oracle/truffle/js/parser/env/Environment$VarRef;)V
areturn
end local 4 14: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.withTDZCheck:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 15 1 name Ljava/lang/String;
0 15 2 initializationAssignment Z
1 15 3 varRef Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
3 14 4 symbol Lcom/oracle/js/parser/ir/Symbol;
MethodParameters:
Name Flags
name
initializationAssignment
public com.oracle.truffle.js.nodes.JavaScriptNode enterVarNode(com.oracle.js.parser.ir.VarNode);
descriptor: (Lcom/oracle/js/parser/ir/VarNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.VarNode.getName:()Lcom/oracle/js/parser/ir/IdentNode;
invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
astore 2
start local 2 1: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 4
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isGlobal:()Z
ifeq 2
aload 1
invokevirtual com.oracle.js.parser.ir.VarNode.isBlockScoped:()Z
ifeq 4
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentBlock:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.js.parser.ir.Block.isFunctionBody:()Z
ifne 4
StackMap locals: java.lang.String
StackMap stack:
2: aload 0
aload 2
iconst_1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.findScopeVar:(Ljava/lang/String;Z)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.isGlobal:()Z
ifeq 4
3: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isCallerContextEval:()Z
ifne 4
new java.lang.AssertionError
dup
aload 1
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 5: aload 1
invokevirtual com.oracle.js.parser.ir.VarNode.isBlockScoped:()Z
ifeq 8
6: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentScope:()Lcom/oracle/js/parser/ir/Scope;
aload 2
invokevirtual com.oracle.js.parser.ir.Scope.getExistingSymbol:(Ljava/lang/String;)Lcom/oracle/js/parser/ir/Symbol;
astore 3
7: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 8
aload 3
ifnonnull 8
new java.lang.AssertionError
dup
aload 2
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
8: StackMap locals: com.oracle.js.parser.ir.Symbol
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.VarNode.isAssignment:()Z
ifeq 11
9: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createVarAssignNode:(Lcom/oracle/js/parser/ir/VarNode;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 10: goto 17
end local 4 StackMap locals:
StackMap stack:
11: aload 3
ifnull 16
aload 1
invokevirtual com.oracle.js.parser.ir.VarNode.isDestructuring:()Z
ifeq 12
aload 3
invokevirtual com.oracle.js.parser.ir.Symbol.isDeclaredInSwitchBlock:()Z
ifeq 16
StackMap locals:
StackMap stack:
12: aload 3
invokevirtual com.oracle.js.parser.ir.Symbol.hasBeenDeclared:()Z
ifne 16
13: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 14
aload 1
invokevirtual com.oracle.js.parser.ir.VarNode.isBlockScoped:()Z
ifne 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
aload 0
aload 2
iconst_0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.findScopeVar:(Ljava/lang/String;Z)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantUndefined:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 15: goto 17
end local 4 16: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createEmpty:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 17: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 3
ifnull 20
aload 3
invokevirtual com.oracle.js.parser.ir.Symbol.isDeclaredInSwitchBlock:()Z
ifne 20
aload 1
invokevirtual com.oracle.js.parser.ir.VarNode.isDestructuring:()Z
ifne 20
18: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 19
aload 1
invokevirtual com.oracle.js.parser.ir.VarNode.isBlockScoped:()Z
ifne 19
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
19: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.oracle.js.parser.ir.Symbol.setHasBeenDeclared:()V
20: StackMap locals:
StackMap stack:
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 21 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 21 1 varNode Lcom/oracle/js/parser/ir/VarNode;
1 21 2 varName Ljava/lang/String;
5 21 3 symbol Lcom/oracle/js/parser/ir/Symbol;
10 11 4 assignment Lcom/oracle/truffle/js/nodes/JavaScriptNode;
15 16 4 assignment Lcom/oracle/truffle/js/nodes/JavaScriptNode;
17 21 4 assignment Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
varNode
private com.oracle.truffle.js.nodes.JavaScriptNode createVarAssignNode(com.oracle.js.parser.ir.VarNode, java.lang.String);
descriptor: (Lcom/oracle/js/parser/ir/VarNode;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.VarNode.getAssignmentSource:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 1: aload 0
aload 2
iconst_0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.findScopeVar:(Ljava/lang/String;Z)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
aload 3
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 2: aload 1
invokevirtual com.oracle.js.parser.ir.VarNode.isBlockScoped:()Z
ifeq 10
aload 1
invokevirtual com.oracle.js.parser.ir.VarNode.isFunctionDeclaration:()Z
ifeq 10
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionAnnexB:()Z
ifeq 10
3: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentFunction:()Lcom/oracle/js/parser/ir/FunctionNode;
astore 5
start local 5 4: aload 5
invokevirtual com.oracle.js.parser.ir.FunctionNode.isStrict:()Z
ifne 10
aload 2
ldc "arguments"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
5: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentScope:()Lcom/oracle/js/parser/ir/Scope;
aload 2
invokevirtual com.oracle.js.parser.ir.Scope.getExistingSymbol:(Ljava/lang/String;)Lcom/oracle/js/parser/ir/Symbol;
astore 6
start local 6 6: aload 6
invokevirtual com.oracle.js.parser.ir.Symbol.isHoistedBlockFunctionDeclaration:()Z
ifeq 10
7: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 8
aload 5
invokevirtual com.oracle.js.parser.ir.FunctionNode.getVarDeclarationBlock:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.js.parser.ir.Block.getScope:()Lcom/oracle/js/parser/ir/Scope;
aload 2
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.hasVarSymbol:(Lcom/oracle/js/parser/ir/Scope;Ljava/lang/String;)Z
ifne 8
new java.lang.AssertionError
dup
aload 2
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
8: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.VarNode java.lang.String com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.js.parser.ir.FunctionNode com.oracle.js.parser.ir.Symbol
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 2
iconst_1
iconst_0
iconst_1
iconst_0
invokevirtual com.oracle.truffle.js.parser.env.Environment.findVar:(Ljava/lang/String;ZZZZ)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
iconst_0
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.withRequired:(Z)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
aload 4
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
9: aload 0
aload 4
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
end local 6 end local 5 10: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.VarNode.isClassDeclaration:()Z
ifeq 12
11: aload 0
aload 4
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.discardResult:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
12: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.VarNode.isHoistableDeclaration:()Z
ifne 14
13: aload 0
aload 4
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagStatement:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
14: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.ensureHasSourceSection:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
15: aload 0
aload 4
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.discardResult:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
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 Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 16 1 varNode Lcom/oracle/js/parser/ir/VarNode;
0 16 2 varName Ljava/lang/String;
1 16 3 rhs Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 16 4 assignment Lcom/oracle/truffle/js/nodes/JavaScriptNode;
4 10 5 fn Lcom/oracle/js/parser/ir/FunctionNode;
6 10 6 symbol Lcom/oracle/js/parser/ir/Symbol;
MethodParameters:
Name Flags
varNode
varName
private static boolean hasVarSymbol(com.oracle.js.parser.ir.Scope, java.lang.String);
descriptor: (Lcom/oracle/js/parser/ir/Scope;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.Scope.getExistingSymbol:(Ljava/lang/String;)Lcom/oracle/js/parser/ir/Symbol;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
invokevirtual com.oracle.js.parser.ir.Symbol.isVar:()Z
ifeq 2
aload 2
invokevirtual com.oracle.js.parser.ir.Symbol.isParam:()Z
ifne 2
iconst_1
ireturn
StackMap locals: com.oracle.js.parser.ir.Symbol
StackMap stack:
2: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 scope Lcom/oracle/js/parser/ir/Scope;
0 3 1 varName Ljava/lang/String;
1 3 2 varSymbol Lcom/oracle/js/parser/ir/Symbol;
MethodParameters:
Name Flags
scope
varName
public com.oracle.truffle.js.nodes.JavaScriptNode enterWhileNode(com.oracle.js.parser.ir.WhileNode);
descriptor: (Lcom/oracle/js/parser/ir/WhileNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.WhileNode.getTest:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 1: aload 0
aload 2
aload 1
invokevirtual com.oracle.js.parser.ir.WhileNode.getTest:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagStatement:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
2: aconst_null
astore 3
aconst_null
astore 4
3: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
aconst_null
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.pushContinueTarget:(Ljava/lang/Object;)Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable;
astore 5
start local 5 4: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.WhileNode.getBody:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 6
start local 6 5: aload 0
aload 5
aload 6
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable.wrapContinueTargetNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.wrapClearCompletionValue:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 7
start local 7 6: aload 1
invokevirtual com.oracle.js.parser.ir.WhileNode.isDoWhile:()Z
ifeq 9
7: aload 0
aload 2
aload 7
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createDoWhile:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 8: goto 10
end local 8 9: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.WhileNode com.oracle.truffle.js.nodes.JavaScriptNode java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
aload 2
aload 7
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createWhileDo:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 10: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
aload 5
aload 0
aload 8
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.ensureHasSourceSection:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable.wrapBreakTargetNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.wrapClearAndGetCompletionValue:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
11: aload 5
ifnull 12
aload 5
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable.close:()V
12: StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
areturn
end local 8 end local 7 end local 6 StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.WhileNode com.oracle.truffle.js.nodes.JavaScriptNode java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable
StackMap stack: java.lang.Throwable
13: astore 3
14: aload 5
ifnull 15
aload 5
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable.close:()V
end local 5 StackMap locals:
StackMap stack:
15: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
16: astore 4
aload 3
ifnonnull 17
aload 4
astore 3
goto 18
StackMap locals:
StackMap stack:
17: aload 3
aload 4
if_acmpeq 18
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
18: aload 3
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 19 1 whileNode Lcom/oracle/js/parser/ir/WhileNode;
1 19 2 test Lcom/oracle/truffle/js/nodes/JavaScriptNode;
4 15 5 target Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable<Lcom/oracle/truffle/js/nodes/control/ContinueTarget;>;
5 13 6 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
6 13 7 wrappedBody Lcom/oracle/truffle/js/nodes/JavaScriptNode;
8 9 8 result Lcom/oracle/truffle/js/nodes/JavaScriptNode;
10 13 8 result Lcom/oracle/truffle/js/nodes/JavaScriptNode;
Exception table:
from to target type
4 11 13 any
3 12 16 any
13 16 16 any
MethodParameters:
Name Flags
whileNode
private com.oracle.truffle.js.nodes.JavaScriptNode createDoWhile(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 1
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDoWhile:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 1 1 condition Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 1 2 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
condition
body
private com.oracle.truffle.js.nodes.JavaScriptNode createWhileDo(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 1
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createWhileDo:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 1 1 condition Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 1 2 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
condition
body
private com.oracle.truffle.js.nodes.JavaScriptNode wrapGetCompletionValue(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.returnsLastStatementResult:()Z
ifeq 3
1: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getReturnSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findTempVar:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
iconst_2
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aastore
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createExprBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 3: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 4 1 target Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 3 2 returnVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
MethodParameters:
Name Flags
target
private com.oracle.truffle.js.nodes.JavaScriptNode wrapSetCompletionValue(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.returnsLastStatementResult:()Z
ifeq 3
1: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getReturnSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findTempVar:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 2
start local 2 2: aload 2
aload 1
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 3: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 4 1 statement Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 3 2 returnVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
MethodParameters:
Name Flags
statement
private com.oracle.truffle.js.nodes.JavaScriptNode wrapClearCompletionValue(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.returnsLastStatementResult:()Z
ifeq 3
1: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getReturnSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findTempVar:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
iconst_2
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
dup
iconst_0
aload 2
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantUndefined:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aastore
dup
iconst_1
aload 1
aastore
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createExprBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 3: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 4 1 statement Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 3 2 returnVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
MethodParameters:
Name Flags
statement
private com.oracle.truffle.js.nodes.JavaScriptNode wrapClearAndGetCompletionValue(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.returnsLastStatementResult:()Z
ifeq 3
1: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getReturnSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findTempVar:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
iconst_3
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
dup
iconst_0
aload 2
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantUndefined:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 2
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aastore
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createExprBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 3: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 4 1 statement Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 3 2 returnVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
MethodParameters:
Name Flags
statement
private com.oracle.truffle.js.nodes.JavaScriptNode wrapSaveAndRestoreCompletionValue(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.returnsLastStatementResult:()Z
ifeq 4
1: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getReturnSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findTempVar:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.createTempVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 3
start local 3 3: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
iconst_3
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
dup
iconst_0
aload 3
aload 2
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 2
aload 3
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aastore
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createExprBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 3 end local 2 4: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 5 1 statement Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 4 2 returnVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
3 4 3 tempVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
MethodParameters:
Name Flags
statement
public com.oracle.truffle.js.nodes.JavaScriptNode enterForNode(com.oracle.js.parser.ir.ForNode);
descriptor: (Lcom/oracle/js/parser/ir/ForNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=11, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.getInit:()Lcom/oracle/js/parser/ir/Expression;
ifnull 1
aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.isForInOrOf:()Z
ifne 1
aload 0
aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.getInit:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.getInit:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagStatement:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createEmpty:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
2: astore 2
start local 2 3: aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.getTest:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
ifnull 4
aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.getTest:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
invokevirtual com.oracle.js.parser.ir.JoinPredecessorExpression.getExpression:()Lcom/oracle/js/parser/ir/Expression;
ifnull 4
aload 0
aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.getTest:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.getTest:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagStatement:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 5
4: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
iconst_1
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantBoolean:(Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
5: StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
astore 3
start local 3 6: aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.getModify:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
ifnull 7
aload 0
aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.getModify:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.getModify:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagStatement:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 8
StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
7: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createEmpty:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
8: astore 4
start local 4 9: aconst_null
astore 5
aconst_null
astore 6
10: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
aconst_null
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.pushContinueTarget:(Ljava/lang/Object;)Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable;
astore 7
start local 7 11: aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.isForOf:()Z
ifeq 14
12: aload 0
aload 1
aload 4
aload 7
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.desugarForOf:(Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 13: goto 23
end local 8 StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.ForNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable
StackMap stack:
14: aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.isForIn:()Z
ifeq 17
15: aload 0
aload 1
aload 4
aload 7
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.desugarForIn:(Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 16: goto 23
end local 8 StackMap locals:
StackMap stack:
17: aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.isForAwaitOf:()Z
ifeq 20
18: aload 0
aload 1
aload 4
aload 7
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.desugarForAwaitOf:(Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 19: goto 23
end local 8 20: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.getBody:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 9
start local 9 21: aload 0
aload 7
aload 9
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable.wrapContinueTargetNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.wrapClearCompletionValue:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 10
start local 10 22: aload 7
aload 0
aload 1
aload 2
aload 3
aload 4
aload 10
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.desugarFor:(Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable.wrapBreakTargetNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
end local 10 end local 9 start local 8 23: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
aload 8
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.wrapClearAndGetCompletionValue:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
24: aload 7
ifnull 25
aload 7
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable.close:()V
25: StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
areturn
end local 8 StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.ForNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable
StackMap stack: java.lang.Throwable
26: astore 5
27: aload 7
ifnull 28
aload 7
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable.close:()V
end local 7 StackMap locals:
StackMap stack:
28: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
29: astore 6
aload 5
ifnonnull 30
aload 6
astore 5
goto 31
StackMap locals:
StackMap stack:
30: aload 5
aload 6
if_acmpeq 31
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
31: aload 5
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 32 1 forNode Lcom/oracle/js/parser/ir/ForNode;
3 32 2 init Lcom/oracle/truffle/js/nodes/JavaScriptNode;
6 32 3 test Lcom/oracle/truffle/js/nodes/JavaScriptNode;
9 32 4 modify Lcom/oracle/truffle/js/nodes/JavaScriptNode;
11 28 7 target Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable<Lcom/oracle/truffle/js/nodes/control/ContinueTarget;>;
13 14 8 result Lcom/oracle/truffle/js/nodes/JavaScriptNode;
16 17 8 result Lcom/oracle/truffle/js/nodes/JavaScriptNode;
19 20 8 result Lcom/oracle/truffle/js/nodes/JavaScriptNode;
23 26 8 result Lcom/oracle/truffle/js/nodes/JavaScriptNode;
21 23 9 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
22 23 10 wrappedBody Lcom/oracle/truffle/js/nodes/JavaScriptNode;
Exception table:
from to target type
11 24 26 any
10 25 29 any
26 29 29 any
MethodParameters:
Name Flags
forNode
private com.oracle.truffle.js.nodes.JavaScriptNode desugarFor(com.oracle.js.parser.ir.ForNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.needsPerIterationScope:(Lcom/oracle/js/parser/ir/ForNode;)Z
ifeq 8
1: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.createTempVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 6
start local 6 2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.getBlockFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
astore 7
start local 7 3: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 3
aload 5
aload 4
aload 7
aload 6
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
4: aload 6
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
iconst_0
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantBoolean:(Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
5: invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createFor:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/StatementNode;
astore 8
start local 8 6: aload 0
aload 8
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.ensureHasSourceSection:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
7: aload 0
iconst_3
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 6
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
iconst_1
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantBoolean:(Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aastore
dup
iconst_2
aload 8
aastore
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 8 end local 7 end local 6 8: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 3
aload 0
iconst_2
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
dup
iconst_0
aload 5
aastore
dup
iconst_1
aload 4
aastore
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDesugaredFor:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 6
start local 6 9: aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.getTest:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
ifnonnull 12
10: aload 0
aload 3
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagStatement:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
11: goto 13
12: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
aload 6
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.ensureHasSourceSection:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
13: StackMap locals:
StackMap stack:
aload 0
iconst_2
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 6
aastore
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
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 14 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 14 1 forNode Lcom/oracle/js/parser/ir/ForNode;
0 14 2 init Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 14 3 test Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 14 4 modify Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 14 5 wrappedBody Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 8 6 firstTempVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
3 8 7 iterationBlockFrameDescriptor Lcom/oracle/truffle/api/frame/FrameDescriptor;
6 8 8 newFor Lcom/oracle/truffle/js/nodes/control/StatementNode;
9 14 6 whileDo Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
forNode
init
test
modify
wrappedBody
private com.oracle.truffle.js.nodes.JavaScriptNode desugarForIn(com.oracle.js.parser.ir.ForNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable<com.oracle.truffle.js.nodes.control.ContinueTarget>);
descriptor: (Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.isForEach:()Z
ifeq 3
1: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
iconst_1
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createEnumerate:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 2: goto 6
end local 4 3: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 5
aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.isForIn:()Z
ifeq 4
aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.isForEach:()Z
ifne 4
aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.isForOf:()Z
ifeq 5
StackMap locals:
StackMap stack:
4: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
iconst_0
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createEnumerate:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 6: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
aload 1
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 4
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createGetIterator:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 3
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.desugarForInOrOfBody:(Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
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 Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 7 1 forNode Lcom/oracle/js/parser/ir/ForNode;
0 7 2 modify Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 7 3 jumpTarget Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable<Lcom/oracle/truffle/js/nodes/control/ContinueTarget;>;
2 3 4 createIteratorNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
6 7 4 createIteratorNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
Signature: (Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable<Lcom/oracle/truffle/js/nodes/control/ContinueTarget;>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
forNode
modify
jumpTarget
private com.oracle.truffle.js.nodes.JavaScriptNode desugarForOf(com.oracle.js.parser.ir.ForNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable<com.oracle.truffle.js.nodes.control.ContinueTarget>);
descriptor: (Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.isForOf:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createGetIterator:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 2: aload 0
aload 1
aload 4
aload 3
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.desugarForInOrOfBody:(Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 3 1 forNode Lcom/oracle/js/parser/ir/ForNode;
0 3 2 modify Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 3 3 jumpTarget Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable<Lcom/oracle/truffle/js/nodes/control/ContinueTarget;>;
2 3 4 getIterator Lcom/oracle/truffle/js/nodes/JavaScriptNode;
Signature: (Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable<Lcom/oracle/truffle/js/nodes/control/ContinueTarget;>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
forNode
modify
jumpTarget
private com.oracle.truffle.js.nodes.JavaScriptNode desugarForInOrOfBody(com.oracle.js.parser.ir.ForNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable<com.oracle.truffle.js.nodes.control.ContinueTarget>);
descriptor: (Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=21, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.isForInOrOf:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.createTempVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 4
start local 4 2: aload 4
aload 2
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 5
start local 5 3: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.createTempVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 6
start local 6 4: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 4
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createIteratorNext:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 7
start local 7 5: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
6: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 4
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
iconst_1
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantBoolean:(Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createIteratorSetDone:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
7: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.NOT:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 6
aload 7
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createIteratorComplete:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createUnary:(Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
8: invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDual:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 9: aconst_null
astore 10
aconst_null
astore 11
10: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.needsPerIterationScope:(Lcom/oracle/js/parser/ir/ForNode;)Z
ifeq 11
aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentBlock:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterBlockEnvironment:(Lcom/oracle/js/parser/ir/Block;)Lcom/oracle/truffle/js/parser/GraalJSTranslator$EnvironmentCloseable;
goto 12
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.ForNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode top java.lang.Throwable java.lang.Throwable
StackMap stack:
11: new com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable
dup
aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokespecial com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.<init>:(Lcom/oracle/truffle/js/parser/GraalJSTranslator;Lcom/oracle/truffle/js/parser/env/Environment;)V
StackMap locals:
StackMap stack: com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable
12: astore 12
start local 12 13: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 6
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.getFrameSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findTempVar:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 13
start local 13 14: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.createTempVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 14
start local 14 15: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 4
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.getFrameSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findTempVar:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 15
start local 15 16: aload 13
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 16
start local 16 17: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 16
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createIteratorValue:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 17
start local 17 18: aload 14
aload 17
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 18
start local 18 19: aload 0
aload 0
aload 1
aload 14
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.desugarForHeadAssignment:(Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagStatement:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 19
start local 19 20: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.getBody:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 20
start local 20 21: aload 12
aload 0
iconst_4
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
dup
iconst_0
22: aload 18
aastore
dup
iconst_1
23: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 15
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
iconst_0
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantBoolean:(Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createIteratorSetDone:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aastore
dup
iconst_2
24: aload 19
aastore
dup
iconst_3
25: aload 20
aastore
26: invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.wrapBlockScope:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 9
end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 start local 9 27: aload 12
ifnull 33
aload 12
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.close:()V
goto 33
end local 9 StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.ForNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode top java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable
StackMap stack: java.lang.Throwable
28: astore 10
aload 12
ifnull 29
aload 12
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.close:()V
end local 12 StackMap locals:
StackMap stack:
29: aload 10
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
30: astore 11
aload 10
ifnonnull 31
aload 11
astore 10
goto 32
StackMap locals:
StackMap stack:
31: aload 10
aload 11
if_acmpeq 32
aload 10
aload 11
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
32: aload 10
athrow
start local 9 33: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.ForNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 3
aload 9
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable.wrapContinueTargetNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 9
34: aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.isForOf:()Z
ifeq 35
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 8
aload 9
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDesugaredForOf:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 36
StackMap locals:
StackMap stack:
35: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 8
aload 9
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDesugaredForIn:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
36: astore 10
start local 10 37: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 3
aload 10
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable.wrapBreakTargetNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 4
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createIteratorCloseIfNotDone:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 11
start local 11 38: aload 4
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
getstatic com.oracle.truffle.js.runtime.JSFrameUtil.DEFAULT_VALUE:Ljava/lang/Object;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstant:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 12
start local 12 39: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 11
aload 12
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createTryFinally:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 11
40: aload 0
aload 10
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.ensureHasSourceSection:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
41: aload 0
iconst_2
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
dup
iconst_0
aload 5
aastore
dup
iconst_1
aload 11
aastore
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 12 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 42 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 42 1 forNode Lcom/oracle/js/parser/ir/ForNode;
0 42 2 iterator Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 42 3 jumpTarget Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable<Lcom/oracle/truffle/js/nodes/control/ContinueTarget;>;
2 42 4 iteratorVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
3 42 5 iteratorInit Lcom/oracle/truffle/js/nodes/JavaScriptNode;
4 42 6 nextResultVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
5 42 7 iteratorNext Lcom/oracle/truffle/js/nodes/JavaScriptNode;
9 42 8 condition Lcom/oracle/truffle/js/nodes/JavaScriptNode;
27 28 9 wrappedBody Lcom/oracle/truffle/js/nodes/JavaScriptNode;
33 42 9 wrappedBody Lcom/oracle/truffle/js/nodes/JavaScriptNode;
13 29 12 blockEnv Lcom/oracle/truffle/js/parser/GraalJSTranslator$EnvironmentCloseable;
14 27 13 nextResultVar2 Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
15 27 14 nextValueVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
16 27 15 iteratorVar2 Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
17 27 16 nextResult Lcom/oracle/truffle/js/nodes/JavaScriptNode;
18 27 17 nextValue Lcom/oracle/truffle/js/nodes/JavaScriptNode;
19 27 18 writeNextValue Lcom/oracle/truffle/js/nodes/JavaScriptNode;
20 27 19 writeNext Lcom/oracle/truffle/js/nodes/JavaScriptNode;
21 27 20 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
37 42 10 whileNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
38 42 11 wrappedWhile Lcom/oracle/truffle/js/nodes/JavaScriptNode;
39 42 12 resetIterator Lcom/oracle/truffle/js/nodes/JavaScriptNode;
Exception table:
from to target type
13 27 28 any
10 30 30 any
Signature: (Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable<Lcom/oracle/truffle/js/nodes/control/ContinueTarget;>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
forNode
iterator
jumpTarget
private com.oracle.truffle.js.nodes.JavaScriptNode desugarForHeadAssignment(com.oracle.js.parser.ir.ForNode, com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.hasPerIterationScope:()Z
istore 3
start local 3 1: aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.getInit:()Lcom/oracle/js/parser/ir/Expression;
instanceof com.oracle.js.parser.ir.IdentNode
ifeq 3
iload 3
ifeq 3
2: aload 0
aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.getInit:()Lcom/oracle/js/parser/ir/Expression;
checkcast com.oracle.js.parser.ir.IdentNode
invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
iload 3
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.findScopeVarCheckTDZ:(Ljava/lang/String;Z)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
aload 2
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
3: StackMap locals: int
StackMap stack:
aload 0
aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.getInit:()Lcom/oracle/js/parser/ir/Expression;
aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.getInit:()Lcom/oracle/js/parser/ir/Expression;
aload 2
iload 3
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformAssignment:(Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 4 1 forNode Lcom/oracle/js/parser/ir/ForNode;
0 4 2 next Lcom/oracle/truffle/js/nodes/JavaScriptNode;
1 4 3 lexicalBindingInit Z
MethodParameters:
Name Flags
forNode
next
private com.oracle.truffle.js.nodes.JavaScriptNode desugarForAwaitOf(com.oracle.js.parser.ir.ForNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable<com.oracle.truffle.js.nodes.control.ContinueTarget>);
descriptor: (Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=24, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.isForAwaitOf:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createGetAsyncIterator:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.createTempVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 5
start local 5 3: aload 5
aload 4
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 6
start local 6 4: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.createTempVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 7
start local 7 5: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.addAwait:()V
6: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getAsyncResultSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findTempVar:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode
astore 8
start local 8 7: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getAsyncContextSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findTempVar:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode
astore 9
start local 9 8: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 5
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 9
aload 8
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAsyncIteratorNext:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 10
start local 10 9: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
10: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 5
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
iconst_1
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantBoolean:(Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createIteratorSetDone:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
11: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.NOT:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 7
aload 10
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createIteratorComplete:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createUnary:(Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
12: invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDual:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 11
start local 11 13: aconst_null
astore 13
aconst_null
astore 14
14: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.needsPerIterationScope:(Lcom/oracle/js/parser/ir/ForNode;)Z
ifeq 15
aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentBlock:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterBlockEnvironment:(Lcom/oracle/js/parser/ir/Block;)Lcom/oracle/truffle/js/parser/GraalJSTranslator$EnvironmentCloseable;
goto 16
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.ForNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode top java.lang.Throwable java.lang.Throwable
StackMap stack:
15: new com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable
dup
aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokespecial com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.<init>:(Lcom/oracle/truffle/js/parser/GraalJSTranslator;Lcom/oracle/truffle/js/parser/env/Environment;)V
StackMap locals:
StackMap stack: com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable
16: astore 15
start local 15 17: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 7
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.getFrameSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findTempVar:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 16
start local 16 18: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.createTempVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 17
start local 17 19: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 5
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.getFrameSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findTempVar:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 18
start local 18 20: aload 16
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 19
start local 19 21: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 19
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createIteratorValue:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 20
start local 20 22: aload 17
aload 20
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 21
start local 21 23: aload 0
aload 0
aload 1
aload 17
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.desugarForHeadAssignment:(Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagStatement:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 22
start local 22 24: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.getBody:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 23
start local 23 25: aload 15
aload 0
iconst_4
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
dup
iconst_0
26: aload 21
aastore
dup
iconst_1
27: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 18
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
iconst_0
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantBoolean:(Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createIteratorSetDone:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aastore
dup
iconst_2
28: aload 22
aastore
dup
iconst_3
29: aload 23
aastore
30: invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.wrapBlockScope:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 12
end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 start local 12 31: aload 15
ifnull 37
aload 15
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.close:()V
goto 37
end local 12 StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.ForNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode top java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable
StackMap stack: java.lang.Throwable
32: astore 13
aload 15
ifnull 33
aload 15
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.close:()V
end local 15 StackMap locals:
StackMap stack:
33: aload 13
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
34: astore 14
aload 13
ifnonnull 35
aload 14
astore 13
goto 36
StackMap locals:
StackMap stack:
35: aload 13
aload 14
if_acmpeq 36
aload 13
aload 14
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
36: aload 13
athrow
start local 12 37: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.ForNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 3
aload 12
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable.wrapContinueTargetNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 12
38: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 11
aload 12
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDesugaredForAwaitOf:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 13
start local 13 39: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.addAwait:()V
40: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 3
aload 13
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable.wrapBreakTargetNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 5
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 9
aload 8
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAsyncIteratorCloseWrapper:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 14
start local 14 41: aload 5
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
getstatic com.oracle.truffle.js.runtime.JSFrameUtil.DEFAULT_VALUE:Ljava/lang/Object;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstant:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 15
start local 15 42: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 14
aload 15
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createTryFinally:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 14
43: aload 0
aload 13
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.ensureHasSourceSection:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
44: aload 0
iconst_2
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
dup
iconst_0
aload 6
aastore
dup
iconst_1
aload 14
aastore
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 15 end local 14 end local 13 end local 12 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 45 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 45 1 forNode Lcom/oracle/js/parser/ir/ForNode;
0 45 2 modify Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 45 3 jumpTarget Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable<Lcom/oracle/truffle/js/nodes/control/ContinueTarget;>;
2 45 4 getIterator Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3 45 5 iteratorVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
4 45 6 iteratorInit Lcom/oracle/truffle/js/nodes/JavaScriptNode;
5 45 7 nextResultVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
7 45 8 asyncResultNode Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
8 45 9 asyncContextNode Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
9 45 10 iteratorNext Lcom/oracle/truffle/js/nodes/JavaScriptNode;
13 45 11 condition Lcom/oracle/truffle/js/nodes/JavaScriptNode;
31 32 12 wrappedBody Lcom/oracle/truffle/js/nodes/JavaScriptNode;
37 45 12 wrappedBody Lcom/oracle/truffle/js/nodes/JavaScriptNode;
17 33 15 blockEnv Lcom/oracle/truffle/js/parser/GraalJSTranslator$EnvironmentCloseable;
18 31 16 nextResultVar2 Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
19 31 17 nextValueVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
20 31 18 iteratorVar2 Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
21 31 19 nextResult Lcom/oracle/truffle/js/nodes/JavaScriptNode;
22 31 20 nextValue Lcom/oracle/truffle/js/nodes/JavaScriptNode;
23 31 21 writeNextValue Lcom/oracle/truffle/js/nodes/JavaScriptNode;
24 31 22 writeNext Lcom/oracle/truffle/js/nodes/JavaScriptNode;
25 31 23 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
39 45 13 whileNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
41 45 14 wrappedWhile Lcom/oracle/truffle/js/nodes/JavaScriptNode;
42 45 15 resetIterator Lcom/oracle/truffle/js/nodes/JavaScriptNode;
Exception table:
from to target type
17 31 32 any
14 34 34 any
Signature: (Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable<Lcom/oracle/truffle/js/nodes/control/ContinueTarget;>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
forNode
modify
jumpTarget
private boolean needsPerIterationScope(com.oracle.js.parser.ir.ForNode);
descriptor: (Lcom/oracle/js/parser/ir/ForNode;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.ForNode.hasPerIterationScope:()Z
ifeq 1
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentBlock:()Lcom/oracle/js/parser/ir/Block;
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.hasClosures:(Lcom/oracle/js/parser/ir/Node;)Z
ifeq 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 Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 2 1 forNode Lcom/oracle/js/parser/ir/ForNode;
MethodParameters:
Name Flags
forNode
private static boolean hasClosures(com.oracle.js.parser.ir.Node);
descriptor: (Lcom/oracle/js/parser/ir/Node;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new com.oracle.truffle.js.parser.GraalJSTranslator$1HasClosuresVisitor
dup
new com.oracle.js.parser.ir.LexicalContext
dup
invokespecial com.oracle.js.parser.ir.LexicalContext.<init>:()V
invokespecial com.oracle.truffle.js.parser.GraalJSTranslator$1HasClosuresVisitor.<init>:(Lcom/oracle/js/parser/ir/LexicalContext;)V
astore 1
start local 1 1: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
pop
2: aload 1
getfield com.oracle.truffle.js.parser.GraalJSTranslator$1HasClosuresVisitor.hasClosures:Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 node Lcom/oracle/js/parser/ir/Node;
1 3 1 visitor Lcom/oracle/truffle/js/parser/GraalJSTranslator$1HasClosuresVisitor;
MethodParameters:
Name Flags
node
public com.oracle.truffle.js.nodes.JavaScriptNode enterLabelNode(com.oracle.js.parser.ir.LabelNode);
descriptor: (Lcom/oracle/js/parser/ir/LabelNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
aload 1
invokevirtual com.oracle.js.parser.ir.LabelNode.getLabelName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.pushBreakTarget:(Ljava/lang/Object;)Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable;
astore 4
start local 4 2: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.LabelNode.getBody:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 5
start local 5 3: aload 4
aload 5
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable.wrapLabelBreakTargetNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
4: aload 4
ifnull 5
aload 4
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable.close:()V
5: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.LabelNode java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
areturn
end local 5 StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.LabelNode java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable
StackMap stack: java.lang.Throwable
6: astore 2
7: aload 4
ifnull 8
aload 4
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable.close:()V
end local 4 StackMap locals:
StackMap stack:
8: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 3
aload 2
ifnonnull 10
aload 3
astore 2
goto 11
StackMap locals:
StackMap stack:
10: aload 2
aload 3
if_acmpeq 11
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 12 1 labelNode Lcom/oracle/js/parser/ir/LabelNode;
2 8 4 breakTarget Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable<Lcom/oracle/truffle/js/nodes/control/BreakTarget;>;
3 6 5 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
Exception table:
from to target type
2 4 6 any
1 5 9 any
6 9 9 any
MethodParameters:
Name Flags
labelNode
public com.oracle.truffle.js.nodes.JavaScriptNode enterBreakNode(com.oracle.js.parser.ir.BreakNode);
descriptor: (Lcom/oracle/js/parser/ir/BreakNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
aload 1
invokevirtual com.oracle.js.parser.ir.BreakNode.getLabelName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.findBreakTarget:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/control/BreakTarget;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createBreak:(Lcom/oracle/truffle/js/nodes/control/BreakTarget;)Lcom/oracle/truffle/js/nodes/control/BreakNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagStatement:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 1 1 breakNode Lcom/oracle/js/parser/ir/BreakNode;
MethodParameters:
Name Flags
breakNode
public com.oracle.truffle.js.nodes.JavaScriptNode enterContinueNode(com.oracle.js.parser.ir.ContinueNode);
descriptor: (Lcom/oracle/js/parser/ir/ContinueNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
aload 1
invokevirtual com.oracle.js.parser.ir.ContinueNode.getLabelName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.findContinueTarget:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/control/ContinueTarget;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createContinue:(Lcom/oracle/truffle/js/nodes/control/ContinueTarget;)Lcom/oracle/truffle/js/nodes/control/ContinueNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagStatement:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 1 1 continueNode Lcom/oracle/js/parser/ir/ContinueNode;
MethodParameters:
Name Flags
continueNode
public com.oracle.truffle.js.nodes.JavaScriptNode enterIfNode(com.oracle.js.parser.ir.IfNode);
descriptor: (Lcom/oracle/js/parser/ir/IfNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.IfNode.getTest:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 1: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.IfNode.getPass:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 2: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.IfNode.getFail:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 3: aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 2
aload 3
aload 4
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createIf:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/IfNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagStatement:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 4 1 ifNode Lcom/oracle/js/parser/ir/IfNode;
1 4 2 test Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 4 3 pass Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3 4 4 fail Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
ifNode
public com.oracle.truffle.js.nodes.JavaScriptNode enterTernaryNode(com.oracle.js.parser.ir.TernaryNode);
descriptor: (Lcom/oracle/js/parser/ir/TernaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.TernaryNode.getTest:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 1: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.TernaryNode.getTrueExpression:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 2: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.TernaryNode.getFalseExpression:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 3: aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 2
aload 3
aload 4
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createIf:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/IfNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 4 1 ternaryNode Lcom/oracle/js/parser/ir/TernaryNode;
1 4 2 test Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 4 3 pass Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3 4 4 fail Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
ternaryNode
public com.oracle.truffle.js.nodes.JavaScriptNode enterUnaryNode(com.oracle.js.parser.ir.UnaryNode);
descriptor: (Lcom/oracle/js/parser/ir/UnaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.tokenType:()Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
iaload
lookupswitch { // 17
6: 1
21: 1
22: 3
25: 1
26: 3
58: 1
65: 9
74: 5
93: 4
109: 2
111: 1
114: 8
137: 3
138: 3
139: 6
140: 7
142: 8
default: 10
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterUnaryDefaultNode:(Lcom/oracle/js/parser/ir/UnaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterTypeofNode:(Lcom/oracle/js/parser/ir/UnaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterUnaryIncDecNode:(Lcom/oracle/js/parser/ir/UnaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterNewNode:(Lcom/oracle/js/parser/ir/UnaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterDelete:(Lcom/oracle/js/parser/ir/UnaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createSpreadArgument:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
7: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createSpreadArray:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
8: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createYieldNode:(Lcom/oracle/js/parser/ir/UnaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
9: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.translateAwaitNode:(Lcom/oracle/js/parser/ir/UnaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
10: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.tokenType:()Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.toString:()Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 11 1 unaryNode Lcom/oracle/js/parser/ir/UnaryNode;
MethodParameters:
Name Flags
unaryNode
private com.oracle.truffle.js.nodes.JavaScriptNode translateAwaitNode(com.oracle.js.parser.ir.UnaryNode);
descriptor: (Lcom/oracle/js/parser/ir/UnaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createAwaitNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 2 1 unaryNode Lcom/oracle/js/parser/ir/UnaryNode;
1 2 2 expression Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
unaryNode
private com.oracle.truffle.js.nodes.JavaScriptNode createAwaitNode(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.addAwait:()V
2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getAsyncContextSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findTempVar:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode
astore 3
start local 3 3: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getAsyncResultSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findTempVar:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode
astore 4
start local 4 4: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 1
aload 3
aload 4
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAwait:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 5 1 expression Lcom/oracle/truffle/js/nodes/JavaScriptNode;
1 5 2 currentFunction Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
3 5 3 asyncContextNode Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
4 5 4 asyncResultNode Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
MethodParameters:
Name Flags
expression
private com.oracle.truffle.js.nodes.JavaScriptNode createYieldNode(com.oracle.js.parser.ir.UnaryNode);
descriptor: (Lcom/oracle/js/parser/ir/UnaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=10, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
astore 2
start local 2 1: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 2
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isGeneratorFunction:()Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: com.oracle.truffle.js.parser.env.FunctionEnvironment
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentFunction:()Lcom/oracle/js/parser/ir/FunctionNode;
invokevirtual com.oracle.js.parser.ir.FunctionNode.isModule:()Z
ifeq 5
3: aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.addYield:()V
4: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createModuleYield:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isAsyncFunction:()Z
istore 3
start local 3 6: aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.tokenType:()Lcom/oracle/js/parser/TokenType;
getstatic com.oracle.js.parser.TokenType.YIELD_STAR:Lcom/oracle/js/parser/TokenType;
if_acmpne 7
iconst_1
goto 8
StackMap locals: int
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 4
start local 4 9: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 5
start local 5 10: aload 0
aconst_null
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createReturnNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/ReturnNode;
astore 6
start local 6 11: iload 3
ifeq 19
12: aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.addAwait:()V
13: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getAsyncContextSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findTempVar:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode
astore 7
start local 7 14: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getAsyncResultSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findTempVar:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode
astore 8
start local 8 15: iload 4
ifeq 18
16: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.createTempVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 9
start local 9 17: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 5
aload 7
aload 8
aload 6
aload 9
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 9
aconst_null
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.WriteNode
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAsyncGeneratorYieldStar:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/control/ReturnNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/WriteNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 9 18: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.UnaryNode com.oracle.truffle.js.parser.env.FunctionEnvironment int int com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.control.ReturnNode com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 5
aload 7
aload 8
aload 6
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAsyncGeneratorYield:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/control/ReturnNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 8 end local 7 19: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.addYield:()V
20: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getYieldResultSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findTempVar:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
aconst_null
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode
astore 7
start local 7 21: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 5
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findYieldValueVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
iload 4
aload 6
aload 7
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createYield:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZLcom/oracle/truffle/js/nodes/control/ReturnNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
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 22 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 22 1 unaryNode Lcom/oracle/js/parser/ir/UnaryNode;
1 22 2 currentFunction Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
6 22 3 asyncGeneratorYield Z
9 22 4 yieldStar Z
10 22 5 expression Lcom/oracle/truffle/js/nodes/JavaScriptNode;
11 22 6 returnNode Lcom/oracle/truffle/js/nodes/control/ReturnNode;
14 19 7 asyncContextNode Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
15 19 8 asyncResultNode Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
17 18 9 tempVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
21 22 7 writeYieldResultNode Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
MethodParameters:
Name Flags
unaryNode
private com.oracle.truffle.js.nodes.JavaScriptNode enterUnaryDefaultNode(com.oracle.js.parser.ir.UnaryNode);
descriptor: (Lcom/oracle/js/parser/ir/UnaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.tokenType:()Lcom/oracle/js/parser/TokenType;
getstatic com.oracle.js.parser.TokenType.TYPEOF:Lcom/oracle/js/parser/TokenType;
if_acmpne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 2: aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.tokenType:()Lcom/oracle/js/parser/TokenType;
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.tokenTypeToUnaryOperation:(Lcom/oracle/js/parser/TokenType;)Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createUnary:(Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 3 1 unaryNode Lcom/oracle/js/parser/ir/UnaryNode;
2 3 2 operand Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
unaryNode
private com.oracle.truffle.js.nodes.JavaScriptNode enterTypeofNode(com.oracle.js.parser.ir.UnaryNode);
descriptor: (Lcom/oracle/js/parser/ir/UnaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.tokenType:()Lcom/oracle/js/parser/TokenType;
getstatic com.oracle.js.parser.TokenType.TYPEOF:Lcom/oracle/js/parser/TokenType;
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 2: aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
instanceof com.oracle.js.parser.ir.IdentNode
ifeq 10
3: aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
checkcast com.oracle.js.parser.ir.IdentNode
astore 3
start local 3 4: aload 3
invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
astore 4
start local 4 5: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionNashornCompatibilityMode:()Z
ifeq 8
aload 4
ldc "__LINE__"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
aload 4
ldc "__FILE__"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
aload 4
ldc "__DIR__"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.js.parser.ir.IdentNode java.lang.String
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 4
invokestatic com.oracle.truffle.js.nodes.access.GlobalPropertyNode.createPropertyNode:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
astore 2
7: goto 10
StackMap locals:
StackMap stack:
8: aload 3
invokevirtual com.oracle.js.parser.ir.IdentNode.isThis:()Z
ifne 10
aload 3
invokevirtual com.oracle.js.parser.ir.IdentNode.isMetaProperty:()Z
ifne 10
9: aload 0
aload 4
iconst_0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.findScopeVarCheckTDZ:(Ljava/lang/String;Z)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
iconst_0
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.withRequired:(Z)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
end local 4 end local 3 10: StackMap locals:
StackMap stack:
aload 2
ifnonnull 13
11: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
12: goto 14
13: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
14: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.tokenType:()Lcom/oracle/js/parser/TokenType;
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.tokenTypeToUnaryOperation:(Lcom/oracle/js/parser/TokenType;)Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createUnary:(Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 15 1 unaryNode Lcom/oracle/js/parser/ir/UnaryNode;
2 15 2 operand Lcom/oracle/truffle/js/nodes/JavaScriptNode;
4 10 3 identNode Lcom/oracle/js/parser/ir/IdentNode;
5 10 4 identNodeName Ljava/lang/String;
MethodParameters:
Name Flags
unaryNode
private com.oracle.truffle.js.nodes.JavaScriptNode enterUnaryIncDecNode(com.oracle.js.parser.ir.UnaryNode);
descriptor: (Lcom/oracle/js/parser/ir/UnaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
instanceof com.oracle.js.parser.ir.IdentNode
ifeq 15
1: aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
checkcast com.oracle.js.parser.ir.IdentNode
astore 2
start local 2 2: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 4
aload 2
invokevirtual com.oracle.js.parser.ir.IdentNode.isPropertyName:()Z
ifne 3
aload 2
invokevirtual com.oracle.js.parser.ir.IdentNode.isThis:()Z
ifne 3
aload 2
invokevirtual com.oracle.js.parser.ir.IdentNode.isMetaProperty:()Z
ifne 3
aload 2
invokevirtual com.oracle.js.parser.ir.IdentNode.isSuper:()Z
ifeq 4
StackMap locals: com.oracle.js.parser.ir.IdentNode
StackMap stack:
3: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
iconst_0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.findScopeVarCheckTDZ:(Ljava/lang/String;Z)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 3
start local 3 5: aload 3
instanceof com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef
ifeq 15
6: aload 3
checkcast com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef
astore 4
start local 4 7: aload 4
invokevirtual com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.getFrameSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
astore 5
start local 5 8: aload 5
invokestatic com.oracle.truffle.js.runtime.JSFrameUtil.isConst:(Lcom/oracle/truffle/api/frame/FrameSlot;)Z
ifeq 10
9: aload 0
aload 0
aload 4
invokevirtual com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 5
invokevirtual com.oracle.truffle.api.frame.FrameSlot.getIdentifier:()Ljava/lang/Object;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.checkMutableBinding:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
10: StackMap locals: com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef com.oracle.truffle.api.frame.FrameSlot
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.tokenType:()Lcom/oracle/js/parser/TokenType;
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.tokenTypeToUnaryOperation:(Lcom/oracle/js/parser/TokenType;)Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
aload 5
aload 4
invokevirtual com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.hasTDZCheck:()Z
11: aload 4
invokevirtual com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.createScopeFrameNode:()Lcom/oracle/truffle/js/nodes/access/ScopeFrameNode;
aload 4
invokevirtual com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
12: invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createLocalVarInc:(Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;Lcom/oracle/truffle/api/frame/FrameSlot;ZLcom/oracle/truffle/js/nodes/access/ScopeFrameNode;Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
13: aload 1
14: invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 5 end local 4 end local 3 end local 2 15: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.UnaryNode
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.tokenType:()Lcom/oracle/js/parser/TokenType;
getstatic com.oracle.js.parser.TokenType.INCPREFIX:Lcom/oracle/js/parser/TokenType;
if_acmpeq 16
aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.tokenType:()Lcom/oracle/js/parser/TokenType;
getstatic com.oracle.js.parser.TokenType.INCPOSTFIX:Lcom/oracle/js/parser/TokenType;
if_acmpne 17
StackMap locals:
StackMap stack:
16: getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ADD:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
goto 18
StackMap locals:
StackMap stack:
17: getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.SUBTRACT:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation
18: astore 2
start local 2 19: aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.tokenType:()Lcom/oracle/js/parser/TokenType;
getstatic com.oracle.js.parser.TokenType.INCPOSTFIX:Lcom/oracle/js/parser/TokenType;
if_acmpeq 20
aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.tokenType:()Lcom/oracle/js/parser/TokenType;
getstatic com.oracle.js.parser.TokenType.DECPOSTFIX:Lcom/oracle/js/parser/TokenType;
if_acmpeq 20
iconst_0
goto 21
StackMap locals: com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation
StackMap stack:
20: iconst_1
StackMap locals:
StackMap stack: int
21: istore 3
start local 3 22: aload 0
aload 0
aload 1
aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantNumericUnit:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 2
iload 3
iconst_1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformCompoundAssignment:(Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;ZZ)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 23 1 unaryNode Lcom/oracle/js/parser/ir/UnaryNode;
2 15 2 identNode Lcom/oracle/js/parser/ir/IdentNode;
5 15 3 varRef Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
7 15 4 frameVarRef Lcom/oracle/truffle/js/parser/env/Environment$FrameSlotVarRef;
8 15 5 frameSlot Lcom/oracle/truffle/api/frame/FrameSlot;
19 23 2 operation Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
22 23 3 isPostfix Z
MethodParameters:
Name Flags
unaryNode
private static com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation tokenTypeToUnaryOperation(com.oracle.js.parser.TokenType);
descriptor: (Lcom/oracle/js/parser/TokenType;)Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
aload 0
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
iaload
lookupswitch { // 12
6: 3
21: 1
22: 9
25: 4
26: 7
58: 2
74: 11
93: 11
109: 5
111: 6
137: 8
138: 10
default: 11
}
1: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.PLUS:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
areturn
2: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.BITWISE_COMPLEMENT:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
areturn
3: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.NOT:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
areturn
4: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.MINUS:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
areturn
5: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.TYPE_OF:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
areturn
6: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.VOID:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
areturn
7: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.PREFIX_LOCAL_DECREMENT:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
areturn
8: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.POSTFIX_LOCAL_DECREMENT:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
areturn
9: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.PREFIX_LOCAL_INCREMENT:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
areturn
10: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.POSTFIX_LOCAL_INCREMENT:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
areturn
11: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
aload 0
invokevirtual com.oracle.js.parser.TokenType.toString:()Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 tokenType Lcom/oracle/js/parser/TokenType;
MethodParameters:
Name Flags
tokenType
private com.oracle.truffle.js.nodes.JavaScriptNode enterDelete(com.oracle.js.parser.ir.UnaryNode);
descriptor: (Lcom/oracle/js/parser/ir/UnaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
astore 2
start local 2 1: aload 2
instanceof com.oracle.js.parser.ir.AccessNode
ifne 2
aload 2
instanceof com.oracle.js.parser.ir.IndexNode
ifeq 3
2: StackMap locals: com.oracle.js.parser.ir.Expression
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterDeleteProperty:(Lcom/oracle/js/parser/ir/UnaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterDeleteIdent:(Lcom/oracle/js/parser/ir/UnaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 4 1 unaryNode Lcom/oracle/js/parser/ir/UnaryNode;
1 4 2 rhs Lcom/oracle/js/parser/ir/Expression;
MethodParameters:
Name Flags
unaryNode
private com.oracle.truffle.js.nodes.JavaScriptNode enterDeleteIdent(com.oracle.js.parser.ir.UnaryNode);
descriptor: (Lcom/oracle/js/parser/ir/UnaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
astore 2
start local 2 1: aload 2
instanceof com.oracle.js.parser.ir.IdentNode
ifeq 6
2: aload 2
checkcast com.oracle.js.parser.ir.IdentNode
invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
astore 4
start local 4 3: aload 0
aload 4
aload 4
ldc "this"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.findScopeVar:(Ljava/lang/String;Z)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 5
start local 5 4: aload 5
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createDeleteNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
end local 5 end local 4 start local 3 5: goto 7
end local 3 6: StackMap locals: com.oracle.js.parser.ir.Expression
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
iconst_1
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantBoolean:(Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDual:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 7: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
aload 3
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 8 1 unaryNode Lcom/oracle/js/parser/ir/UnaryNode;
1 8 2 rhs Lcom/oracle/js/parser/ir/Expression;
5 6 3 result Lcom/oracle/truffle/js/nodes/JavaScriptNode;
7 8 3 result Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3 5 4 varName Ljava/lang/String;
4 5 5 varRef Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
MethodParameters:
Name Flags
unaryNode
private com.oracle.truffle.js.nodes.JavaScriptNode enterDeleteProperty(com.oracle.js.parser.ir.UnaryNode);
descriptor: (Lcom/oracle/js/parser/ir/UnaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
checkcast com.oracle.js.parser.ir.BaseNode
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.js.parser.ir.BaseNode.isSuper:()Z
ifeq 3
2: aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
getstatic com.oracle.truffle.js.runtime.JSErrorType.ReferenceError:Lcom/oracle/truffle/js/runtime/JSErrorType;
ldc "Unsupported reference to 'super'"
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createThrowError:(Lcom/oracle/truffle/js/runtime/JSErrorType;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
3: StackMap locals: com.oracle.js.parser.ir.BaseNode
StackMap stack:
aload 0
aload 2
invokevirtual com.oracle.js.parser.ir.BaseNode.getBase:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 4: aload 2
instanceof com.oracle.js.parser.ir.AccessNode
ifeq 9
5: aload 2
checkcast com.oracle.js.parser.ir.AccessNode
astore 5
start local 5 6: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 7
aload 5
invokevirtual com.oracle.js.parser.ir.AccessNode.isPrivate:()Z
ifeq 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.UnaryNode com.oracle.js.parser.ir.BaseNode com.oracle.truffle.js.nodes.JavaScriptNode top com.oracle.js.parser.ir.AccessNode
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 5
invokevirtual com.oracle.js.parser.ir.AccessNode.getProperty:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantString:(Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
end local 5 start local 4 8: goto 12
end local 4 9: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.UnaryNode com.oracle.js.parser.ir.BaseNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 10
aload 2
instanceof com.oracle.js.parser.ir.IndexNode
ifne 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 2
checkcast com.oracle.js.parser.ir.IndexNode
astore 5
start local 5 11: aload 0
aload 5
invokevirtual com.oracle.js.parser.ir.IndexNode.getIndex:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
end local 5 start local 4 12: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 2
invokevirtual com.oracle.js.parser.ir.BaseNode.isOptionalChain:()Z
ifeq 14
13: aload 0
aload 3
aload 2
invokevirtual com.oracle.js.parser.ir.BaseNode.isOptional:()Z
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.filterOptionalChainTarget:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
14: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 3
aload 4
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.isStrictMode:()Z
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDeleteProperty:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZLcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
astore 5
start local 5 15: aload 0
aload 5
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
16: aload 2
invokevirtual com.oracle.js.parser.ir.BaseNode.isOptionalChain:()Z
ifeq 18
17: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 5
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createOptionalChain:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 5
18: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 5
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 19 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 19 1 deleteNode Lcom/oracle/js/parser/ir/UnaryNode;
1 19 2 baseNode Lcom/oracle/js/parser/ir/BaseNode;
4 19 3 target Lcom/oracle/truffle/js/nodes/JavaScriptNode;
8 9 4 key Lcom/oracle/truffle/js/nodes/JavaScriptNode;
12 19 4 key Lcom/oracle/truffle/js/nodes/JavaScriptNode;
6 8 5 accessNode Lcom/oracle/js/parser/ir/AccessNode;
11 12 5 indexNode Lcom/oracle/js/parser/ir/IndexNode;
15 19 5 delete Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
deleteNode
private com.oracle.truffle.js.nodes.JavaScriptNode filterOptionalChainTarget(com.oracle.truffle.js.nodes.JavaScriptNode, boolean);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof com.oracle.truffle.js.nodes.access.OptionalChainNode
ifeq 3
1: aload 1
checkcast com.oracle.truffle.js.nodes.access.OptionalChainNode
invokevirtual com.oracle.truffle.js.nodes.access.OptionalChainNode.getAccessNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 2: goto 7
end local 3 StackMap locals:
StackMap stack:
3: aload 1
instanceof com.oracle.truffle.js.nodes.access.OptionalChainNode$OptionalTargetableNode
ifeq 6
4: aload 1
checkcast com.oracle.truffle.js.nodes.access.OptionalChainNode$OptionalTargetableNode
invokevirtual com.oracle.truffle.js.nodes.access.OptionalChainNode$OptionalTargetableNode.getDelegateNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 5: goto 7
end local 3 6: StackMap locals:
StackMap stack:
aload 1
astore 3
start local 3 7: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
iload 2
ifeq 9
8: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 3
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createOptionalChainShortCircuit:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
9: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 10 1 target Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 10 2 optional Z
2 3 3 innerAccess Lcom/oracle/truffle/js/nodes/JavaScriptNode;
5 6 3 innerAccess Lcom/oracle/truffle/js/nodes/JavaScriptNode;
7 10 3 innerAccess Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
target
optional
private com.oracle.truffle.js.nodes.JavaScriptNode[] transformArgs(java.util.List<com.oracle.js.parser.ir.Expression>);
descriptor: (Ljava/util/List;)[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.List.size:()I
istore 2
start local 2 1: iload 2
i2l
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getFunctionArgumentsLimit:()J
lcmp
ifle 3
2: ldc "function has too many parameters"
invokestatic com.oracle.truffle.js.runtime.Errors.createSyntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
3: StackMap locals: int
StackMap stack:
iload 2
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.javaScriptNodeArray:(I)[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 8
6: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode[] int
StackMap stack:
aload 3
iload 4
aload 0
aload 1
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.Node
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aastore
7: iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iload 2
if_icmplt 6
end local 4 9: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 10 1 argList Ljava/util/List<Lcom/oracle/js/parser/ir/Expression;>;
1 10 2 len I
4 10 3 args [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
5 9 4 i I
Signature: (Ljava/util/List<Lcom/oracle/js/parser/ir/Expression;>;)[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
argList
private com.oracle.truffle.js.nodes.JavaScriptNode enterNewNode(com.oracle.js.parser.ir.UnaryNode);
descriptor: (Lcom/oracle/js/parser/ir/UnaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
checkcast com.oracle.js.parser.ir.CallNode
astore 2
start local 2 1: aload 0
aload 2
invokevirtual com.oracle.js.parser.ir.CallNode.getFunction:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 2: aload 0
aload 2
invokevirtual com.oracle.js.parser.ir.CallNode.getArgs:()Ljava/util/List;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformArgs:(Ljava/util/List;)[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 3: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 3
aload 4
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createNew:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 5
start local 5 4: aload 0
aload 5
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.tagCall:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
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 5 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 5 1 unaryNode Lcom/oracle/js/parser/ir/UnaryNode;
1 5 2 callNode Lcom/oracle/js/parser/ir/CallNode;
2 5 3 function Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3 5 4 args [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
4 5 5 call Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
unaryNode
public com.oracle.truffle.js.nodes.JavaScriptNode enterCallNode(com.oracle.js.parser.ir.CallNode);
descriptor: (Lcom/oracle/js/parser/ir/CallNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.CallNode.getFunction:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 1: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.CallNode.getArgs:()Ljava/util/List;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformArgs:(Ljava/util/List;)[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 2: aload 1
invokevirtual com.oracle.js.parser.ir.CallNode.isOptionalChain:()Z
ifeq 4
3: aload 0
aload 2
aload 1
invokevirtual com.oracle.js.parser.ir.CallNode.isOptional:()Z
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.filterOptionalChainTarget:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
4: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode[]
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.CallNode.isEval:()Z
ifeq 7
aload 3
arraylength
iconst_1
if_icmplt 7
5: aload 0
aload 2
aload 3
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createCallEvalNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 6: goto 17
end local 4 StackMap locals:
StackMap stack:
7: aload 1
invokevirtual com.oracle.js.parser.ir.CallNode.isApplyArguments:()Z
ifeq 10
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isDirectArgumentsAccess:()Z
ifeq 10
8: aload 0
aload 2
aload 3
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createCallApplyArgumentsNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 9: goto 17
end local 4 StackMap locals:
StackMap stack:
10: aload 1
invokevirtual com.oracle.js.parser.ir.CallNode.getFunction:()Lcom/oracle/js/parser/ir/Expression;
instanceof com.oracle.js.parser.ir.IdentNode
ifeq 13
aload 1
invokevirtual com.oracle.js.parser.ir.CallNode.getFunction:()Lcom/oracle/js/parser/ir/Expression;
checkcast com.oracle.js.parser.ir.IdentNode
invokevirtual com.oracle.js.parser.ir.IdentNode.isDirectSuper:()Z
ifeq 13
11: aload 0
aload 2
aload 3
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createCallDirectSuper:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 12: goto 17
end local 4 StackMap locals:
StackMap stack:
13: aload 1
invokevirtual com.oracle.js.parser.ir.CallNode.isImport:()Z
ifeq 16
14: aload 0
aload 3
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createImportCallNode:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 15: goto 17
end local 4 16: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
aload 3
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createFunctionCall:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 17: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
aload 4
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.tagCall:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
18: aload 1
invokevirtual com.oracle.js.parser.ir.CallNode.isOptionalChain:()Z
ifeq 20
19: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 4
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createOptionalChain:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
20: StackMap locals:
StackMap stack:
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 21 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 21 1 callNode Lcom/oracle/js/parser/ir/CallNode;
1 21 2 function Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 21 3 args [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
6 7 4 call Lcom/oracle/truffle/js/nodes/JavaScriptNode;
9 10 4 call Lcom/oracle/truffle/js/nodes/JavaScriptNode;
12 13 4 call Lcom/oracle/truffle/js/nodes/JavaScriptNode;
15 16 4 call Lcom/oracle/truffle/js/nodes/JavaScriptNode;
17 21 4 call Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
callNode
private com.oracle.truffle.js.nodes.JavaScriptNode[] insertNewTargetArg(com.oracle.truffle.js.nodes.JavaScriptNode[]);
descriptor: ([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
arraylength
iconst_1
iadd
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
astore 2
start local 2 1: aload 2
iconst_0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findNewTargetVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aastore
2: aload 1
iconst_0
aload 2
iconst_1
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 4 1 args [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
1 4 2 result [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
args
private com.oracle.truffle.js.nodes.JavaScriptNode initializeThis(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findThisVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.createTempVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 3
start local 3 2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.IDENTICAL:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
aload 2
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantUndefined:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createBinary:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 3: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 3
aload 1
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 4
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDual:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
4: aload 0
aload 2
aload 3
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.initializeInstanceElements:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
5: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
getstatic com.oracle.truffle.js.runtime.JSErrorType.ReferenceError:Lcom/oracle/truffle/js/runtime/JSErrorType;
ldc "super() called twice"
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createThrowError:(Lcom/oracle/truffle/js/runtime/JSErrorType;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
6: invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createIf:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/IfNode;
areturn
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 Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 7 1 thisValueNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
1 7 2 thisVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
2 7 3 tempVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
3 7 4 uninitialized Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
thisValueNode
private com.oracle.truffle.js.nodes.JavaScriptNode initializeInstanceElements(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentClass:()Lcom/oracle/js/parser/ir/ClassNode;
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.js.parser.ir.ClassNode.hasInstanceFields:()Z
ifne 3
aload 2
invokevirtual com.oracle.js.parser.ir.ClassNode.hasPrivateInstanceMethods:()Z
ifne 3
2: aload 1
areturn
3: StackMap locals: com.oracle.js.parser.ir.ClassNode
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getThisFunctionLevel:()I
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAccessCallee:(I)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 4: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 1
aload 3
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createInitializeInstanceElements:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 5 1 thisValueNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
1 5 2 classNode Lcom/oracle/js/parser/ir/ClassNode;
4 5 3 constructor Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
thisValueNode
private com.oracle.truffle.js.nodes.JavaScriptNode createCallEvalNode(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode[]);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isGlobal:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isStrictMode:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isDirectEval:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.isDynamicallyScoped:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
astore 3
start local 3 2: goto 5
3: StackMap locals: com.oracle.truffle.js.parser.env.FunctionEnvironment
StackMap stack:
aload 3
iconst_1
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.setNeedsParentFrame:(Z)V
4: aload 3
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getParentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
astore 3
StackMap locals:
StackMap stack:
5: aload 3
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getParentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
ifnonnull 3
end local 3 6: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 1
aload 2
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createThisNodeUnchecked:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
new com.oracle.truffle.js.parser.DirectEvalContext
dup
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentScope:()Lcom/oracle/js/parser/ir/Scope;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentClass:()Lcom/oracle/js/parser/ir/ClassNode;
invokespecial com.oracle.truffle.js.parser.DirectEvalContext.<init>:(Lcom/oracle/js/parser/ir/Scope;Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/js/parser/ir/ClassNode;)V
invokestatic com.oracle.truffle.js.nodes.function.EvalNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/function/EvalNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 7 1 function Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 7 2 args [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 6 3 func Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
MethodParameters:
Name Flags
function
args
private com.oracle.truffle.js.nodes.JavaScriptNode createCallApplyArgumentsNode(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode[]);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 1
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createFunctionCall:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.function.JSFunctionCallNode
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createCallApplyArguments:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 1 1 function Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 1 2 args [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
function
args
private com.oracle.truffle.js.nodes.JavaScriptNode createCallDirectSuper(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode[]);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
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 com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 1
aload 0
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.insertNewTargetArg:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createFunctionCallWithNewTarget:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.initializeThis:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 1 1 function Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 1 2 args [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
function
args
private com.oracle.truffle.js.nodes.JavaScriptNode createImportCallNode(com.oracle.truffle.js.nodes.JavaScriptNode[]);
descriptor: ([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 1
aload 1
arraylength
iconst_1
if_icmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 1
iconst_0
aaload
aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.getActiveScriptOrModule:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createImportCall:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 2 1 args [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
args
public com.oracle.truffle.js.nodes.JavaScriptNode enterBinaryNode(com.oracle.js.parser.ir.BinaryNode);
descriptor: (Lcom/oracle/js/parser/ir/BinaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
aload 1
invokevirtual com.oracle.js.parser.ir.BinaryNode.tokenType:()Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
iaload
lookupswitch { // 45
7: 3
8: 3
9: 3
10: 2
11: 3
12: 3
13: 2
14: 2
17: 3
18: 2
19: 3
20: 2
21: 3
23: 2
24: 3
25: 3
27: 2
29: 3
30: 2
33: 3
34: 3
35: 2
36: 3
37: 1
38: 3
39: 3
40: 4
41: 3
42: 3
43: 3
44: 2
45: 3
46: 2
50: 3
51: 2
53: 3
54: 2
55: 3
56: 2
60: 3
61: 2
89: 3
90: 3
136: 4
143: 1
default: 4
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterBinaryAssignNode:(Lcom/oracle/js/parser/ir/BinaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterBinaryTransformNode:(Lcom/oracle/js/parser/ir/BinaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterBinaryExpressionNode:(Lcom/oracle/js/parser/ir/BinaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
4: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
aload 1
invokevirtual com.oracle.js.parser.ir.BinaryNode.tokenType:()Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.toString:()Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 5 1 binaryNode Lcom/oracle/js/parser/ir/BinaryNode;
MethodParameters:
Name Flags
binaryNode
private com.oracle.truffle.js.nodes.JavaScriptNode enterBinaryExpressionNode(com.oracle.js.parser.ir.BinaryNode);
descriptor: (Lcom/oracle/js/parser/ir/BinaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.BinaryNode.getLhs:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 1: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.BinaryNode.getRhs:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 2: aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 1
invokevirtual com.oracle.js.parser.ir.BinaryNode.tokenType:()Lcom/oracle/js/parser/TokenType;
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.tokenTypeToBinaryOperation:(Lcom/oracle/js/parser/TokenType;)Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
aload 2
aload 3
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createBinary:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 3 1 binaryNode Lcom/oracle/js/parser/ir/BinaryNode;
1 3 2 lhs Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 3 3 rhs Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
binaryNode
private com.oracle.truffle.js.nodes.JavaScriptNode enterBinaryTransformNode(com.oracle.js.parser.ir.BinaryNode);
descriptor: (Lcom/oracle/js/parser/ir/BinaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.BinaryNode.getAssignmentSource:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 1: aload 0
aload 0
aload 1
aload 1
invokevirtual com.oracle.js.parser.ir.BinaryNode.getAssignmentDest:()Lcom/oracle/js/parser/ir/Expression;
aload 2
aload 1
invokevirtual com.oracle.js.parser.ir.BinaryNode.tokenType:()Lcom/oracle/js/parser/TokenType;
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.tokenTypeToBinaryOperation:(Lcom/oracle/js/parser/TokenType;)Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
iconst_0
iconst_0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformCompoundAssignment:(Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;ZZ)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 2 1 binaryNode Lcom/oracle/js/parser/ir/BinaryNode;
1 2 2 assignedValue Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
binaryNode
private com.oracle.truffle.js.nodes.JavaScriptNode enterBinaryAssignNode(com.oracle.js.parser.ir.BinaryNode);
descriptor: (Lcom/oracle/js/parser/ir/BinaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.BinaryNode.getAssignmentDest:()Lcom/oracle/js/parser/ir/Expression;
astore 2
start local 2 1: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.BinaryNode.getAssignmentSource:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 2: aload 0
aload 1
aload 2
aload 3
aload 1
getstatic com.oracle.js.parser.TokenType.ASSIGN_INIT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.ir.BinaryNode.isTokenType:(Lcom/oracle/js/parser/TokenType;)Z
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformAssignment:(Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 3: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 5
aload 3
ifnull 4
aload 3
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$ExpressionTag;
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasTag:(Ljava/lang/Class;)Z
ifne 5
aload 3
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.isInstrumentable:()Z
ifeq 5
StackMap locals: com.oracle.js.parser.ir.Expression com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
4: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "ExpressionTag expected but not found for: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 6 1 binaryNode Lcom/oracle/js/parser/ir/BinaryNode;
1 6 2 assignmentDest Lcom/oracle/js/parser/ir/Expression;
2 6 3 assignedValue Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3 6 4 assignment Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
binaryNode
private static com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation tokenTypeToBinaryOperation(com.oracle.js.parser.TokenType);
descriptor: (Lcom/oracle/js/parser/TokenType;)Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
aload 0
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
iaload
tableswitch { // 7 - 90
7: 19
8: 20
9: 6
10: 6
11: 7
12: 21
13: 7
14: 21
15: 27
16: 27
17: 3
18: 3
19: 4
20: 4
21: 1
22: 27
23: 1
24: 26
25: 2
26: 27
27: 2
28: 27
29: 5
30: 5
31: 27
32: 27
33: 18
34: 10
35: 10
36: 17
37: 27
38: 13
39: 14
40: 27
41: 16
42: 15
43: 11
44: 11
45: 12
46: 12
47: 27
48: 27
49: 27
50: 9
51: 9
52: 27
53: 8
54: 8
55: 22
56: 22
57: 27
58: 27
59: 27
60: 23
61: 23
62: 27
63: 27
64: 27
65: 27
66: 27
67: 27
68: 27
69: 27
70: 27
71: 27
72: 27
73: 27
74: 27
75: 27
76: 27
77: 27
78: 27
79: 27
80: 27
81: 27
82: 27
83: 27
84: 27
85: 27
86: 27
87: 27
88: 27
89: 25
90: 24
default: 27
}
1: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ADD:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
2: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.SUBTRACT:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
3: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.MULTIPLY:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
4: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.EXPONENTIATE:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
5: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.DIVIDE:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
6: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.MODULO:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
7: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.BITWISE_AND:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
8: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.BITWISE_OR:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
9: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.BITWISE_XOR:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
10: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.BITWISE_LEFT_SHIFT:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
11: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.BITWISE_RIGHT_SHIFT:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
12: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.BITWISE_UNSIGNED_RIGHT_SHIFT:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
13: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.EQUAL:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
14: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.IDENTICAL:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
15: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.GREATER_OR_EQUAL:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
16: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.GREATER:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
17: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.LESS_OR_EQUAL:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
18: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.LESS:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
19: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.NOT_EQUAL:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
20: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.NOT_IDENTICAL:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
21: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.LOGICAL_AND:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
22: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.LOGICAL_OR:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
23: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.NULLISH_COALESCING:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
24: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.INSTANCEOF:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
25: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.IN:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
26: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.DUAL:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
areturn
27: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
aload 0
invokevirtual com.oracle.js.parser.TokenType.toString:()Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 tokenType Lcom/oracle/js/parser/TokenType;
MethodParameters:
Name Flags
tokenType
private com.oracle.truffle.js.nodes.JavaScriptNode transformAssignment(com.oracle.js.parser.ir.Expression, com.oracle.js.parser.ir.Expression, com.oracle.truffle.js.nodes.JavaScriptNode, boolean);
descriptor: (Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
iload 4
aconst_null
iconst_0
iconst_0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformAssignmentImpl:(Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZLcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;ZZ)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 1 1 assignmentExpression Lcom/oracle/js/parser/ir/Expression;
0 1 2 lhsExpression Lcom/oracle/js/parser/ir/Expression;
0 1 3 assignedValue Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 1 4 initializationAssignment Z
MethodParameters:
Name Flags
assignmentExpression
lhsExpression
assignedValue
initializationAssignment
private com.oracle.truffle.js.nodes.JavaScriptNode transformCompoundAssignment(com.oracle.js.parser.ir.Expression, com.oracle.js.parser.ir.Expression, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation, boolean, boolean);
descriptor: (Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;ZZ)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 2
aload 3
iconst_0
aload 4
iload 5
iload 6
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformAssignmentImpl:(Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZLcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;ZZ)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
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 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 1 1 assignmentExpression Lcom/oracle/js/parser/ir/Expression;
0 1 2 lhsExpression Lcom/oracle/js/parser/ir/Expression;
0 1 3 assignedValue Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 1 4 binaryOp Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
0 1 5 returnOldValue Z
0 1 6 convertLHSToNumeric Z
MethodParameters:
Name Flags
assignmentExpression
lhsExpression
assignedValue
binaryOp
returnOldValue
convertLHSToNumeric
private com.oracle.truffle.js.nodes.JavaScriptNode transformAssignmentImpl(com.oracle.js.parser.ir.Expression, com.oracle.js.parser.ir.Expression, com.oracle.truffle.js.nodes.JavaScriptNode, boolean, com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation, boolean, boolean);
descriptor: (Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZLcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;ZZ)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
aload 2
invokevirtual com.oracle.js.parser.ir.Expression.tokenType:()Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
iaload
lookupswitch { // 5
28: 7
48: 5
52: 12
126: 3
130: 9
default: 1
}
1: StackMap locals:
StackMap stack:
aload 2
instanceof com.oracle.js.parser.ir.IdentNode
ifne 3
2: new java.lang.StringBuilder
dup
ldc "unsupported assignment to token type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual com.oracle.js.parser.ir.Expression.tokenType:()Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual com.oracle.js.parser.ir.Expression.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.truffle.js.runtime.Errors.unsupported:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
3: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast com.oracle.js.parser.ir.IdentNode
aload 3
aload 5
iload 6
iload 7
iload 4
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformAssignmentIdent:(Lcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;ZZZ)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 4: goto 14
end local 8 5: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast com.oracle.js.parser.ir.IndexNode
aload 3
aload 5
iload 6
iload 7
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformIndexAssignment:(Lcom/oracle/js/parser/ir/IndexNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;ZZ)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 6: goto 14
end local 8 7: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast com.oracle.js.parser.ir.AccessNode
aload 3
aload 5
iload 6
iload 7
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformPropertyAssignment:(Lcom/oracle/js/parser/ir/AccessNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;ZZ)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 8: goto 14
end local 8 9: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 10
aload 5
ifnull 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
iload 4
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformDestructuringArrayAssignment:(Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 11: goto 14
end local 8 12: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 13
aload 5
ifnull 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
iload 4
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformDestructuringObjectAssignment:(Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 14: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
iload 6
ifeq 16
aload 8
instanceof com.oracle.truffle.js.nodes.binary.DualNode
ifeq 16
15: aload 0
aload 8
checkcast com.oracle.truffle.js.nodes.binary.DualNode
invokevirtual com.oracle.truffle.js.nodes.binary.DualNode.getLeft:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.ensureHasSourceSection:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
16: StackMap locals:
StackMap stack:
aload 0
aload 8
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
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 17 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 17 1 assignmentExpression Lcom/oracle/js/parser/ir/Expression;
0 17 2 lhsExpression Lcom/oracle/js/parser/ir/Expression;
0 17 3 assignedValue Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 17 4 initializationAssignment Z
0 17 5 binaryOp Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
0 17 6 returnOldValue Z
0 17 7 convertLHSToNumeric Z
4 5 8 assignedNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
6 7 8 assignedNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
8 9 8 assignedNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
11 12 8 assignedNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
14 17 8 assignedNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
assignmentExpression
lhsExpression
assignedValue
initializationAssignment
binaryOp
returnOldValue
convertLHSToNumeric
private static boolean isLogicalOp(com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation);
descriptor: (Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.LOGICAL_AND:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
if_acmpeq 1
aload 0
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.LOGICAL_OR:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
if_acmpeq 1
aload 0
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.NULLISH_COALESCING:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
if_acmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 op Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
MethodParameters:
Name Flags
op
private com.oracle.truffle.js.nodes.JavaScriptNode transformAssignmentIdent(com.oracle.js.parser.ir.IdentNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation, boolean, boolean, boolean);
descriptor: (Lcom/oracle/js/parser/ir/IdentNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;ZZZ)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=15, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 2
astore 7
start local 7 1: aload 1
invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
astore 8
start local 8 2: aload 0
aload 8
iload 6
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.findScopeVarCheckTDZ:(Ljava/lang/String;Z)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 9
start local 9 3: iload 6
ifne 7
aload 9
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.isConst:()Z
ifeq 7
4: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getContextOptions:()Lcom/oracle/truffle/js/runtime/JSContextOptions;
invokevirtual com.oracle.truffle.js.runtime.JSContextOptions.isV8LegacyConst:()Z
ifeq 6
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.isStrictMode:()Z
ifne 6
5: aload 7
areturn
6: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode java.lang.String com.oracle.truffle.js.parser.env.Environment$VarRef
StackMap stack:
aload 0
aload 7
aload 9
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.getName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.checkMutableBinding:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 7
7: StackMap locals:
StackMap stack:
aload 3
ifnonnull 9
8: aload 9
aload 7
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
9: StackMap locals:
StackMap stack:
aload 3
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.isLogicalOp:(Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;)Z
ifeq 15
10: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 12
iload 5
ifne 11
iload 4
ifeq 12
StackMap locals:
StackMap stack:
11: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
aload 0
aload 9
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 10
start local 10 13: aload 9
aload 2
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 11
start local 11 14: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 3
aload 10
aload 11
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createBinary:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 11 end local 10 15: StackMap locals:
StackMap stack:
aload 9
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createCompoundAssignNode:()Lcom/oracle/truffle/js/runtime/util/Pair;
astore 10
start local 10 16: aload 0
aload 10
invokevirtual com.oracle.truffle.js.runtime.util.Pair.getFirst:()Ljava/lang/Object;
checkcast java.util.function.Supplier
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.nodes.JavaScriptNode
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 11
start local 11 17: iload 5
ifeq 19
18: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 11
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createToNumeric:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 11
19: StackMap locals: com.oracle.truffle.js.runtime.util.Pair com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aconst_null
astore 12
start local 12 20: iload 4
ifeq 23
21: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.createTempVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 12
22: aload 12
aload 11
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 11
23: StackMap locals: com.oracle.truffle.js.parser.env.Environment$VarRef
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 3
aload 11
aload 7
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createBinary:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 13
start local 13 24: aload 10
invokevirtual com.oracle.truffle.js.runtime.util.Pair.getSecond:()Ljava/lang/Object;
checkcast java.util.function.UnaryOperator
aload 13
invokeinterface java.util.function.UnaryOperator.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.nodes.JavaScriptNode
astore 14
start local 14 25: iload 4
ifeq 27
26: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 14
aload 12
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDual:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
27: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 14
areturn
end local 14 end local 13 end local 12 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 28 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 28 1 identNode Lcom/oracle/js/parser/ir/IdentNode;
0 28 2 assignedValue Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 28 3 binaryOp Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
0 28 4 returnOldValue Z
0 28 5 convertLHSToNumeric Z
0 28 6 initializationAssignment Z
1 28 7 rhs Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 28 8 ident Ljava/lang/String;
3 28 9 scopeVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
13 15 10 readNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
14 15 11 writeNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
16 28 10 pair Lcom/oracle/truffle/js/runtime/util/Pair<Ljava/util/function/Supplier<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;Ljava/util/function/UnaryOperator<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;>;
17 28 11 readNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
20 28 12 prevValueTemp Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
24 28 13 binOpNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
25 28 14 writeNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
identNode
assignedValue
binaryOp
returnOldValue
convertLHSToNumeric
initializationAssignment
private com.oracle.truffle.js.nodes.JavaScriptNode checkMutableBinding(com.oracle.truffle.js.nodes.JavaScriptNode, java.lang.Object);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
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 com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getContextOptions:()Lcom/oracle/truffle/js/runtime/JSContextOptions;
invokevirtual com.oracle.truffle.js.runtime.JSContextOptions.isV8LegacyConst:()Z
ifeq 2
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.isStrictMode:()Z
ifne 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionV8CompatibilityMode:()Z
ifeq 3
ldc "Assignment to constant variable."
goto 4
StackMap locals:
StackMap stack:
3: new java.lang.StringBuilder
dup
ldc "Assignment to constant \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
4: astore 3
start local 3 5: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
getstatic com.oracle.truffle.js.runtime.JSErrorType.TypeError:Lcom/oracle/truffle/js/runtime/JSErrorType;
aload 3
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createThrowError:(Lcom/oracle/truffle/js/runtime/JSErrorType;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 6: aload 1
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.isPotentiallySideEffecting:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Z
ifeq 7
aload 0
iconst_2
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 4
aastore
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 8
StackMap locals: java.lang.String com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
7: aload 4
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
8: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 9 1 rhsNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 9 2 identifier Ljava/lang/Object;
5 9 3 message Ljava/lang/String;
6 9 4 throwTypeError Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
rhsNode
identifier
private com.oracle.truffle.js.nodes.JavaScriptNode transformPropertyAssignment(com.oracle.js.parser.ir.AccessNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation, boolean, boolean);
descriptor: (Lcom/oracle/js/parser/ir/AccessNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;ZZ)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=14, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.AccessNode.getBase:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 7
start local 7 1: aload 3
ifnonnull 4
2: aload 0
aload 1
aload 7
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createWriteProperty:(Lcom/oracle/js/parser/ir/AccessNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 6
start local 6 3: goto 31
end local 6 4: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.AccessNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation int int top com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 7
instanceof com.oracle.truffle.js.nodes.RepeatableNode
ifeq 8
5: aload 7
astore 8
start local 8 6: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 7
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.copy:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 9
start local 9 7: goto 11
end local 9 end local 8 8: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.createTempVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 10
start local 10 9: aload 10
aload 7
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 10: aload 10
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 9
end local 10 start local 9 11: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 3
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.isLogicalOp:(Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;)Z
ifeq 18
12: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 14
iload 5
ifne 13
iload 4
ifeq 14
StackMap locals:
StackMap stack:
13: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
aload 8
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createReadProperty:(Lcom/oracle/js/parser/ir/AccessNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 10
start local 10 15: aload 0
aload 1
aload 9
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createWriteProperty:(Lcom/oracle/js/parser/ir/AccessNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 11
start local 11 16: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 3
aload 10
aload 11
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createBinary:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 6
end local 11 end local 10 start local 6 17: goto 31
end local 6 18: StackMap locals:
StackMap stack:
aconst_null
astore 10
start local 10 19: aload 0
aload 0
aload 1
aload 9
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createReadProperty:(Lcom/oracle/js/parser/ir/AccessNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 11
start local 11 20: iload 5
ifeq 22
21: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 11
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createToNumeric:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 11
22: StackMap locals: com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
iload 4
ifeq 25
23: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.createTempVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 10
24: aload 10
aload 11
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 11
25: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 3
aload 11
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createBinary:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 12
start local 12 26: aload 0
aload 1
aload 8
aload 12
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createWriteProperty:(Lcom/oracle/js/parser/ir/AccessNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 13
start local 13 27: iload 4
ifeq 30
28: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 13
aload 10
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDual:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 6
start local 6 29: goto 31
end local 6 30: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 13
astore 6
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 start local 6 31: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.AccessNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation int int com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 6
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 32 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 32 1 accessNode Lcom/oracle/js/parser/ir/AccessNode;
0 32 2 assignedValue Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 32 3 binaryOp Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
0 32 4 returnOldValue Z
0 32 5 convertToNumeric Z
3 4 6 assignedNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
17 18 6 assignedNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
29 30 6 assignedNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
31 32 6 assignedNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
1 32 7 target Lcom/oracle/truffle/js/nodes/JavaScriptNode;
6 8 8 target1 Lcom/oracle/truffle/js/nodes/JavaScriptNode;
10 31 8 target1 Lcom/oracle/truffle/js/nodes/JavaScriptNode;
7 8 9 target2 Lcom/oracle/truffle/js/nodes/JavaScriptNode;
11 31 9 target2 Lcom/oracle/truffle/js/nodes/JavaScriptNode;
9 11 10 targetTemp Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
15 17 10 readNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
16 17 11 writeNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
19 31 10 prevValueTemp Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
20 31 11 readNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
26 31 12 binOpNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
27 31 13 writeNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
accessNode
assignedValue
binaryOp
returnOldValue
convertToNumeric
private com.oracle.truffle.js.nodes.JavaScriptNode transformIndexAssignment(com.oracle.js.parser.ir.IndexNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation, boolean, boolean);
descriptor: (Lcom/oracle/js/parser/ir/IndexNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;ZZ)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=18, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.IndexNode.getBase:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 7
start local 7 1: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.IndexNode.getIndex:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 2: aload 3
ifnonnull 5
3: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 7
aload 8
aload 2
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.isStrictMode:()Z
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createWriteElementNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/js/nodes/access/WriteElementNode;
astore 6
start local 6 4: goto 35
end local 6 5: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.IndexNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation int int top com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.createTempVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 9
start local 9 6: aload 9
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 10
start local 10 7: aload 9
aconst_null
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode
astore 11
start local 11 8: aload 7
instanceof com.oracle.truffle.js.nodes.RepeatableNode
ifeq 12
9: aload 7
astore 12
start local 12 10: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 7
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.copy:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 13
start local 13 11: goto 15
end local 13 end local 12 12: StackMap locals: com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.createTempVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 14
start local 14 13: aload 14
aload 7
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 12
start local 12 14: aload 14
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 13
end local 14 start local 13 15: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 3
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.isLogicalOp:(Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;)Z
ifeq 22
16: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 18
iload 5
ifne 17
iload 4
ifeq 18
StackMap locals:
StackMap stack:
17: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 12
aload 9
aload 8
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createReadElementNode:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 14
start local 14 19: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 13
aload 10
aload 2
aconst_null
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.isStrictMode:()Z
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createCompoundWriteElementNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Lcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/js/nodes/access/WriteElementNode;
astore 15
start local 15 20: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 3
aload 14
aload 15
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createBinary:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 6
end local 15 end local 14 start local 6 21: goto 35
end local 6 22: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 13
aload 10
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createReadElementNode:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 14
start local 14 23: iload 5
ifeq 25
24: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 14
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createToNumeric:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 14
25: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aconst_null
astore 15
start local 15 26: iload 4
ifeq 29
27: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.createTempVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 15
28: aload 15
aload 14
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 14
29: StackMap locals: com.oracle.truffle.js.parser.env.Environment$VarRef
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 3
aload 14
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createBinary:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 16
start local 16 30: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 12
aload 8
aload 16
aload 11
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.isStrictMode:()Z
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createCompoundWriteElementNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Lcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/js/nodes/access/WriteElementNode;
astore 17
start local 17 31: iload 4
ifeq 34
32: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 17
aload 15
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDual:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 6
start local 6 33: goto 35
end local 6 34: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 17
astore 6
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 start local 6 35: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.IndexNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation int int com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 6
areturn
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 36 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 36 1 indexNode Lcom/oracle/js/parser/ir/IndexNode;
0 36 2 assignedValue Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 36 3 binaryOp Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
0 36 4 returnOldValue Z
0 36 5 convertToNumeric Z
4 5 6 assignedNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
21 22 6 assignedNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
33 34 6 assignedNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
35 36 6 assignedNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
1 36 7 target Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 36 8 elem Lcom/oracle/truffle/js/nodes/JavaScriptNode;
6 35 9 keyTemp Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
7 35 10 readIndex Lcom/oracle/truffle/js/nodes/JavaScriptNode;
8 35 11 writeIndex Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
10 12 12 target1 Lcom/oracle/truffle/js/nodes/JavaScriptNode;
14 35 12 target1 Lcom/oracle/truffle/js/nodes/JavaScriptNode;
11 12 13 target2 Lcom/oracle/truffle/js/nodes/JavaScriptNode;
15 35 13 target2 Lcom/oracle/truffle/js/nodes/JavaScriptNode;
13 15 14 targetTemp Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
19 21 14 readNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
20 21 15 writeNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
23 35 14 readNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
26 35 15 prevValueTemp Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
30 35 16 binOpNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
31 35 17 writeNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
indexNode
assignedValue
binaryOp
returnOldValue
convertToNumeric
private com.oracle.truffle.js.nodes.JavaScriptNode transformDestructuringArrayAssignment(com.oracle.js.parser.ir.Expression, com.oracle.truffle.js.nodes.JavaScriptNode, boolean);
descriptor: (Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=17, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
checkcast com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode
astore 4
start local 4 1: aload 4
invokevirtual com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode.getElementExpressions:()Ljava/util/List;
astore 5
start local 5 2: aload 5
invokeinterface java.util.List.size:()I
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.javaScriptNodeArray:(I)[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 6
start local 6 3: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.createTempVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 7
start local 7 4: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.createTempVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 8
start local 8 5: aload 8
aload 2
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 9
start local 9 6: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 9
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createGetIterator:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 10
start local 10 7: aload 7
aload 10
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 11
start local 11 8: iconst_0
istore 12
start local 12 9: goto 32
10: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Expression com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode java.util.List com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode int
StackMap stack:
aload 5
iload 12
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.Expression
astore 13
start local 13 11: aconst_null
astore 15
start local 15 12: aload 13
instanceof com.oracle.js.parser.ir.IdentNode
ifeq 15
13: aload 13
astore 14
start local 14 14: goto 21
end local 14 StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Expression com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode java.util.List com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.js.parser.ir.Expression top com.oracle.js.parser.ir.Expression
StackMap stack:
15: aload 13
instanceof com.oracle.js.parser.ir.BinaryNode
ifeq 20
16: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 17
aload 13
getstatic com.oracle.js.parser.TokenType.ASSIGN:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.ir.Expression.isTokenType:(Lcom/oracle/js/parser/TokenType;)Z
ifne 17
aload 13
getstatic com.oracle.js.parser.TokenType.ASSIGN_INIT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.ir.Expression.isTokenType:(Lcom/oracle/js/parser/TokenType;)Z
ifne 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals:
StackMap stack:
aload 13
checkcast com.oracle.js.parser.ir.BinaryNode
invokevirtual com.oracle.js.parser.ir.BinaryNode.getLhs:()Lcom/oracle/js/parser/ir/Expression;
astore 14
start local 14 18: aload 13
checkcast com.oracle.js.parser.ir.BinaryNode
invokevirtual com.oracle.js.parser.ir.BinaryNode.getRhs:()Lcom/oracle/js/parser/ir/Expression;
astore 15
19: goto 21
end local 14 20: StackMap locals:
StackMap stack:
aload 13
astore 14
start local 14 21: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Expression com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode java.util.List com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.Expression
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 7
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantUndefined:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
iconst_1
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createIteratorGetNextValue:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 16
start local 16 22: aload 15
ifnull 24
23: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 16
aload 0
aload 15
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createNotUndefinedOr:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 16
24: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 14
ifnull 27
aload 14
getstatic com.oracle.js.parser.TokenType.SPREAD_ARRAY:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.ir.Expression.isTokenType:(Lcom/oracle/js/parser/TokenType;)Z
ifeq 27
25: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 7
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createIteratorToArray:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/IteratorToArrayNode;
astore 16
26: aload 14
checkcast com.oracle.js.parser.ir.UnaryNode
invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
astore 14
27: StackMap locals:
StackMap stack:
aload 14
ifnull 30
28: aload 6
iload 12
aload 0
aload 14
aload 14
aload 16
iload 3
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformAssignment:(Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aastore
29: goto 31
30: StackMap locals:
StackMap stack:
aload 6
iload 12
aload 16
aastore
end local 16 end local 15 end local 14 end local 13 31: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Expression com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode java.util.List com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode int
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
32: iload 12
aload 5
invokeinterface java.util.List.size:()I
if_icmplt 10
end local 12 33: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
aload 6
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 7
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createIteratorCloseIfNotDone:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 12
start local 12 34: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
iconst_3
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
dup
iconst_0
aload 11
aastore
dup
iconst_1
aload 12
aastore
dup
iconst_2
aload 8
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aastore
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createExprBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 12 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 35 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 35 1 lhsExpression Lcom/oracle/js/parser/ir/Expression;
0 35 2 assignedValue Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 35 3 initializationAssignment Z
1 35 4 arrayLiteralNode Lcom/oracle/js/parser/ir/LiteralNode$ArrayLiteralNode;
2 35 5 elementExpressions Ljava/util/List<Lcom/oracle/js/parser/ir/Expression;>;
3 35 6 initElements [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
4 35 7 iteratorTempVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
5 35 8 valueTempVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
6 35 9 initValue Lcom/oracle/truffle/js/nodes/JavaScriptNode;
7 35 10 getIterator Lcom/oracle/truffle/js/nodes/JavaScriptNode;
8 35 11 initIteratorTempVar Lcom/oracle/truffle/js/nodes/JavaScriptNode;
9 33 12 i I
11 31 13 element Lcom/oracle/js/parser/ir/Expression;
14 15 14 lhsExpr Lcom/oracle/js/parser/ir/Expression;
18 20 14 lhsExpr Lcom/oracle/js/parser/ir/Expression;
21 31 14 lhsExpr Lcom/oracle/js/parser/ir/Expression;
12 31 15 init Lcom/oracle/js/parser/ir/Expression;
22 31 16 rhsNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
34 35 12 closeIfNotDone Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
lhsExpression
assignedValue
initializationAssignment
private com.oracle.truffle.js.nodes.JavaScriptNode transformDestructuringObjectAssignment(com.oracle.js.parser.ir.Expression, com.oracle.truffle.js.nodes.JavaScriptNode, boolean);
descriptor: (Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=21, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
checkcast com.oracle.js.parser.ir.ObjectNode
astore 4
start local 4 1: aload 4
invokevirtual com.oracle.js.parser.ir.ObjectNode.getElements:()Ljava/util/List;
astore 5
start local 5 2: aload 5
invokeinterface java.util.List.isEmpty:()Z
ifeq 4
3: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createRequireObjectCoercible:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
4: StackMap locals: com.oracle.js.parser.ir.ObjectNode java.util.List
StackMap stack:
aload 5
invokeinterface java.util.List.size:()I
istore 6
start local 6 5: aload 5
iload 6
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.PropertyNode
invokevirtual com.oracle.js.parser.ir.PropertyNode.isRest:()Z
istore 7
start local 7 6: iload 7
ifeq 7
iload 6
iconst_1
if_icmpne 7
iconst_1
goto 8
StackMap locals: int int
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 8
start local 8 9: iload 6
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.javaScriptNodeArray:(I)[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 9
start local 9 10: iload 7
ifeq 11
iload 6
iconst_1
isub
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.javaScriptNodeArray:(I)[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 12
StackMap locals: int com.oracle.truffle.js.nodes.JavaScriptNode[]
StackMap stack:
11: aconst_null
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode[]
12: astore 10
start local 10 13: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.createTempVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 11
start local 11 14: aload 11
iload 8
ifeq 15
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createRequireObjectCoercible:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 16
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Expression com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.js.parser.ir.ObjectNode java.util.List int int int com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.parser.env.Environment$VarRef
StackMap stack: com.oracle.truffle.js.parser.env.Environment$VarRef
15: aload 2
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Expression com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.js.parser.ir.ObjectNode java.util.List int int int com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.parser.env.Environment$VarRef
StackMap stack: com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode
16: invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 12
start local 12 17: iconst_0
istore 13
start local 13 18: goto 57
19: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode int
StackMap stack:
aload 5
iload 13
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.PropertyNode
astore 14
start local 14 20: aconst_null
astore 16
start local 16 21: aload 14
invokevirtual com.oracle.js.parser.ir.PropertyNode.getValue:()Lcom/oracle/js/parser/ir/Expression;
instanceof com.oracle.js.parser.ir.BinaryNode
ifeq 26
22: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 23
aload 14
invokevirtual com.oracle.js.parser.ir.PropertyNode.getValue:()Lcom/oracle/js/parser/ir/Expression;
getstatic com.oracle.js.parser.TokenType.ASSIGN:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.ir.Expression.isTokenType:(Lcom/oracle/js/parser/TokenType;)Z
ifne 23
aload 14
invokevirtual com.oracle.js.parser.ir.PropertyNode.getValue:()Lcom/oracle/js/parser/ir/Expression;
getstatic com.oracle.js.parser.TokenType.ASSIGN_INIT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.ir.Expression.isTokenType:(Lcom/oracle/js/parser/TokenType;)Z
ifne 23
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
23: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Expression com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.js.parser.ir.ObjectNode java.util.List int int int com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.js.parser.ir.PropertyNode top com.oracle.js.parser.ir.Expression
StackMap stack:
aload 14
invokevirtual com.oracle.js.parser.ir.PropertyNode.getValue:()Lcom/oracle/js/parser/ir/Expression;
checkcast com.oracle.js.parser.ir.BinaryNode
invokevirtual com.oracle.js.parser.ir.BinaryNode.getLhs:()Lcom/oracle/js/parser/ir/Expression;
astore 15
start local 15 24: aload 14
invokevirtual com.oracle.js.parser.ir.PropertyNode.getValue:()Lcom/oracle/js/parser/ir/Expression;
checkcast com.oracle.js.parser.ir.BinaryNode
invokevirtual com.oracle.js.parser.ir.BinaryNode.getRhs:()Lcom/oracle/js/parser/ir/Expression;
astore 16
25: goto 31
end local 15 StackMap locals:
StackMap stack:
26: aload 14
invokevirtual com.oracle.js.parser.ir.PropertyNode.isRest:()Z
ifeq 30
27: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 28
iload 7
ifne 28
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
28: StackMap locals:
StackMap stack:
aload 14
invokevirtual com.oracle.js.parser.ir.PropertyNode.getKey:()Lcom/oracle/js/parser/ir/Expression;
checkcast com.oracle.js.parser.ir.UnaryNode
invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
astore 15
start local 15 29: goto 31
end local 15 30: StackMap locals:
StackMap stack:
aload 14
invokevirtual com.oracle.js.parser.ir.PropertyNode.getValue:()Lcom/oracle/js/parser/ir/Expression;
astore 15
start local 15 31: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Expression com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.js.parser.ir.ObjectNode java.util.List int int int com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.js.parser.ir.PropertyNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.Expression
StackMap stack:
aconst_null
astore 18
start local 18 32: aload 14
invokevirtual com.oracle.js.parser.ir.PropertyNode.isRest:()Z
ifeq 38
33: aload 10
arraylength
ifne 34
aconst_null
goto 35
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Expression com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.js.parser.ir.ObjectNode java.util.List int int int com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.js.parser.ir.PropertyNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.Expression top com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
34: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 10
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createArrayLiteral:(Lcom/oracle/truffle/js/runtime/JSContext;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
35: astore 19
start local 19 36: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 11
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 19
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createRestObject:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 17
end local 19 start local 17 37: goto 50
end local 17 StackMap locals:
StackMap stack:
38: aload 14
invokevirtual com.oracle.js.parser.ir.PropertyNode.getKey:()Lcom/oracle/js/parser/ir/Expression;
instanceof com.oracle.js.parser.ir.IdentNode
ifeq 44
aload 14
invokevirtual com.oracle.js.parser.ir.PropertyNode.isComputed:()Z
ifne 44
39: aload 14
invokevirtual com.oracle.js.parser.ir.PropertyNode.getKeyName:()Ljava/lang/String;
astore 19
start local 19 40: iload 7
ifeq 42
41: aload 10
iload 13
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 19
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantString:(Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aastore
42: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 11
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 19
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createReadProperty:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
astore 17
end local 19 start local 17 43: goto 50
end local 17 44: StackMap locals:
StackMap stack:
aload 0
aload 14
invokevirtual com.oracle.js.parser.ir.PropertyNode.getKey:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 19
start local 19 45: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.createTempVar:()Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 20
start local 20 46: iload 7
ifeq 48
47: aload 10
iload 13
aload 20
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aastore
48: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.parser.env.Environment$VarRef
StackMap stack:
aload 20
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 19
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createToPropertyKey:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 18
49: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 11
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 20
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createReadElementNode:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
astore 17
end local 20 end local 19 start local 17 50: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Expression com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.js.parser.ir.ObjectNode java.util.List int int int com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.js.parser.ir.PropertyNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.Expression com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 16
ifnull 52
51: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 17
aload 0
aload 16
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createNotUndefinedOr:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 17
52: StackMap locals:
StackMap stack:
aload 0
aload 15
aload 15
aload 17
iload 3
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformAssignment:(Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 19
start local 19 53: aload 9
iload 13
aload 18
ifnonnull 54
aload 19
goto 55
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Expression com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.js.parser.ir.ObjectNode java.util.List int int int com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.js.parser.ir.PropertyNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.Expression com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode[] int
54: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 18
aload 19
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDual:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Expression com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.js.parser.ir.ObjectNode java.util.List int int int com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.js.parser.ir.PropertyNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.Expression com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode[] int com.oracle.truffle.js.nodes.JavaScriptNode
55: aastore
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 56: iinc 13 1
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.Expression com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.js.parser.ir.ObjectNode java.util.List int int int com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode int
StackMap stack:
57: iload 13
iload 6
if_icmplt 19
end local 13 58: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
iconst_3
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
dup
iconst_0
aload 12
aastore
dup
iconst_1
aload 0
aload 9
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aastore
dup
iconst_2
aload 11
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aastore
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createExprBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 12 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 59 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 59 1 lhsExpression Lcom/oracle/js/parser/ir/Expression;
0 59 2 assignedValue Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 59 3 initializationAssignment Z
1 59 4 objectLiteralNode Lcom/oracle/js/parser/ir/ObjectNode;
2 59 5 propertyExpressions Ljava/util/List<Lcom/oracle/js/parser/ir/PropertyNode;>;
5 59 6 numberOfProperties I
6 59 7 hasRest Z
9 59 8 requireObjectCoercible Z
10 59 9 initElements [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
13 59 10 excludedKeys [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
14 59 11 valueTempVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
17 59 12 initValueTempVar Lcom/oracle/truffle/js/nodes/JavaScriptNode;
18 58 13 i I
20 56 14 property Lcom/oracle/js/parser/ir/PropertyNode;
24 26 15 lhsExpr Lcom/oracle/js/parser/ir/Expression;
29 30 15 lhsExpr Lcom/oracle/js/parser/ir/Expression;
31 56 15 lhsExpr Lcom/oracle/js/parser/ir/Expression;
21 56 16 init Lcom/oracle/js/parser/ir/Expression;
37 38 17 rhsNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
43 44 17 rhsNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
50 56 17 rhsNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
32 56 18 toPropertyKey Lcom/oracle/truffle/js/nodes/JavaScriptNode;
36 37 19 excludedItemsArray Lcom/oracle/truffle/js/nodes/JavaScriptNode;
40 43 19 keyName Ljava/lang/String;
45 50 19 key Lcom/oracle/truffle/js/nodes/JavaScriptNode;
46 50 20 keyTempVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
53 56 19 initElement Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
lhsExpression
assignedValue
initializationAssignment
public com.oracle.truffle.js.nodes.JavaScriptNode enterAccessNode(com.oracle.js.parser.ir.AccessNode);
descriptor: (Lcom/oracle/js/parser/ir/AccessNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.AccessNode.getBase:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.js.parser.ir.AccessNode.isOptionalChain:()Z
ifeq 3
2: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createOptionalAccessNode:(Lcom/oracle/js/parser/ir/AccessNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
3: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createReadProperty:(Lcom/oracle/js/parser/ir/AccessNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 4: aload 0
aload 3
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
5: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 6 1 accessNode Lcom/oracle/js/parser/ir/AccessNode;
1 6 2 base Lcom/oracle/truffle/js/nodes/JavaScriptNode;
4 6 3 read Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
accessNode
private com.oracle.truffle.js.nodes.JavaScriptNode createOptionalAccessNode(com.oracle.js.parser.ir.AccessNode, com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/js/parser/ir/AccessNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
aload 1
invokevirtual com.oracle.js.parser.ir.AccessNode.isOptional:()Z
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.filterOptionalChainTarget:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 1: aload 0
aload 1
aload 3
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createReadProperty:(Lcom/oracle/js/parser/ir/AccessNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 2: aload 0
aload 4
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
3: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 4
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createOptionalChain:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 4 1 accessNode Lcom/oracle/js/parser/ir/AccessNode;
0 4 2 base Lcom/oracle/truffle/js/nodes/JavaScriptNode;
1 4 3 innerAccess Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 4 4 read Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
accessNode
base
private com.oracle.truffle.js.nodes.JavaScriptNode createReadProperty(com.oracle.js.parser.ir.AccessNode, com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/js/parser/ir/AccessNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.js.parser.ir.AccessNode.isPrivate:()Z
ifeq 2
1: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createPrivateFieldGet:(Lcom/oracle/js/parser/ir/AccessNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
aload 1
invokevirtual com.oracle.js.parser.ir.AccessNode.getProperty:()Ljava/lang/String;
aload 1
invokevirtual com.oracle.js.parser.ir.AccessNode.isFunction:()Z
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createReadProperty:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/String;Z)Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 3 1 accessNode Lcom/oracle/js/parser/ir/AccessNode;
0 3 2 base Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
accessNode
base
private com.oracle.truffle.js.nodes.JavaScriptNode createWriteProperty(com.oracle.js.parser.ir.AccessNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/js/parser/ir/AccessNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual com.oracle.js.parser.ir.AccessNode.isPrivate:()Z
ifeq 2
1: aload 0
aload 1
aload 2
aload 3
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createPrivateFieldSet:(Lcom/oracle/js/parser/ir/AccessNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 2
aload 1
invokevirtual com.oracle.js.parser.ir.AccessNode.getProperty:()Ljava/lang/String;
aload 3
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
invokevirtual com.oracle.truffle.js.parser.env.Environment.isStrictMode:()Z
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createWriteProperty:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 3 1 accessNode Lcom/oracle/js/parser/ir/AccessNode;
0 3 2 base Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 3 3 rhs Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
accessNode
base
rhs
private com.oracle.truffle.js.nodes.JavaScriptNode createPrivateFieldGet(com.oracle.js.parser.ir.AccessNode, com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/js/parser/ir/AccessNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
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 com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 1
invokevirtual com.oracle.js.parser.ir.AccessNode.getPrivateName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findLocalVar:(Ljava/lang/String;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 3
start local 3 1: aload 3
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
aload 2
aload 3
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.insertPrivateBrandCheck:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/parser/env/Environment$VarRef;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 4
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createPrivateFieldGet:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 3 1 accessNode Lcom/oracle/js/parser/ir/AccessNode;
0 3 2 base Lcom/oracle/truffle/js/nodes/JavaScriptNode;
1 3 3 privateNameVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
2 3 4 privateName Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
accessNode
base
private com.oracle.truffle.js.nodes.JavaScriptNode createPrivateFieldSet(com.oracle.js.parser.ir.AccessNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/js/parser/ir/AccessNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 1
invokevirtual com.oracle.js.parser.ir.AccessNode.getPrivateName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findLocalVar:(Ljava/lang/String;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 4
start local 4 1: aload 4
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 5
start local 5 2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
aload 2
aload 4
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.insertPrivateBrandCheck:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/parser/env/Environment$VarRef;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 5
aload 3
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createPrivateFieldSet:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
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 3 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 3 1 accessNode Lcom/oracle/js/parser/ir/AccessNode;
0 3 2 base Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 3 3 rhs Lcom/oracle/truffle/js/nodes/JavaScriptNode;
1 3 4 privateNameVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
2 3 5 privateName Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
accessNode
base
rhs
private com.oracle.truffle.js.nodes.JavaScriptNode insertPrivateBrandCheck(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.parser.env.Environment$VarRef);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/parser/env/Environment$VarRef;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.getFrameSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
astore 3
start local 3 1: aload 3
invokestatic com.oracle.truffle.js.runtime.JSFrameUtil.needsPrivateBrandCheck:(Lcom/oracle/truffle/api/frame/FrameSlot;)Z
ifeq 12
2: aload 2
checkcast com.oracle.truffle.js.parser.env.Environment$AbstractFrameVarRef
invokevirtual com.oracle.truffle.js.parser.env.Environment$AbstractFrameVarRef.getFrameLevel:()I
istore 4
start local 4 3: aload 2
checkcast com.oracle.truffle.js.parser.env.Environment$AbstractFrameVarRef
invokevirtual com.oracle.truffle.js.parser.env.Environment$AbstractFrameVarRef.getScopeLevel:()I
istore 5
start local 5 4: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
iload 4
iload 5
invokevirtual com.oracle.truffle.js.parser.env.Environment.getParentAt:(II)Lcom/oracle/truffle/js/parser/env/Environment;
astore 6
start local 6 5: aload 6
invokevirtual com.oracle.truffle.js.parser.env.Environment.getBlockFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
ldc "#constructor"
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
astore 7
start local 7 6: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 7
iload 4
iload 5
invokevirtual com.oracle.truffle.js.parser.env.Environment.createLocal:(Lcom/oracle/truffle/api/frame/FrameSlot;II)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 7: aload 3
invokestatic com.oracle.truffle.js.runtime.JSFrameUtil.isPrivateNameStatic:(Lcom/oracle/truffle/api/frame/FrameSlot;)Z
ifeq 10
8: aload 8
astore 9
start local 9 9: goto 11
end local 9 10: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.api.frame.FrameSlot int int com.oracle.truffle.js.parser.env.Environment com.oracle.truffle.api.frame.FrameSlot com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 8
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createGetPrivateBrand:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 9
start local 9 11: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 1
aload 9
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createPrivateBrandCheck:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 12: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.api.frame.FrameSlot
StackMap stack:
aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 13 1 base Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 13 2 privateNameVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
1 13 3 frameSlot Lcom/oracle/truffle/api/frame/FrameSlot;
3 12 4 frameLevel I
4 12 5 scopeLevel I
5 12 6 memberEnv Lcom/oracle/truffle/js/parser/env/Environment;
6 12 7 constructorSlot Lcom/oracle/truffle/api/frame/FrameSlot;
7 12 8 constructor Lcom/oracle/truffle/js/nodes/JavaScriptNode;
9 10 9 brand Lcom/oracle/truffle/js/nodes/JavaScriptNode;
11 12 9 brand Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
base
privateNameVar
public com.oracle.truffle.js.nodes.JavaScriptNode enterIndexNode(com.oracle.js.parser.ir.IndexNode);
descriptor: (Lcom/oracle/js/parser/ir/IndexNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.IndexNode.getBase:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 1: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.IndexNode.getIndex:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 2: aload 1
invokevirtual com.oracle.js.parser.ir.IndexNode.isOptionalChain:()Z
ifeq 4
3: aload 0
aload 1
aload 2
aload 3
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createOptionalIndexNode:(Lcom/oracle/js/parser/ir/IndexNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
4: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
aload 3
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createReadElementNode:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 5 1 indexNode Lcom/oracle/js/parser/ir/IndexNode;
1 5 2 base Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 5 3 index Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
indexNode
private com.oracle.truffle.js.nodes.JavaScriptNode createOptionalIndexNode(com.oracle.js.parser.ir.IndexNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/js/parser/ir/IndexNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
aload 2
aload 1
invokevirtual com.oracle.js.parser.ir.IndexNode.isOptional:()Z
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.filterOptionalChainTarget:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 3
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createReadElementNode:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
astore 4
start local 4 1: aload 0
aload 4
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 4
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createOptionalChain:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 3 1 indexNode Lcom/oracle/js/parser/ir/IndexNode;
0 3 2 base Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 3 3 index Lcom/oracle/truffle/js/nodes/JavaScriptNode;
1 3 4 read Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
indexNode
base
index
public com.oracle.truffle.js.nodes.JavaScriptNode enterObjectNode(com.oracle.js.parser.ir.ObjectNode);
descriptor: (Lcom/oracle/js/parser/ir/ObjectNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.ObjectNode.getElements:()Ljava/util/List;
iconst_0
aconst_null
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformPropertyDefinitionList:(Ljava/util/List;ZLcom/oracle/js/parser/ir/Symbol;)Ljava/util/ArrayList;
astore 2
start local 2 1: aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createObjectLiteral:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/util/ArrayList;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 2 1 objectNode Lcom/oracle/js/parser/ir/ObjectNode;
1 2 2 members Ljava/util/ArrayList<Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;>;
MethodParameters:
Name Flags
objectNode
private java.util.ArrayList<com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode> transformPropertyDefinitionList(java.util.List<com.oracle.js.parser.ir.PropertyNode>, boolean, com.oracle.js.parser.ir.Symbol);
descriptor: (Ljava/util/List;ZLcom/oracle/js/parser/ir/Symbol;)Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.util.ArrayList
dup
aload 1
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 15
3: StackMap locals: java.util.ArrayList int
StackMap stack:
aload 1
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.PropertyNode
astore 6
start local 6 4: aload 6
invokevirtual com.oracle.js.parser.ir.PropertyNode.getValue:()Lcom/oracle/js/parser/ir/Expression;
ifnonnull 5
aload 6
invokevirtual com.oracle.js.parser.ir.PropertyNode.isClassField:()Z
ifeq 7
5: StackMap locals: com.oracle.js.parser.ir.PropertyNode
StackMap stack:
aload 0
aload 6
iload 2
aload 3
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterObjectPropertyNode:(Lcom/oracle/js/parser/ir/PropertyNode;ZLcom/oracle/js/parser/ir/Symbol;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
astore 7
start local 7 6: goto 13
end local 7 StackMap locals:
StackMap stack:
7: aload 6
invokevirtual com.oracle.js.parser.ir.PropertyNode.isRest:()Z
ifeq 12
8: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 9
iload 2
ifeq 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 0
aload 6
invokevirtual com.oracle.js.parser.ir.PropertyNode.getKey:()Lcom/oracle/js/parser/ir/Expression;
checkcast com.oracle.js.parser.ir.UnaryNode
invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 10: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 6
invokevirtual com.oracle.js.parser.ir.PropertyNode.isStatic:()Z
aload 8
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createSpreadObjectMember:(ZLcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
astore 7
end local 8 start local 7 11: goto 13
end local 7 12: StackMap locals:
StackMap stack:
aload 0
aload 6
iload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterObjectAccessorNode:(Lcom/oracle/js/parser/ir/PropertyNode;Z)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
astore 7
start local 7 13: StackMap locals: com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode
StackMap stack:
aload 4
aload 7
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 14: iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
aload 1
invokeinterface java.util.List.size:()I
if_icmplt 3
end local 5 16: 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 17 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 17 1 properties Ljava/util/List<Lcom/oracle/js/parser/ir/PropertyNode;>;
0 17 2 isClass Z
0 17 3 classNameSymbol Lcom/oracle/js/parser/ir/Symbol;
1 17 4 members Ljava/util/ArrayList<Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;>;
2 16 5 i I
4 14 6 property Lcom/oracle/js/parser/ir/PropertyNode;
6 7 7 member Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
11 12 7 member Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
13 14 7 member Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
10 11 8 from Lcom/oracle/truffle/js/nodes/JavaScriptNode;
Signature: (Ljava/util/List<Lcom/oracle/js/parser/ir/PropertyNode;>;ZLcom/oracle/js/parser/ir/Symbol;)Ljava/util/ArrayList<Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;>;
MethodParameters:
Name Flags
properties
isClass
classNameSymbol
private com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode enterObjectAccessorNode(com.oracle.js.parser.ir.PropertyNode, boolean);
descriptor: (Lcom/oracle/js/parser/ir/PropertyNode;Z)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.getGetter:()Lcom/oracle/js/parser/ir/FunctionNode;
ifnonnull 1
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.getSetter:()Lcom/oracle/js/parser/ir/FunctionNode;
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.getGetter:()Lcom/oracle/js/parser/ir/FunctionNode;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.getAccessor:(Lcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 2: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.getSetter:()Lcom/oracle/js/parser/ir/FunctionNode;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.getAccessor:(Lcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 3: iload 2
ifeq 4
iconst_0
goto 5
StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: istore 5
start local 5 6: aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.isComputed:()Z
ifeq 8
7: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.getKey:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.isStatic:()Z
iload 5
aload 3
aload 4
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createComputedAccessorMember:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZZLcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
areturn
8: StackMap locals: int
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.isPrivate:()Z
ifeq 12
9: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.getPrivateName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findLocalVar:(Ljava/lang/String;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 6
start local 6 10: aload 6
aconst_null
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode
astore 7
start local 7 11: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.isStatic:()Z
aload 3
aload 4
aload 7
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createPrivateAccessorMember:(ZLcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
areturn
end local 7 end local 6 12: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.getKeyName:()Ljava/lang/String;
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.isStatic:()Z
iload 5
aload 3
aload 4
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAccessorMember:(Ljava/lang/String;ZZLcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
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 13 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 13 1 property Lcom/oracle/js/parser/ir/PropertyNode;
0 13 2 isClass Z
2 13 3 getter Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3 13 4 setter Lcom/oracle/truffle/js/nodes/JavaScriptNode;
6 13 5 enumerable Z
10 12 6 privateVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
11 12 7 writePrivateNode Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
MethodParameters:
Name Flags
property
isClass
private com.oracle.truffle.js.nodes.JavaScriptNode getAccessor(com.oracle.js.parser.ir.FunctionNode);
descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 3: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.needsSuper:()Z
ifeq 6
4: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 5
aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.isMethod:()Z
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createMakeMethod:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
6: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 7 1 accessorFunction Lcom/oracle/js/parser/ir/FunctionNode;
3 7 2 function Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
accessorFunction
private com.oracle.truffle.js.nodes.JavaScriptNode transformPropertyValue(com.oracle.js.parser.ir.Expression, com.oracle.js.parser.ir.Symbol);
descriptor: (Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Symbol;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstantUndefined:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
2: StackMap locals:
StackMap stack:
aload 2
ifnull 4
3: aload 2
iconst_1
invokevirtual com.oracle.js.parser.ir.Symbol.setHasBeenDeclared:(Z)V
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 5: aload 2
ifnull 7
6: aload 2
iconst_0
invokevirtual com.oracle.js.parser.ir.Symbol.setHasBeenDeclared:(Z)V
7: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 1
instanceof com.oracle.js.parser.ir.FunctionNode
ifeq 10
aload 1
checkcast com.oracle.js.parser.ir.FunctionNode
invokevirtual com.oracle.js.parser.ir.FunctionNode.needsSuper:()Z
ifeq 10
8: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 9
aload 1
checkcast com.oracle.js.parser.ir.FunctionNode
invokevirtual com.oracle.js.parser.ir.FunctionNode.isMethod:()Z
ifne 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 3
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createMakeMethod:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
10: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 11 1 propertyValue Lcom/oracle/js/parser/ir/Expression;
0 11 2 classNameSymbol Lcom/oracle/js/parser/ir/Symbol;
5 11 3 value Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
propertyValue
classNameSymbol
private com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode enterObjectPropertyNode(com.oracle.js.parser.ir.PropertyNode, boolean, com.oracle.js.parser.ir.Symbol);
descriptor: (Lcom/oracle/js/parser/ir/PropertyNode;ZLcom/oracle/js/parser/ir/Symbol;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.getValue:()Lcom/oracle/js/parser/ir/Expression;
aload 3
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformPropertyValue:(Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Symbol;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 1: iload 2
ifeq 2
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.isClassField:()Z
ifne 2
iconst_0
goto 3
StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: istore 5
start local 5 4: aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.isComputed:()Z
ifeq 7
5: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.getKey:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 6
start local 6 6: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 6
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.isStatic:()Z
iload 5
aload 4
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.isClassField:()Z
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.isAnonymousFunctionDefinition:()Z
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createComputedDataMember:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZZLcom/oracle/truffle/js/nodes/JavaScriptNode;ZZ)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
areturn
end local 6 7: StackMap locals: int
StackMap stack:
iload 2
ifne 9
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.isProto:()Z
ifeq 9
8: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.getKeyName:()Ljava/lang/String;
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.isStatic:()Z
aload 4
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createProtoMember:(Ljava/lang/String;ZLcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
areturn
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.isPrivate:()Z
ifeq 16
10: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.getPrivateName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.parser.env.Environment.findLocalVar:(Ljava/lang/String;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 6
start local 6 11: aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.isClassField:()Z
ifeq 14
12: aload 6
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.getPrivateName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createNewPrivateName:(Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode
astore 7
start local 7 13: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 6
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.isStatic:()Z
aload 4
aload 7
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createPrivateFieldMember:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZLcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
areturn
end local 7 14: StackMap locals: com.oracle.truffle.js.parser.env.Environment$VarRef
StackMap stack:
aload 6
aconst_null
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode
astore 7
start local 7 15: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.isStatic:()Z
aload 4
aload 7
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createPrivateMethodMember:(ZLcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
areturn
end local 7 end local 6 16: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.getKeyName:()Ljava/lang/String;
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.isStatic:()Z
iload 5
aload 4
aload 1
invokevirtual com.oracle.js.parser.ir.PropertyNode.isClassField:()Z
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDataMember:(Ljava/lang/String;ZZLcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
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 17 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 17 1 property Lcom/oracle/js/parser/ir/PropertyNode;
0 17 2 isClass Z
0 17 3 classNameSymbol Lcom/oracle/js/parser/ir/Symbol;
1 17 4 value Lcom/oracle/truffle/js/nodes/JavaScriptNode;
4 17 5 enumerable Z
6 7 6 computedKey Lcom/oracle/truffle/js/nodes/JavaScriptNode;
11 16 6 privateVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
13 14 7 writePrivateNode Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
15 16 7 writePrivateNode Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
MethodParameters:
Name Flags
property
isClass
classNameSymbol
public com.oracle.truffle.js.nodes.JavaScriptNode enterTryNode(com.oracle.js.parser.ir.TryNode);
descriptor: (Lcom/oracle/js/parser/ir/TryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=19, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.TryNode.getBody:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 1: aload 2
astore 3
start local 3 2: aload 1
invokevirtual com.oracle.js.parser.ir.TryNode.getCatchBlocks:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 46
3: aload 1
invokevirtual com.oracle.js.parser.ir.TryNode.getCatchBlocks:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 45
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.TryNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.Block
astore 4
start local 4 5: aload 4
invokevirtual com.oracle.js.parser.ir.Block.getLastStatement:()Lcom/oracle/js/parser/ir/Statement;
checkcast com.oracle.js.parser.ir.CatchNode
astore 6
start local 6 6: aload 6
invokevirtual com.oracle.js.parser.ir.CatchNode.getException:()Lcom/oracle/js/parser/ir/Expression;
astore 7
start local 7 7: aload 6
invokevirtual com.oracle.js.parser.ir.CatchNode.getBody:()Lcom/oracle/js/parser/ir/Block;
astore 8
start local 8 8: aload 6
invokevirtual com.oracle.js.parser.ir.CatchNode.getDestructuringPattern:()Lcom/oracle/js/parser/ir/Expression;
astore 9
start local 9 9: aconst_null
astore 10
aconst_null
astore 11
10: aload 0
aload 4
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterBlockEnvironment:(Lcom/oracle/js/parser/ir/Block;)Lcom/oracle/truffle/js/parser/GraalJSTranslator$EnvironmentCloseable;
astore 12
start local 12 11: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
aload 4
invokevirtual com.oracle.js.parser.ir.LexicalContext.push:(Lcom/oracle/js/parser/ir/LexicalContextNode;)Lcom/oracle/js/parser/ir/LexicalContextNode;
pop
12: aload 4
invokevirtual com.oracle.js.parser.ir.Block.getStatements:()Ljava/util/List;
iconst_0
aload 4
invokevirtual com.oracle.js.parser.ir.Block.getStatementCount:()I
iconst_1
isub
invokeinterface java.util.List.subList:(II)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 14
goto 17
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.TryNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.js.parser.ir.Block java.util.Iterator com.oracle.js.parser.ir.CatchNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable top java.util.Iterator
StackMap stack:
13: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.Statement
astore 13
start local 13 14: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 15
aload 13
instanceof com.oracle.js.parser.ir.VarNode
ifne 15
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
15: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.TryNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.js.parser.ir.Block java.util.Iterator com.oracle.js.parser.ir.CatchNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable com.oracle.js.parser.ir.Statement java.util.Iterator
StackMap stack:
aload 0
aload 13
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 15
start local 15 16: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 17
aload 15
instanceof com.oracle.truffle.js.nodes.control.EmptyNode
ifne 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 15 end local 13 17: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.TryNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.js.parser.ir.Block java.util.Iterator com.oracle.js.parser.ir.CatchNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable top java.util.Iterator
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
18: aconst_null
astore 13
start local 13 19: aconst_null
astore 14
start local 14 20: aload 7
ifnull 26
21: aload 7
checkcast com.oracle.js.parser.ir.IdentNode
invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
astore 15
start local 15 22: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 15
invokevirtual com.oracle.truffle.js.parser.env.Environment.findLocalVar:(Ljava/lang/String;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 16
start local 16 23: aload 16
aconst_null
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 13
24: aload 9
ifnull 26
25: aload 0
aload 9
aload 9
aload 16
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
iconst_1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformAssignment:(Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 14
end local 16 end local 15 26: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.TryNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.js.parser.ir.Block java.util.Iterator com.oracle.js.parser.ir.CatchNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
aload 8
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 15
start local 15 27: aload 6
invokevirtual com.oracle.js.parser.ir.CatchNode.getExceptionCondition:()Lcom/oracle/js/parser/ir/Expression;
ifnull 30
28: aload 0
aload 6
invokevirtual com.oracle.js.parser.ir.CatchNode.getExceptionCondition:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 16
start local 16 29: goto 31
end local 16 30: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aconst_null
astore 16
start local 16 31: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 12
aconst_null
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.wrapBlockScope:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.function.BlockScopeNode
astore 17
start local 17 32: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 3
aload 15
aload 13
aload 17
aload 14
aload 16
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createTryCatch:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/function/BlockScopeNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
33: aload 0
aload 3
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.ensureHasSourceSection:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
end local 17 end local 16 end local 15 end local 14 end local 13 34: goto 38
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.TryNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.js.parser.ir.Block java.util.Iterator com.oracle.js.parser.ir.CatchNode com.oracle.js.parser.ir.Expression com.oracle.js.parser.ir.Block com.oracle.js.parser.ir.Expression java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable
StackMap stack: java.lang.Throwable
35: astore 18
36: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
aload 4
invokevirtual com.oracle.js.parser.ir.LexicalContext.pop:(Lcom/oracle/js/parser/ir/LexicalContextNode;)Lcom/oracle/js/parser/ir/LexicalContextNode;
pop
37: aload 18
athrow
38: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
aload 4
invokevirtual com.oracle.js.parser.ir.LexicalContext.pop:(Lcom/oracle/js/parser/ir/LexicalContextNode;)Lcom/oracle/js/parser/ir/LexicalContextNode;
pop
39: aload 12
ifnull 45
aload 12
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.close:()V
goto 45
StackMap locals:
StackMap stack: java.lang.Throwable
40: astore 10
aload 12
ifnull 41
aload 12
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.close:()V
end local 12 StackMap locals:
StackMap stack:
41: aload 10
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
42: astore 11
aload 10
ifnonnull 43
aload 11
astore 10
goto 44
StackMap locals:
StackMap stack:
43: aload 10
aload 11
if_acmpeq 44
aload 10
aload 11
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
44: aload 10
athrow
end local 9 end local 8 end local 7 end local 6 end local 4 45: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.TryNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
46: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.TryNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.TryNode.getFinallyBody:()Lcom/oracle/js/parser/ir/Block;
ifnull 49
47: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.TryNode.getFinallyBody:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 48: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 3
aload 0
aload 0
aload 4
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.wrapClearCompletionValue:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.wrapSaveAndRestoreCompletionValue:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createTryFinally:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
end local 4 49: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.wrapClearAndGetCompletionValue:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
50: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 51 1 tryNode Lcom/oracle/js/parser/ir/TryNode;
1 51 2 tryBlock Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 51 3 result Lcom/oracle/truffle/js/nodes/JavaScriptNode;
5 45 4 catchParamBlock Lcom/oracle/js/parser/ir/Block;
6 45 6 catchClause Lcom/oracle/js/parser/ir/CatchNode;
7 45 7 catchParameter Lcom/oracle/js/parser/ir/Expression;
8 45 8 catchBody Lcom/oracle/js/parser/ir/Block;
9 45 9 pattern Lcom/oracle/js/parser/ir/Expression;
11 41 12 catchParamEnv Lcom/oracle/truffle/js/parser/GraalJSTranslator$EnvironmentCloseable;
14 17 13 statement Lcom/oracle/js/parser/ir/Statement;
16 17 15 empty Lcom/oracle/truffle/js/nodes/JavaScriptNode;
19 34 13 writeErrorVar Lcom/oracle/truffle/js/nodes/JavaScriptNode;
20 34 14 destructuring Lcom/oracle/truffle/js/nodes/JavaScriptNode;
22 26 15 errorVarName Ljava/lang/String;
23 26 16 errorVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
27 34 15 catchBlock Lcom/oracle/truffle/js/nodes/JavaScriptNode;
29 30 16 conditionExpression Lcom/oracle/truffle/js/nodes/JavaScriptNode;
31 34 16 conditionExpression Lcom/oracle/truffle/js/nodes/JavaScriptNode;
32 34 17 blockScope Lcom/oracle/truffle/js/nodes/function/BlockScopeNode;
48 49 4 finallyBlock Lcom/oracle/truffle/js/nodes/JavaScriptNode;
Exception table:
from to target type
12 35 35 any
11 39 40 any
10 42 42 any
MethodParameters:
Name Flags
tryNode
public com.oracle.truffle.js.nodes.JavaScriptNode enterThrowNode(com.oracle.js.parser.ir.ThrowNode);
descriptor: (Lcom/oracle/js/parser/ir/ThrowNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.ThrowNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createThrow:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagStatement:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 1 1 throwNode Lcom/oracle/js/parser/ir/ThrowNode;
MethodParameters:
Name Flags
throwNode
public com.oracle.truffle.js.nodes.JavaScriptNode enterSwitchNode(com.oracle.js.parser.ir.SwitchNode);
descriptor: (Lcom/oracle/js/parser/ir/SwitchNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentBlock:()Lcom/oracle/js/parser/ir/Block;
astore 2
start local 2 1: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 2
aload 2
invokevirtual com.oracle.js.parser.ir.Block.isSwitchBlock:()Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: com.oracle.js.parser.ir.Block
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.makeUniqueTempVarNameForStatement:(Lcom/oracle/js/parser/ir/Statement;)Ljava/lang/String;
astore 3
start local 3 3: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 3
invokevirtual com.oracle.truffle.js.parser.env.Environment.declareLocalVar:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
pop
4: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.SwitchNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 5: aload 1
aload 4
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.isSwitchTypeofStringConstant:(Lcom/oracle/js/parser/ir/SwitchNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Z
istore 5
start local 5 6: iload 5
ifeq 8
7: aload 4
checkcast com.oracle.truffle.js.nodes.unary.TypeOfNode
invokevirtual com.oracle.truffle.js.nodes.unary.TypeOfNode.getOperand:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
8: StackMap locals: java.lang.String com.oracle.truffle.js.nodes.JavaScriptNode int
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 3
invokevirtual com.oracle.truffle.js.parser.env.Environment.findLocalVar:(Ljava/lang/String;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
astore 6
start local 6 9: aload 6
aload 4
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 7
start local 7 10: aconst_null
astore 9
aconst_null
astore 10
11: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
aconst_null
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.pushBreakTarget:(Ljava/lang/Object;)Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable;
astore 11
start local 11 12: getstatic com.oracle.truffle.js.runtime.JSConfig.OptimizeNoFallthroughSwitch:Z
ifeq 15
aload 1
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.isNoFallthroughSwitch:(Lcom/oracle/js/parser/ir/SwitchNode;)Z
ifeq 15
13: aload 0
aload 1
aload 6
iload 5
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.ifElseFromSwitch:(Lcom/oracle/js/parser/ir/SwitchNode;Lcom/oracle/truffle/js/parser/env/Environment$VarRef;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 14: goto 16
end local 8 15: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.SwitchNode com.oracle.js.parser.ir.Block java.lang.String com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode top java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable
StackMap stack:
aload 0
aload 1
aload 6
iload 5
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.defaultSwitchNode:(Lcom/oracle/js/parser/ir/SwitchNode;Lcom/oracle/truffle/js/parser/env/Environment$VarRef;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 16: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.SwitchNode com.oracle.js.parser.ir.Block java.lang.String com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable
StackMap stack:
aload 0
aload 8
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagStatement:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
17: aload 0
aload 11
aload 8
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable.wrapBreakTargetNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.wrapClearAndGetCompletionValue:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
18: aload 11
ifnull 24
aload 11
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable.close:()V
goto 24
end local 8 StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.SwitchNode com.oracle.js.parser.ir.Block java.lang.String com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode top java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable
StackMap stack: java.lang.Throwable
19: astore 9
aload 11
ifnull 20
aload 11
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable.close:()V
end local 11 StackMap locals:
StackMap stack:
20: aload 9
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 10
aload 9
ifnonnull 22
aload 10
astore 9
goto 23
StackMap locals:
StackMap stack:
22: aload 9
aload 10
if_acmpeq 23
aload 9
aload 10
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
23: aload 9
athrow
start local 8 24: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.SwitchNode com.oracle.js.parser.ir.Block java.lang.String com.oracle.truffle.js.nodes.JavaScriptNode int com.oracle.truffle.js.parser.env.Environment$VarRef com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
iconst_2
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
dup
iconst_0
aload 7
aastore
dup
iconst_1
aload 8
aastore
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
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 25 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 25 1 switchNode Lcom/oracle/js/parser/ir/SwitchNode;
1 25 2 switchBlock Lcom/oracle/js/parser/ir/Block;
3 25 3 switchVarName Ljava/lang/String;
5 25 4 switchExpression Lcom/oracle/truffle/js/nodes/JavaScriptNode;
6 25 5 isSwitchTypeofString Z
9 25 6 switchVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
10 25 7 writeSwitchNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
14 15 8 switchBody Lcom/oracle/truffle/js/nodes/JavaScriptNode;
16 19 8 switchBody Lcom/oracle/truffle/js/nodes/JavaScriptNode;
24 25 8 switchBody Lcom/oracle/truffle/js/nodes/JavaScriptNode;
12 20 11 target Lcom/oracle/truffle/js/parser/env/FunctionEnvironment$JumpTargetCloseable<Lcom/oracle/truffle/js/nodes/control/BreakTarget;>;
Exception table:
from to target type
12 18 19 any
11 21 21 any
MethodParameters:
Name Flags
switchNode
private com.oracle.truffle.js.nodes.JavaScriptNode defaultSwitchNode(com.oracle.js.parser.ir.SwitchNode, com.oracle.truffle.js.parser.env.Environment$VarRef, boolean);
descriptor: (Lcom/oracle/js/parser/ir/SwitchNode;Lcom/oracle/truffle/js/parser/env/Environment$VarRef;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=17, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual com.oracle.js.parser.ir.SwitchNode.getCases:()Ljava/util/List;
astore 4
start local 4 1: aload 4
invokeinterface java.util.List.size:()I
aload 1
invokevirtual com.oracle.js.parser.ir.SwitchNode.hasDefaultCase:()Z
ifeq 2
iconst_0
goto 3
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.SwitchNode com.oracle.truffle.js.parser.env.Environment$VarRef int java.util.List
StackMap stack: int
2: iconst_1
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.SwitchNode com.oracle.truffle.js.parser.env.Environment$VarRef int java.util.List
StackMap stack: int int
3: iadd
istore 5
start local 5 4: iload 5
newarray 10
astore 6
start local 6 5: iconst_m1
istore 7
start local 7 6: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 8
start local 8 7: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 9
start local 9 8: iconst_m1
istore 10
start local 10 9: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 33
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.SwitchNode com.oracle.truffle.js.parser.env.Environment$VarRef int java.util.List int int[] int java.util.List java.util.List int top java.util.Iterator
StackMap stack:
10: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.CaseNode
astore 11
start local 11 11: aload 11
invokevirtual com.oracle.js.parser.ir.CaseNode.getTest:()Lcom/oracle/js/parser/ir/Expression;
ifnull 16
12: aload 6
aload 9
invokeinterface java.util.List.size:()I
aload 8
invokeinterface java.util.List.size:()I
iastore
13: aload 2
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 13
start local 13 14: aload 9
aload 0
iload 3
aload 11
aload 13
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createSwitchCaseExpr:(ZLcom/oracle/js/parser/ir/CaseNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 13 15: goto 17
16: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.SwitchNode com.oracle.truffle.js.parser.env.Environment$VarRef int java.util.List int int[] int java.util.List java.util.List int com.oracle.js.parser.ir.CaseNode java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.List.size:()I
istore 7
17: StackMap locals:
StackMap stack:
aload 11
invokevirtual com.oracle.js.parser.ir.CaseNode.getStatements:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 33
18: aload 11
invokevirtual com.oracle.js.parser.ir.CaseNode.getStatements:()Ljava/util/List;
astore 13
start local 13 19: iconst_0
istore 14
start local 14 20: goto 32
21: StackMap locals: java.util.List int
StackMap stack:
aload 13
iload 14
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.Statement
astore 15
start local 15 22: aload 0
aload 15
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 16
start local 16 23: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.returnsLastStatementResult:()Z
ifeq 30
24: aload 15
invokevirtual com.oracle.js.parser.ir.Statement.isCompletionValueNeverEmpty:()Z
ifne 29
25: iload 10
iflt 30
26: aload 8
iload 10
aload 0
aload 8
iload 10
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.js.nodes.JavaScriptNode
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.wrapSetCompletionValue:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
27: iconst_m1
istore 10
28: goto 30
29: StackMap locals: com.oracle.js.parser.ir.Statement com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 8
invokeinterface java.util.List.size:()I
istore 10
30: StackMap locals:
StackMap stack:
aload 8
aload 16
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 16 end local 15 31: iinc 14 1
StackMap locals:
StackMap stack:
32: iload 14
aload 13
invokeinterface java.util.List.size:()I
if_icmplt 21
end local 14 end local 13 end local 11 33: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.SwitchNode com.oracle.truffle.js.parser.env.Environment$VarRef int java.util.List int int[] int java.util.List java.util.List int top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
34: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.returnsLastStatementResult:()Z
ifeq 36
iload 10
iflt 36
35: aload 8
iload 10
aload 0
aload 8
iload 10
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.js.nodes.JavaScriptNode
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.wrapSetCompletionValue:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
36: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.SwitchNode com.oracle.truffle.js.parser.env.Environment$VarRef int java.util.List int int[] int java.util.List java.util.List int
StackMap stack:
aload 6
aload 6
arraylength
iconst_1
isub
iload 7
iconst_m1
if_icmpeq 37
iload 7
goto 38
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.SwitchNode com.oracle.truffle.js.parser.env.Environment$VarRef int java.util.List int int[] int java.util.List java.util.List int
StackMap stack: int[] int
37: aload 8
invokeinterface java.util.List.size:()I
StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.SwitchNode com.oracle.truffle.js.parser.env.Environment$VarRef int java.util.List int int[] int java.util.List java.util.List int
StackMap stack: int[] int int
38: iastore
39: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 9
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.EMPTY_NODE_ARRAY:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.oracle.truffle.js.nodes.JavaScriptNode[]
aload 6
aload 8
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.EMPTY_NODE_ARRAY:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.oracle.truffle.js.nodes.JavaScriptNode[]
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createSwitch:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;[I[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/SwitchNode;
areturn
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 40 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 40 1 switchNode Lcom/oracle/js/parser/ir/SwitchNode;
0 40 2 switchVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
0 40 3 isSwitchTypeofString Z
1 40 4 cases Ljava/util/List<Lcom/oracle/js/parser/ir/CaseNode;>;
4 40 5 size I
5 40 6 jumptable [I
6 40 7 defaultpos I
7 40 8 statementList Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;
8 40 9 caseExprList Ljava/util/List<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;
9 40 10 lastNonEmptyIndex I
11 33 11 switchCase Lcom/oracle/js/parser/ir/CaseNode;
14 15 13 readSwitchVarNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
19 33 13 statements Ljava/util/List<Lcom/oracle/js/parser/ir/Statement;>;
20 33 14 i I
22 31 15 statement Lcom/oracle/js/parser/ir/Statement;
23 31 16 statementNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
switchNode
switchVar
isSwitchTypeofString
private com.oracle.truffle.js.nodes.JavaScriptNode createSwitchCaseExpr(boolean, com.oracle.js.parser.ir.CaseNode, com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (ZLcom/oracle/js/parser/ir/CaseNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.tagHiddenExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
1: iload 1
ifeq 4
2: aload 2
invokevirtual com.oracle.js.parser.ir.CaseNode.getTest:()Lcom/oracle/js/parser/ir/Expression;
checkcast com.oracle.js.parser.ir.LiteralNode
invokevirtual com.oracle.js.parser.ir.LiteralNode.getValue:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 3: aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 3
aload 4
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createTypeofIdentical:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 4 4: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.IDENTICAL:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
aload 3
aload 0
aload 2
invokevirtual com.oracle.js.parser.ir.CaseNode.getTest:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createBinary:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 5 1 isSwitchTypeofString Z
0 5 2 switchCase Lcom/oracle/js/parser/ir/CaseNode;
0 5 3 readSwitchVarNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3 4 4 typeString Ljava/lang/String;
MethodParameters:
Name Flags
isSwitchTypeofString
switchCase
readSwitchVarNode
private com.oracle.truffle.js.nodes.JavaScriptNode ifElseFromSwitch(com.oracle.js.parser.ir.SwitchNode, com.oracle.truffle.js.parser.env.Environment$VarRef, boolean);
descriptor: (Lcom/oracle/js/parser/ir/SwitchNode;Lcom/oracle/truffle/js/parser/env/Environment$VarRef;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.isNoFallthroughSwitch:(Lcom/oracle/js/parser/ir/SwitchNode;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.SwitchNode.getCases:()Ljava/util/List;
astore 4
start local 4 2: aload 1
invokevirtual com.oracle.js.parser.ir.SwitchNode.getDefaultCase:()Lcom/oracle/js/parser/ir/CaseNode;
astore 5
start local 5 3: aconst_null
astore 6
start local 6 4: aload 5
ifnull 7
5: aload 0
aload 0
aload 5
invokevirtual com.oracle.js.parser.ir.CaseNode.getStatements:()Ljava/util/List;
iconst_0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformStatements:(Ljava/util/List;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.dropTerminalDirectBreakStatement:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 6
6: aload 0
aload 6
aload 5
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.ensureHasSourceSection:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
7: StackMap locals: java.util.List com.oracle.js.parser.ir.CaseNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
iconst_0
istore 7
start local 7 8: iconst_1
istore 8
start local 8 9: aload 4
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 9
start local 9 10: goto 37
11: StackMap locals: int int int
StackMap stack:
aload 4
iload 9
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.CaseNode
astore 10
start local 10 12: aload 10
invokevirtual com.oracle.js.parser.ir.CaseNode.getTest:()Lcom/oracle/js/parser/ir/Expression;
ifnonnull 15
13: iconst_1
istore 7
14: goto 35
15: StackMap locals: com.oracle.js.parser.ir.CaseNode
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createReadNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 11
start local 11 16: aload 0
iload 3
aload 10
aload 11
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createSwitchCaseExpr:(ZLcom/oracle/js/parser/ir/CaseNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 12
start local 12 17: aload 10
invokevirtual com.oracle.js.parser.ir.CaseNode.getStatements:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 30
iload 8
ifne 30
18: iload 7
ifeq 26
19: aload 12
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.isPotentiallySideEffecting:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Z
ifeq 34
20: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 12
aconst_null
aconst_null
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createIf:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/IfNode;
astore 12
21: aload 0
aload 12
aload 10
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.ensureHasSourceSection:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
22: aload 6
ifnonnull 23
aload 0
aload 12
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.discardResult:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 24
StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
23: aload 0
iconst_2
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
dup
iconst_0
aload 12
aastore
dup
iconst_1
aload 6
aastore
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
24: astore 6
25: goto 34
26: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 27
aload 6
instanceof com.oracle.truffle.js.nodes.control.IfNode
ifne 27
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
27: StackMap locals:
StackMap stack:
aload 6
checkcast com.oracle.truffle.js.nodes.control.IfNode
astore 13
start local 13 28: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 13
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 12
aload 13
invokevirtual com.oracle.truffle.js.nodes.control.IfNode.getCondition:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createLogicalOr:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.copyIfWithCondition:(Lcom/oracle/truffle/js/nodes/control/IfNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/IfNode;
astore 6
end local 13 29: goto 34
30: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 10
invokevirtual com.oracle.js.parser.ir.CaseNode.getStatements:()Ljava/util/List;
iconst_0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformStatements:(Ljava/util/List;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.dropTerminalDirectBreakStatement:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 13
start local 13 31: aload 0
aload 13
aload 10
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.ensureHasSourceSection:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
32: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 12
aload 13
aload 6
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createIf:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/IfNode;
astore 6
33: iconst_0
istore 7
end local 13 34: StackMap locals:
StackMap stack:
aload 0
aload 6
aload 10
invokevirtual com.oracle.js.parser.ir.CaseNode.getTest:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.ensureHasSourceSection:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
end local 12 end local 11 35: StackMap locals:
StackMap stack:
iconst_0
istore 8
end local 10 36: iinc 9 -1
StackMap locals:
StackMap stack:
37: iload 9
ifge 11
end local 9 38: aload 6
ifnonnull 39
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createEmpty:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
goto 40
StackMap locals:
StackMap stack:
39: aload 6
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
40: areturn
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 41 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 41 1 switchNode Lcom/oracle/js/parser/ir/SwitchNode;
0 41 2 switchVar Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
0 41 3 isSwitchTypeofString Z
2 41 4 cases Ljava/util/List<Lcom/oracle/js/parser/ir/CaseNode;>;
3 41 5 defaultCase Lcom/oracle/js/parser/ir/CaseNode;
4 41 6 curNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
8 41 7 defaultCascade Z
9 41 8 lastCase Z
10 38 9 i I
12 36 10 caseNode Lcom/oracle/js/parser/ir/CaseNode;
16 35 11 readSwitchVarNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
17 35 12 test Lcom/oracle/truffle/js/nodes/JavaScriptNode;
28 29 13 prevIfNode Lcom/oracle/truffle/js/nodes/control/IfNode;
31 34 13 pass Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
switchNode
switchVar
isSwitchTypeofString
static boolean isPotentiallySideEffecting(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode
ifeq 2
1: aload 0
checkcast com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode
invokevirtual com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode.hasTemporalDeadZone:()Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.nodes.RepeatableNode
ifeq 3
iconst_0
goto 4
StackMap locals:
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 test Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
test
private com.oracle.truffle.js.nodes.JavaScriptNode dropTerminalDirectBreakStatement(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.truffle.js.nodes.control.SequenceNode
ifeq 4
1: aload 1
checkcast com.oracle.truffle.js.nodes.control.SequenceNode
invokeinterface com.oracle.truffle.js.nodes.control.SequenceNode.getStatements:()[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 2: aload 2
arraylength
ifle 4
aload 2
aload 2
arraylength
iconst_1
isub
aaload
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.isDirectBreakStatement:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Z
ifeq 4
3: aload 0
aload 2
iconst_0
aload 2
arraylength
iconst_1
isub
invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
checkcast com.oracle.truffle.js.nodes.JavaScriptNode[]
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.createBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 5 1 pass Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 4 2 statements [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
pass
private static boolean isDirectBreakStatement(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof com.oracle.truffle.js.nodes.control.BreakNode
ifeq 1
aload 0
checkcast com.oracle.truffle.js.nodes.control.BreakNode
invokevirtual com.oracle.truffle.js.nodes.control.BreakNode.isDirectBreak:()Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 statement Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
statement
private static boolean isNoFallthroughSwitch(com.oracle.js.parser.ir.SwitchNode);
descriptor: (Lcom/oracle/js/parser/ir/SwitchNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.js.parser.ir.SwitchNode.getCases:()Ljava/util/List;
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 12
3: StackMap locals: java.util.List int
StackMap stack:
aload 1
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.CaseNode
astore 3
start local 3 4: aload 3
invokevirtual com.oracle.js.parser.ir.CaseNode.getStatements:()Ljava/util/List;
astore 4
start local 4 5: aload 4
invokeinterface java.util.List.isEmpty:()Z
ifeq 8
6: aload 3
invokevirtual com.oracle.js.parser.ir.CaseNode.getTest:()Lcom/oracle/js/parser/ir/Expression;
ifnonnull 11
7: iconst_0
ireturn
8: StackMap locals: com.oracle.js.parser.ir.CaseNode java.util.List
StackMap stack:
aload 4
aload 4
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.Statement
astore 5
start local 5 9: aload 5
invokevirtual com.oracle.js.parser.ir.Statement.hasTerminalFlags:()Z
ifne 11
10: iconst_0
ireturn
end local 5 end local 4 end local 3 11: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
12: iload 2
aload 1
invokeinterface java.util.List.size:()I
iconst_1
isub
if_icmplt 3
end local 2 13: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 switchNode Lcom/oracle/js/parser/ir/SwitchNode;
1 14 1 cases Ljava/util/List<Lcom/oracle/js/parser/ir/CaseNode;>;
2 13 2 i I
4 11 3 caseNode Lcom/oracle/js/parser/ir/CaseNode;
5 11 4 statements Ljava/util/List<Lcom/oracle/js/parser/ir/Statement;>;
9 11 5 lastStatement Lcom/oracle/js/parser/ir/Statement;
MethodParameters:
Name Flags
switchNode
private static boolean isSwitchTypeofStringConstant(com.oracle.js.parser.ir.SwitchNode, com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/js/parser/ir/SwitchNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=5, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.truffle.js.nodes.unary.TypeOfNode
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.js.parser.ir.SwitchNode.getCases:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 7
StackMap locals: com.oracle.js.parser.ir.SwitchNode com.oracle.truffle.js.nodes.JavaScriptNode top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.CaseNode
astore 2
start local 2 4: aload 2
invokevirtual com.oracle.js.parser.ir.CaseNode.getTest:()Lcom/oracle/js/parser/ir/Expression;
astore 4
start local 4 5: aload 4
ifnull 7
aload 4
instanceof com.oracle.js.parser.ir.LiteralNode
ifeq 6
aload 4
checkcast com.oracle.js.parser.ir.LiteralNode
invokevirtual com.oracle.js.parser.ir.LiteralNode.getValue:()Ljava/lang/Object;
instanceof java.lang.String
ifne 7
6: StackMap locals: com.oracle.js.parser.ir.SwitchNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.js.parser.ir.CaseNode java.util.Iterator com.oracle.js.parser.ir.Node
StackMap stack:
iconst_0
ireturn
end local 4 end local 2 7: StackMap locals: com.oracle.js.parser.ir.SwitchNode com.oracle.truffle.js.nodes.JavaScriptNode top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 switchNode Lcom/oracle/js/parser/ir/SwitchNode;
0 9 1 switchExpression Lcom/oracle/truffle/js/nodes/JavaScriptNode;
4 7 2 switchCase Lcom/oracle/js/parser/ir/CaseNode;
5 7 4 test Lcom/oracle/js/parser/ir/Node;
MethodParameters:
Name Flags
switchNode
switchExpression
private com.oracle.truffle.js.nodes.JavaScriptNode discardResult(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.returnsLastStatementResult:()Z
ifeq 2
1: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
iconst_1
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
dup
iconst_0
aload 1
aastore
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createVoidBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
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 Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 3 1 test Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
test
public com.oracle.truffle.js.nodes.JavaScriptNode enterEmptyNode(com.oracle.js.parser.ir.EmptyNode);
descriptor: (Lcom/oracle/js/parser/ir/EmptyNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createEmpty:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 1 1 emptyNode Lcom/oracle/js/parser/ir/EmptyNode;
MethodParameters:
Name Flags
emptyNode
public com.oracle.truffle.js.nodes.JavaScriptNode enterWithNode(com.oracle.js.parser.ir.WithNode);
descriptor: (Lcom/oracle/js/parser/ir/WithNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionDisableWith:()Z
ifeq 2
1: ldc "with statement is disabled."
invokestatic com.oracle.truffle.js.runtime.Errors.createSyntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.WithNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 3: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
iconst_1
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createToObjectFromWith:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 4: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.makeUniqueTempVarNameForStatement:(Lcom/oracle/js/parser/ir/Statement;)Ljava/lang/String;
astore 4
start local 4 5: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 4
invokevirtual com.oracle.truffle.js.parser.env.Environment.declareLocalVar:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
pop
6: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 4
invokevirtual com.oracle.truffle.js.parser.env.Environment.findLocalVar:(Ljava/lang/String;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
aload 3
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 5
start local 5 7: aconst_null
astore 6
aconst_null
astore 7
8: aload 0
aload 4
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterWithEnvironment:(Ljava/lang/String;)Lcom/oracle/truffle/js/parser/GraalJSTranslator$EnvironmentCloseable;
astore 8
start local 8 9: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.WithNode.getBody:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 9
start local 9 10: aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 5
aload 0
aload 9
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.wrapClearAndGetCompletionValue:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createWith:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagStatement:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
11: aload 8
ifnull 12
aload 8
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.close:()V
12: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.WithNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode java.lang.String com.oracle.truffle.js.nodes.JavaScriptNode java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
areturn
end local 9 StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.WithNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode java.lang.String com.oracle.truffle.js.nodes.JavaScriptNode java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable
StackMap stack: java.lang.Throwable
13: astore 6
14: aload 8
ifnull 15
aload 8
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.close:()V
end local 8 StackMap locals:
StackMap stack:
15: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
16: astore 7
aload 6
ifnonnull 17
aload 7
astore 6
goto 18
StackMap locals:
StackMap stack:
17: aload 6
aload 7
if_acmpeq 18
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
18: aload 6
athrow
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 19 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 19 1 withNode Lcom/oracle/js/parser/ir/WithNode;
3 19 2 withExpression Lcom/oracle/truffle/js/nodes/JavaScriptNode;
4 19 3 toObject Lcom/oracle/truffle/js/nodes/JavaScriptNode;
5 19 4 withVarName Ljava/lang/String;
7 19 5 writeWith Lcom/oracle/truffle/js/nodes/JavaScriptNode;
9 15 8 withEnv Lcom/oracle/truffle/js/parser/GraalJSTranslator$EnvironmentCloseable;
10 13 9 withBody Lcom/oracle/truffle/js/nodes/JavaScriptNode;
Exception table:
from to target type
9 11 13 any
8 12 16 any
13 16 16 any
MethodParameters:
Name Flags
withNode
private com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable enterWithEnvironment(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/js/parser/GraalJSTranslator$EnvironmentCloseable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable
dup
aload 0
new com.oracle.truffle.js.parser.env.WithEnvironment
dup
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 1
invokespecial com.oracle.truffle.js.parser.env.WithEnvironment.<init>:(Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;)V
invokespecial com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.<init>:(Lcom/oracle/truffle/js/parser/GraalJSTranslator;Lcom/oracle/truffle/js/parser/env/Environment;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 1 1 withVarName Ljava/lang/String;
MethodParameters:
Name Flags
withVarName
public com.oracle.truffle.js.nodes.JavaScriptNode enterRuntimeNode(com.oracle.js.parser.ir.RuntimeNode);
descriptor: (Lcom/oracle/js/parser/ir/RuntimeNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.RuntimeNode.getRequest:()Lcom/oracle/js/parser/ir/RuntimeNode$Request;
getstatic com.oracle.js.parser.ir.RuntimeNode$Request.REFERENCE_ERROR:Lcom/oracle/js/parser/ir/RuntimeNode$Request;
if_acmpne 3
1: ldc "parser.error.invalid.lvalue"
iconst_0
anewarray java.lang.String
invokestatic com.oracle.js.parser.ECMAErrors.getMessage:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
getstatic com.oracle.truffle.js.runtime.JSErrorType.ReferenceError:Lcom/oracle/truffle/js/runtime/JSErrorType;
aload 2
aload 1
invokevirtual com.oracle.js.parser.ir.RuntimeNode.getToken:()J
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.lc:Lcom/oracle/js/parser/ir/LexicalContext;
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.error:(Ljava/lang/String;JLcom/oracle/js/parser/ir/LexicalContext;)Ljava/lang/String;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createThrowError:(Lcom/oracle/truffle/js/runtime/JSErrorType;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 3: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.RuntimeNode.getRequest:()Lcom/oracle/js/parser/ir/RuntimeNode$Request;
getstatic com.oracle.js.parser.ir.RuntimeNode$Request.GET_TEMPLATE_OBJECT:Lcom/oracle/js/parser/ir/RuntimeNode$Request;
if_acmpne 7
4: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.RuntimeNode.getArgs:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.Node
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 5: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.RuntimeNode.getArgs:()Ljava/util/List;
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.Node
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 6: aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
aload 3
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createTemplateObject:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 3 end local 2 7: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.js.parser.ir.RuntimeNode.getRequest:()Lcom/oracle/js/parser/ir/RuntimeNode$Request;
getstatic com.oracle.js.parser.ir.RuntimeNode$Request.TO_STRING:Lcom/oracle/js/parser/ir/RuntimeNode$Request;
if_acmpne 10
8: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.RuntimeNode.getArgs:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.Node
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 9: aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createToString:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 10: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
aload 1
invokevirtual com.oracle.js.parser.ir.RuntimeNode.toString:()Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 11 1 runtimeNode Lcom/oracle/js/parser/ir/RuntimeNode;
2 3 2 msg Ljava/lang/String;
5 7 2 rawStrings Lcom/oracle/truffle/js/nodes/JavaScriptNode;
6 7 3 cookedStrings Lcom/oracle/truffle/js/nodes/JavaScriptNode;
9 10 2 value Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
runtimeNode
public com.oracle.truffle.js.nodes.JavaScriptNode enterDebuggerNode(com.oracle.js.parser.ir.DebuggerNode);
descriptor: (Lcom/oracle/js/parser/ir/DebuggerNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDebugger:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagStatement:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 1 1 debuggerNode Lcom/oracle/js/parser/ir/DebuggerNode;
MethodParameters:
Name Flags
debuggerNode
protected static java.lang.String error(java.lang.String, long, com.oracle.js.parser.ir.LexicalContext);
descriptor: (Ljava/lang/String;JLcom/oracle/js/parser/ir/LexicalContext;)Ljava/lang/String;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 3 0: lload 1
invokestatic com.oracle.js.parser.Token.descPosition:(J)I
istore 4
start local 4 1: aload 3
invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentFunction:()Lcom/oracle/js/parser/ir/FunctionNode;
invokevirtual com.oracle.js.parser.ir.FunctionNode.getSource:()Lcom/oracle/js/parser/Source;
astore 5
start local 5 2: aload 5
iload 4
invokevirtual com.oracle.js.parser.Source.getLine:(I)I
istore 6
start local 6 3: aload 5
iload 4
invokevirtual com.oracle.js.parser.Source.getColumn:(I)I
istore 7
start local 7 4: aload 0
aload 5
iload 6
iload 7
lload 1
invokestatic com.oracle.js.parser.ErrorManager.format:(Ljava/lang/String;Lcom/oracle/js/parser/Source;IIJ)Ljava/lang/String;
astore 8
start local 8 5: aload 8
ldc "\r\n"
ldc "\n"
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 message Ljava/lang/String;
0 6 1 errorToken J
0 6 3 lc Lcom/oracle/js/parser/ir/LexicalContext;
1 6 4 position I
2 6 5 internalSource Lcom/oracle/js/parser/Source;
3 6 6 lineNum I
4 6 7 columnNum I
5 6 8 formatted Ljava/lang/String;
MethodParameters:
Name Flags
message final
errorToken final
lc final
public com.oracle.truffle.js.nodes.JavaScriptNode enterExpressionStatement(com.oracle.js.parser.ir.ExpressionStatement);
descriptor: (Lcom/oracle/js/parser/ir/ExpressionStatement;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.ExpressionStatement.getExpression:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 1: aload 0
aload 2
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagStatement:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 2 1 expressionStatement Lcom/oracle/js/parser/ir/ExpressionStatement;
1 2 2 expression Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
expressionStatement
public com.oracle.truffle.js.nodes.JavaScriptNode enterJoinPredecessorExpression(com.oracle.js.parser.ir.JoinPredecessorExpression);
descriptor: (Lcom/oracle/js/parser/ir/JoinPredecessorExpression;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.JoinPredecessorExpression.getExpression:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 1 1 expr Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
MethodParameters:
Name Flags
expr
public com.oracle.truffle.js.nodes.JavaScriptNode enterClassNode(com.oracle.js.parser.ir.ClassNode);
descriptor: (Lcom/oracle/js/parser/ir/ClassNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=13, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.ClassNode.getScope:()Lcom/oracle/js/parser/ir/Scope;
astore 2
start local 2 1: aconst_null
astore 3
aconst_null
astore 4
2: aload 0
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterBlockEnvironment:(Lcom/oracle/js/parser/ir/Scope;)Lcom/oracle/truffle/js/parser/GraalJSTranslator$EnvironmentCloseable;
astore 5
start local 5 3: aconst_null
astore 6
start local 6 4: aconst_null
astore 7
start local 7 5: aload 1
invokevirtual com.oracle.js.parser.ir.ClassNode.getIdent:()Lcom/oracle/js/parser/ir/IdentNode;
ifnull 8
6: aload 1
invokevirtual com.oracle.js.parser.ir.ClassNode.getIdent:()Lcom/oracle/js/parser/ir/IdentNode;
invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
astore 6
7: aload 2
aload 6
invokevirtual com.oracle.js.parser.ir.Scope.getExistingSymbol:(Ljava/lang/String;)Lcom/oracle/js/parser/ir/Symbol;
astore 7
8: StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.ClassNode com.oracle.js.parser.ir.Scope java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable java.lang.String com.oracle.js.parser.ir.Symbol
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.ClassNode.getClassHeritage:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
start local 8 9: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.ClassNode.getConstructor:()Lcom/oracle/js/parser/ir/PropertyNode;
invokevirtual com.oracle.js.parser.ir.PropertyNode.getValue:()Lcom/oracle/js/parser/ir/Expression;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 9
start local 9 10: aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.ClassNode.getClassElements:()Ljava/util/List;
iconst_1
aload 7
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transformPropertyDefinitionList:(Ljava/util/List;ZLcom/oracle/js/parser/ir/Symbol;)Ljava/util/ArrayList;
astore 10
start local 10 11: aload 6
ifnonnull 12
aconst_null
goto 13
StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode java.util.ArrayList
StackMap stack:
12: aload 0
aload 6
iconst_1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.findScopeVar:(Ljava/lang/String;Z)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
aconst_null
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode
StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode
13: astore 11
start local 11 14: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 9
checkcast com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode
aload 8
15: aload 10
getstatic com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode.EMPTY:[Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[]
aload 11
aload 6
16: aload 1
invokevirtual com.oracle.js.parser.ir.ClassNode.getInstanceFieldCount:()I
aload 1
invokevirtual com.oracle.js.parser.ir.ClassNode.getStaticFieldCount:()I
aload 1
invokevirtual com.oracle.js.parser.ir.ClassNode.hasPrivateInstanceMethods:()Z
17: invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createClassDefinition:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSFunctionExpressionNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Ljava/lang/String;IIZ)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 12
start local 12 18: aload 1
invokevirtual com.oracle.js.parser.ir.ClassNode.hasPrivateMethods:()Z
ifeq 20
19: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
ldc "#constructor"
invokevirtual com.oracle.truffle.js.parser.env.Environment.findLocalVar:(Ljava/lang/String;)Lcom/oracle/truffle/js/parser/env/Environment$VarRef;
aload 12
invokevirtual com.oracle.truffle.js.parser.env.Environment$VarRef.createWriteNode:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 12
20: StackMap locals: com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
aload 5
aload 12
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.wrapBlockScope:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
21: aload 5
ifnull 22
aload 5
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.close:()V
22: StackMap locals:
StackMap stack: com.oracle.truffle.js.nodes.JavaScriptNode
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 StackMap locals: com.oracle.truffle.js.parser.GraalJSTranslator com.oracle.js.parser.ir.ClassNode com.oracle.js.parser.ir.Scope java.lang.Throwable java.lang.Throwable com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable
StackMap stack: java.lang.Throwable
23: astore 3
24: aload 5
ifnull 25
aload 5
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable.close:()V
end local 5 StackMap locals:
StackMap stack:
25: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
26: astore 4
aload 3
ifnonnull 27
aload 4
astore 3
goto 28
StackMap locals:
StackMap stack:
27: aload 3
aload 4
if_acmpeq 28
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
28: aload 3
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 29 1 classNode Lcom/oracle/js/parser/ir/ClassNode;
1 29 2 classScope Lcom/oracle/js/parser/ir/Scope;
3 25 5 blockEnv Lcom/oracle/truffle/js/parser/GraalJSTranslator$EnvironmentCloseable;
4 23 6 className Ljava/lang/String;
5 23 7 classNameSymbol Lcom/oracle/js/parser/ir/Symbol;
9 23 8 classHeritage Lcom/oracle/truffle/js/nodes/JavaScriptNode;
10 23 9 classFunction Lcom/oracle/truffle/js/nodes/JavaScriptNode;
11 23 10 members Ljava/util/ArrayList<Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;>;
14 23 11 writeClassBinding Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
18 23 12 classDefinition Lcom/oracle/truffle/js/nodes/JavaScriptNode;
Exception table:
from to target type
3 21 23 any
2 22 26 any
23 26 26 any
MethodParameters:
Name Flags
classNode
public com.oracle.truffle.js.nodes.JavaScriptNode enterBlockExpression(com.oracle.js.parser.ir.BlockExpression);
descriptor: (Lcom/oracle/js/parser/ir/BlockExpression;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
aload 1
invokevirtual com.oracle.js.parser.ir.BlockExpression.getBlock:()Lcom/oracle/js/parser/ir/Block;
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.transform:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 1 1 blockExpression Lcom/oracle/js/parser/ir/BlockExpression;
MethodParameters:
Name Flags
blockExpression
public com.oracle.truffle.js.nodes.JavaScriptNode enterParameterNode(com.oracle.js.parser.ir.ParameterNode);
descriptor: (Lcom/oracle/js/parser/ir/ParameterNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.currentFunction:()Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.js.parser.ir.ParameterNode.isRestParameter:()Z
ifeq 4
2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getLeadingArgumentCount:()I
aload 1
invokevirtual com.oracle.js.parser.ir.ParameterNode.getIndex:()I
iadd
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getTrailingArgumentCount:()I
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAccessRestArgument:(Lcom/oracle/truffle/js/runtime/JSContext;II)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 3: goto 5
end local 3 4: StackMap locals: com.oracle.truffle.js.parser.env.FunctionEnvironment
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.factory:Lcom/oracle/truffle/js/nodes/NodeFactory;
aload 2
invokevirtual com.oracle.truffle.js.parser.env.FunctionEnvironment.getLeadingArgumentCount:()I
aload 1
invokevirtual com.oracle.js.parser.ir.ParameterNode.getIndex:()I
iadd
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAccessArgument:(I)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 5: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 0
aload 3
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.tagHiddenExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.tagExpression:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 6 1 paramNode Lcom/oracle/js/parser/ir/ParameterNode;
1 6 2 currentFunction Lcom/oracle/truffle/js/parser/env/FunctionEnvironment;
3 4 3 valueNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
5 6 3 valueNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
paramNode
protected com.oracle.truffle.js.nodes.JavaScriptNode enterDefault(com.oracle.js.parser.ir.Node);
descriptor: (Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.parser.GraalJSTranslator.shouldNotReachHere:(Lcom/oracle/js/parser/ir/Node;)Ljava/lang/AssertionError;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 1 1 node Lcom/oracle/js/parser/ir/Node;
MethodParameters:
Name Flags
node
private static java.lang.AssertionError shouldNotReachHere(com.oracle.js.parser.ir.Node);
descriptor: (Lcom/oracle/js/parser/ir/Node;)Ljava/lang/AssertionError;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: new java.lang.AssertionError
dup
ldc "should not reach here. %s(%s)"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 0
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 node Lcom/oracle/js/parser/ir/Node;
MethodParameters:
Name Flags
node
private com.oracle.truffle.api.source.SourceSection createSourceSection(com.oracle.js.parser.ir.FunctionNode);
descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.getStartWithoutParens:()I
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.prologLength:I
isub
istore 2
start local 2 1: aload 1
invokevirtual com.oracle.js.parser.ir.FunctionNode.getFinishWithoutParens:()I
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.prologLength:I
isub
istore 3
start local 3 2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.sourceLength:I
istore 4
start local 4 3: iload 3
ifle 4
iload 4
iload 2
if_icmpgt 5
4: StackMap locals: int int int
StackMap stack:
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.source:Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.createUnavailableSection:()Lcom/oracle/truffle/api/source/SourceSection;
areturn
5: StackMap locals:
StackMap stack:
iconst_0
iload 2
invokestatic java.lang.Math.max:(II)I
istore 2
6: iload 4
iload 3
invokestatic java.lang.Math.min:(II)I
istore 3
7: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.source:Lcom/oracle/truffle/api/source/Source;
iload 2
iload 3
iload 2
isub
invokevirtual com.oracle.truffle.api.source.Source.createSection:(II)Lcom/oracle/truffle/api/source/SourceSection;
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 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 8 1 functionNode Lcom/oracle/js/parser/ir/FunctionNode;
1 8 2 start I
2 8 3 finish I
3 8 4 length I
MethodParameters:
Name Flags
functionNode
private com.oracle.truffle.js.nodes.JavaScriptNode ensureHasSourceSection(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.js.parser.ir.Node);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasSourceSection:()Z
ifne 4
1: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.assignSourceSection:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)V
2: aload 1
instanceof com.oracle.truffle.js.nodes.access.GlobalScopeVarWrapperNode
ifeq 4
3: aload 0
aload 1
checkcast com.oracle.truffle.js.nodes.access.GlobalScopeVarWrapperNode
invokevirtual com.oracle.truffle.js.nodes.access.GlobalScopeVarWrapperNode.getDelegateNode:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.ensureHasSourceSection:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
pop
4: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 5 1 resultNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 5 2 parseNode Lcom/oracle/js/parser/ir/Node;
MethodParameters:
Name Flags
resultNode
parseNode
private void assignSourceSection(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.js.parser.ir.Node);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/js/parser/ir/Node;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual com.oracle.js.parser.ir.Node.getStart:()I
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.prologLength:I
isub
istore 3
start local 3 1: aload 2
invokevirtual com.oracle.js.parser.ir.Node.getFinish:()I
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.prologLength:I
isub
istore 4
start local 4 2: aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.sourceLength:I
istore 5
start local 5 3: iload 4
ifle 4
iload 5
iload 3
if_icmpgt 6
4: StackMap locals: int int int
StackMap stack:
aload 1
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.source:Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.createUnavailableSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.setSourceSection:(Lcom/oracle/truffle/api/source/SourceSection;)V
5: goto 9
6: StackMap locals:
StackMap stack:
iconst_0
iload 3
invokestatic java.lang.Math.max:(II)I
istore 3
7: iload 5
iload 4
invokestatic java.lang.Math.min:(II)I
istore 4
8: aload 1
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.source:Lcom/oracle/truffle/api/source/Source;
iload 3
iload 4
iload 3
isub
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.setSourceSection:(Lcom/oracle/truffle/api/source/Source;II)V
9: StackMap locals:
StackMap stack:
return
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 Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 10 1 resultNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 10 2 parseNode Lcom/oracle/js/parser/ir/Node;
1 10 3 start I
2 10 4 finish I
3 10 5 length I
MethodParameters:
Name Flags
resultNode
parseNode
private java.lang.String makeUniqueTempVarNameForStatement(com.oracle.js.parser.ir.Statement);
descriptor: (Lcom/oracle/js/parser/ir/Statement;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
bipush 58
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 1
invokevirtual com.oracle.js.parser.ir.Statement.getLineNumber:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 1
invokevirtual com.oracle.js.parser.ir.Statement.getStart:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 1: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$assertionsDisabled:Z
ifne 2
aload 0
getfield com.oracle.truffle.js.parser.GraalJSTranslator.environment:Lcom/oracle/truffle/js/parser/env/Environment;
aload 2
invokevirtual com.oracle.truffle.js.parser.env.Environment.hasLocalVar:(Ljava/lang/String;)Z
ifeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: java.lang.String
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 3 1 statement Lcom/oracle/js/parser/ir/Statement;
1 3 2 name Ljava/lang/String;
MethodParameters:
Name Flags
statement
public java.lang.Object enterContinueNode(com.oracle.js.parser.ir.ContinueNode);
descriptor: (Lcom/oracle/js/parser/ir/ContinueNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterContinueNode:(Lcom/oracle/js/parser/ir/ContinueNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterLiteralNode(com.oracle.js.parser.ir.LiteralNode);
descriptor: (Lcom/oracle/js/parser/ir/LiteralNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterLiteralNode:(Lcom/oracle/js/parser/ir/LiteralNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterReturnNode(com.oracle.js.parser.ir.ReturnNode);
descriptor: (Lcom/oracle/js/parser/ir/ReturnNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterReturnNode:(Lcom/oracle/js/parser/ir/ReturnNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterLabelNode(com.oracle.js.parser.ir.LabelNode);
descriptor: (Lcom/oracle/js/parser/ir/LabelNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterLabelNode:(Lcom/oracle/js/parser/ir/LabelNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterRuntimeNode(com.oracle.js.parser.ir.RuntimeNode);
descriptor: (Lcom/oracle/js/parser/ir/RuntimeNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterRuntimeNode:(Lcom/oracle/js/parser/ir/RuntimeNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterSwitchNode(com.oracle.js.parser.ir.SwitchNode);
descriptor: (Lcom/oracle/js/parser/ir/SwitchNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterSwitchNode:(Lcom/oracle/js/parser/ir/SwitchNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterBlockStatement(com.oracle.js.parser.ir.BlockStatement);
descriptor: (Lcom/oracle/js/parser/ir/BlockStatement;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterBlockStatement:(Lcom/oracle/js/parser/ir/BlockStatement;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterThrowNode(com.oracle.js.parser.ir.ThrowNode);
descriptor: (Lcom/oracle/js/parser/ir/ThrowNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterThrowNode:(Lcom/oracle/js/parser/ir/ThrowNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterCallNode(com.oracle.js.parser.ir.CallNode);
descriptor: (Lcom/oracle/js/parser/ir/CallNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterCallNode:(Lcom/oracle/js/parser/ir/CallNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterVarNode(com.oracle.js.parser.ir.VarNode);
descriptor: (Lcom/oracle/js/parser/ir/VarNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterVarNode:(Lcom/oracle/js/parser/ir/VarNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterParameterNode(com.oracle.js.parser.ir.ParameterNode);
descriptor: (Lcom/oracle/js/parser/ir/ParameterNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterParameterNode:(Lcom/oracle/js/parser/ir/ParameterNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterForNode(com.oracle.js.parser.ir.ForNode);
descriptor: (Lcom/oracle/js/parser/ir/ForNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterForNode:(Lcom/oracle/js/parser/ir/ForNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterBinaryNode(com.oracle.js.parser.ir.BinaryNode);
descriptor: (Lcom/oracle/js/parser/ir/BinaryNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterBinaryNode:(Lcom/oracle/js/parser/ir/BinaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterObjectNode(com.oracle.js.parser.ir.ObjectNode);
descriptor: (Lcom/oracle/js/parser/ir/ObjectNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterObjectNode:(Lcom/oracle/js/parser/ir/ObjectNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterExpressionStatement(com.oracle.js.parser.ir.ExpressionStatement);
descriptor: (Lcom/oracle/js/parser/ir/ExpressionStatement;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterExpressionStatement:(Lcom/oracle/js/parser/ir/ExpressionStatement;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterEmptyNode(com.oracle.js.parser.ir.EmptyNode);
descriptor: (Lcom/oracle/js/parser/ir/EmptyNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterEmptyNode:(Lcom/oracle/js/parser/ir/EmptyNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterIfNode(com.oracle.js.parser.ir.IfNode);
descriptor: (Lcom/oracle/js/parser/ir/IfNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterIfNode:(Lcom/oracle/js/parser/ir/IfNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterTryNode(com.oracle.js.parser.ir.TryNode);
descriptor: (Lcom/oracle/js/parser/ir/TryNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterTryNode:(Lcom/oracle/js/parser/ir/TryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterDebuggerNode(com.oracle.js.parser.ir.DebuggerNode);
descriptor: (Lcom/oracle/js/parser/ir/DebuggerNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterDebuggerNode:(Lcom/oracle/js/parser/ir/DebuggerNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterWithNode(com.oracle.js.parser.ir.WithNode);
descriptor: (Lcom/oracle/js/parser/ir/WithNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterWithNode:(Lcom/oracle/js/parser/ir/WithNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterTernaryNode(com.oracle.js.parser.ir.TernaryNode);
descriptor: (Lcom/oracle/js/parser/ir/TernaryNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterTernaryNode:(Lcom/oracle/js/parser/ir/TernaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterFunctionNode(com.oracle.js.parser.ir.FunctionNode);
descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterFunctionNode:(Lcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterBlockExpression(com.oracle.js.parser.ir.BlockExpression);
descriptor: (Lcom/oracle/js/parser/ir/BlockExpression;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterBlockExpression:(Lcom/oracle/js/parser/ir/BlockExpression;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterUnaryNode(com.oracle.js.parser.ir.UnaryNode);
descriptor: (Lcom/oracle/js/parser/ir/UnaryNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterUnaryNode:(Lcom/oracle/js/parser/ir/UnaryNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterWhileNode(com.oracle.js.parser.ir.WhileNode);
descriptor: (Lcom/oracle/js/parser/ir/WhileNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterWhileNode:(Lcom/oracle/js/parser/ir/WhileNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterIndexNode(com.oracle.js.parser.ir.IndexNode);
descriptor: (Lcom/oracle/js/parser/ir/IndexNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterIndexNode:(Lcom/oracle/js/parser/ir/IndexNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterBlock(com.oracle.js.parser.ir.Block);
descriptor: (Lcom/oracle/js/parser/ir/Block;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterBlock:(Lcom/oracle/js/parser/ir/Block;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterIdentNode(com.oracle.js.parser.ir.IdentNode);
descriptor: (Lcom/oracle/js/parser/ir/IdentNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterIdentNode:(Lcom/oracle/js/parser/ir/IdentNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterAccessNode(com.oracle.js.parser.ir.AccessNode);
descriptor: (Lcom/oracle/js/parser/ir/AccessNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterAccessNode:(Lcom/oracle/js/parser/ir/AccessNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterClassNode(com.oracle.js.parser.ir.ClassNode);
descriptor: (Lcom/oracle/js/parser/ir/ClassNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterClassNode:(Lcom/oracle/js/parser/ir/ClassNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterBreakNode(com.oracle.js.parser.ir.BreakNode);
descriptor: (Lcom/oracle/js/parser/ir/BreakNode;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterBreakNode:(Lcom/oracle/js/parser/ir/BreakNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
protected java.lang.Object enterDefault(com.oracle.js.parser.ir.Node);
descriptor: (Lcom/oracle/js/parser/ir/Node;)Ljava/lang/Object;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object enterJoinPredecessorExpression(com.oracle.js.parser.ir.JoinPredecessorExpression);
descriptor: (Lcom/oracle/js/parser/ir/JoinPredecessorExpression;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.enterJoinPredecessorExpression:(Lcom/oracle/js/parser/ir/JoinPredecessorExpression;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
static int[] $SWITCH_TABLE$com$oracle$js$parser$TokenType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.truffle.js.parser.GraalJSTranslator.$SWITCH_TABLE$com$oracle$js$parser$TokenType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.js.parser.TokenType.values:()[Lcom/oracle/js/parser/TokenType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.js.parser.TokenType.ADD:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 21
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.js.parser.TokenType.AND:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 12
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.oracle.js.parser.TokenType.ARRAY:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
sipush 130
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.oracle.js.parser.TokenType.ARROW:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 40
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic com.oracle.js.parser.TokenType.AS:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 63
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic com.oracle.js.parser.TokenType.ASSIGN:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 37
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic com.oracle.js.parser.TokenType.ASSIGN_ADD:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 23
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic com.oracle.js.parser.TokenType.ASSIGN_AND:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 14
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic com.oracle.js.parser.TokenType.ASSIGN_BIT_AND:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 13
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic com.oracle.js.parser.TokenType.ASSIGN_BIT_OR:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 54
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic com.oracle.js.parser.TokenType.ASSIGN_BIT_XOR:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 51
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic com.oracle.js.parser.TokenType.ASSIGN_DIV:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 30
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic com.oracle.js.parser.TokenType.ASSIGN_EXP:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 20
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic com.oracle.js.parser.TokenType.ASSIGN_INIT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
sipush 143
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
getstatic com.oracle.js.parser.TokenType.ASSIGN_MOD:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 10
iastore
45: goto 47
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
46: pop
StackMap locals:
StackMap stack:
47: aload 0
getstatic com.oracle.js.parser.TokenType.ASSIGN_MUL:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 18
iastore
48: goto 50
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
49: pop
StackMap locals:
StackMap stack:
50: aload 0
getstatic com.oracle.js.parser.TokenType.ASSIGN_NULLCOAL:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 61
iastore
51: goto 53
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
52: pop
StackMap locals:
StackMap stack:
53: aload 0
getstatic com.oracle.js.parser.TokenType.ASSIGN_OR:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 56
iastore
54: goto 56
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
55: pop
StackMap locals:
StackMap stack:
56: aload 0
getstatic com.oracle.js.parser.TokenType.ASSIGN_SAR:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 44
iastore
57: goto 59
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
58: pop
StackMap locals:
StackMap stack:
59: aload 0
getstatic com.oracle.js.parser.TokenType.ASSIGN_SHL:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 35
iastore
60: goto 62
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
61: pop
StackMap locals:
StackMap stack:
62: aload 0
getstatic com.oracle.js.parser.TokenType.ASSIGN_SHR:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 46
iastore
63: goto 65
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
64: pop
StackMap locals:
StackMap stack:
65: aload 0
getstatic com.oracle.js.parser.TokenType.ASSIGN_SUB:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 27
iastore
66: goto 68
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
67: pop
StackMap locals:
StackMap stack:
68: aload 0
getstatic com.oracle.js.parser.TokenType.ASYNC:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 64
iastore
69: goto 71
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
70: pop
StackMap locals:
StackMap stack:
71: aload 0
getstatic com.oracle.js.parser.TokenType.AWAIT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 65
iastore
72: goto 74
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
73: pop
StackMap locals:
StackMap stack:
74: aload 0
getstatic com.oracle.js.parser.TokenType.BIGINT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 121
iastore
75: goto 77
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
76: pop
StackMap locals:
StackMap stack:
77: aload 0
getstatic com.oracle.js.parser.TokenType.BINARY_NUMBER:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 120
iastore
78: goto 80
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
79: pop
StackMap locals:
StackMap stack:
80: aload 0
getstatic com.oracle.js.parser.TokenType.BIT_AND:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 11
iastore
81: goto 83
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
82: pop
StackMap locals:
StackMap stack:
83: aload 0
getstatic com.oracle.js.parser.TokenType.BIT_NOT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 58
iastore
84: goto 86
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
85: pop
StackMap locals:
StackMap stack:
86: aload 0
getstatic com.oracle.js.parser.TokenType.BIT_OR:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 53
iastore
87: goto 89
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
88: pop
StackMap locals:
StackMap stack:
89: aload 0
getstatic com.oracle.js.parser.TokenType.BIT_XOR:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 50
iastore
90: goto 92
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
91: pop
StackMap locals:
StackMap stack:
92: aload 0
getstatic com.oracle.js.parser.TokenType.BREAK:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 66
iastore
93: goto 95
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
94: pop
StackMap locals:
StackMap stack:
95: aload 0
getstatic com.oracle.js.parser.TokenType.CASE:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 67
iastore
96: goto 98
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
97: pop
StackMap locals:
StackMap stack:
98: aload 0
getstatic com.oracle.js.parser.TokenType.CATCH:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 68
iastore
99: goto 101
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
100: pop
StackMap locals:
StackMap stack:
101: aload 0
getstatic com.oracle.js.parser.TokenType.CLASS:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 69
iastore
102: goto 104
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
103: pop
StackMap locals:
StackMap stack:
104: aload 0
getstatic com.oracle.js.parser.TokenType.COLON:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 31
iastore
105: goto 107
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
106: pop
StackMap locals:
StackMap stack:
107: aload 0
getstatic com.oracle.js.parser.TokenType.COMMALEFT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
sipush 136
iastore
108: goto 110
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
109: pop
StackMap locals:
StackMap stack:
110: aload 0
getstatic com.oracle.js.parser.TokenType.COMMARIGHT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 24
iastore
111: goto 113
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
112: pop
StackMap locals:
StackMap stack:
113: aload 0
getstatic com.oracle.js.parser.TokenType.COMMENT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
iconst_4
iastore
114: goto 116
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
115: pop
StackMap locals:
StackMap stack:
116: aload 0
getstatic com.oracle.js.parser.TokenType.CONST:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 70
iastore
117: goto 119
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
118: pop
StackMap locals:
StackMap stack:
119: aload 0
getstatic com.oracle.js.parser.TokenType.CONTINUE:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 71
iastore
120: goto 122
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
121: pop
StackMap locals:
StackMap stack:
122: aload 0
getstatic com.oracle.js.parser.TokenType.DEBUGGER:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 72
iastore
123: goto 125
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
124: pop
StackMap locals:
StackMap stack:
125: aload 0
getstatic com.oracle.js.parser.TokenType.DECIMAL:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 115
iastore
126: goto 128
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
127: pop
StackMap locals:
StackMap stack:
128: aload 0
getstatic com.oracle.js.parser.TokenType.DECPOSTFIX:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
sipush 137
iastore
129: goto 131
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
130: pop
StackMap locals:
StackMap stack:
131: aload 0
getstatic com.oracle.js.parser.TokenType.DECPREFIX:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 26
iastore
132: goto 134
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
133: pop
StackMap locals:
StackMap stack:
134: aload 0
getstatic com.oracle.js.parser.TokenType.DEFAULT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 73
iastore
135: goto 137
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
136: pop
StackMap locals:
StackMap stack:
137: aload 0
getstatic com.oracle.js.parser.TokenType.DELETE:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 74
iastore
138: goto 140
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
139: pop
StackMap locals:
StackMap stack:
140: aload 0
getstatic com.oracle.js.parser.TokenType.DIRECTIVE_COMMENT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
iconst_5
iastore
141: goto 143
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
142: pop
StackMap locals:
StackMap stack:
143: aload 0
getstatic com.oracle.js.parser.TokenType.DIV:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 29
iastore
144: goto 146
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
145: pop
StackMap locals:
StackMap stack:
146: aload 0
getstatic com.oracle.js.parser.TokenType.DO:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 75
iastore
147: goto 149
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
148: pop
StackMap locals:
StackMap stack:
149: aload 0
getstatic com.oracle.js.parser.TokenType.ELLIPSIS:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 59
iastore
150: goto 152
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
151: pop
StackMap locals:
StackMap stack:
152: aload 0
getstatic com.oracle.js.parser.TokenType.ELSE:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 76
iastore
153: goto 155
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
154: pop
StackMap locals:
StackMap stack:
155: aload 0
getstatic com.oracle.js.parser.TokenType.ENUM:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 77
iastore
156: goto 158
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
157: pop
StackMap locals:
StackMap stack:
158: aload 0
getstatic com.oracle.js.parser.TokenType.EOF:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
iconst_2
iastore
159: goto 161
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
160: pop
StackMap locals:
StackMap stack:
161: aload 0
getstatic com.oracle.js.parser.TokenType.EOL:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
iconst_3
iastore
162: goto 164
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
163: pop
StackMap locals:
StackMap stack:
164: aload 0
getstatic com.oracle.js.parser.TokenType.EQ:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 38
iastore
165: goto 167
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
166: pop
StackMap locals:
StackMap stack:
167: aload 0
getstatic com.oracle.js.parser.TokenType.EQ_STRICT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 39
iastore
168: goto 170
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
169: pop
StackMap locals:
StackMap stack:
170: aload 0
getstatic com.oracle.js.parser.TokenType.ERROR:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
iconst_1
iastore
171: goto 173
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
172: pop
StackMap locals:
StackMap stack:
173: aload 0
getstatic com.oracle.js.parser.TokenType.ESCSTRING:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 124
iastore
174: goto 176
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
175: pop
StackMap locals:
StackMap stack:
176: aload 0
getstatic com.oracle.js.parser.TokenType.EXECSTRING:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 125
iastore
177: goto 179
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
178: pop
StackMap locals:
StackMap stack:
179: aload 0
getstatic com.oracle.js.parser.TokenType.EXP:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 19
iastore
180: goto 182
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
181: pop
StackMap locals:
StackMap stack:
182: aload 0
getstatic com.oracle.js.parser.TokenType.EXPORT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 78
iastore
183: goto 185
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
184: pop
StackMap locals:
StackMap stack:
185: aload 0
getstatic com.oracle.js.parser.TokenType.EXTENDS:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 79
iastore
186: goto 188
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
187: pop
StackMap locals:
StackMap stack:
188: aload 0
getstatic com.oracle.js.parser.TokenType.FALSE:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 80
iastore
189: goto 191
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
190: pop
StackMap locals:
StackMap stack:
191: aload 0
getstatic com.oracle.js.parser.TokenType.FINALLY:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 81
iastore
192: goto 194
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
193: pop
StackMap locals:
StackMap stack:
194: aload 0
getstatic com.oracle.js.parser.TokenType.FLOATING:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 122
iastore
195: goto 197
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
196: pop
StackMap locals:
StackMap stack:
197: aload 0
getstatic com.oracle.js.parser.TokenType.FOR:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 82
iastore
198: goto 200
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
199: pop
StackMap locals:
StackMap stack:
200: aload 0
getstatic com.oracle.js.parser.TokenType.FROM:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 83
iastore
201: goto 203
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
202: pop
StackMap locals:
StackMap stack:
203: aload 0
getstatic com.oracle.js.parser.TokenType.FUNCTION:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 84
iastore
204: goto 206
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
205: pop
StackMap locals:
StackMap stack:
206: aload 0
getstatic com.oracle.js.parser.TokenType.GE:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 42
iastore
207: goto 209
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
208: pop
StackMap locals:
StackMap stack:
209: aload 0
getstatic com.oracle.js.parser.TokenType.GET:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 85
iastore
210: goto 212
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
211: pop
StackMap locals:
StackMap stack:
212: aload 0
getstatic com.oracle.js.parser.TokenType.GT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 41
iastore
213: goto 215
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
214: pop
StackMap locals:
StackMap stack:
215: aload 0
getstatic com.oracle.js.parser.TokenType.HEXADECIMAL:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 117
iastore
216: goto 218
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
217: pop
StackMap locals:
StackMap stack:
218: aload 0
getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 126
iastore
219: goto 221
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
220: pop
StackMap locals:
StackMap stack:
221: aload 0
getstatic com.oracle.js.parser.TokenType.IF:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 86
iastore
222: goto 224
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
223: pop
StackMap locals:
StackMap stack:
224: aload 0
getstatic com.oracle.js.parser.TokenType.IMPLEMENTS:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 87
iastore
225: goto 227
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
226: pop
StackMap locals:
StackMap stack:
227: aload 0
getstatic com.oracle.js.parser.TokenType.IMPORT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 88
iastore
228: goto 230
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
229: pop
StackMap locals:
StackMap stack:
230: aload 0
getstatic com.oracle.js.parser.TokenType.IN:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 89
iastore
231: goto 233
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
232: pop
StackMap locals:
StackMap stack:
233: aload 0
getstatic com.oracle.js.parser.TokenType.INCPOSTFIX:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
sipush 138
iastore
234: goto 236
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
235: pop
StackMap locals:
StackMap stack:
236: aload 0
getstatic com.oracle.js.parser.TokenType.INCPREFIX:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 22
iastore
237: goto 239
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
238: pop
StackMap locals:
StackMap stack:
239: aload 0
getstatic com.oracle.js.parser.TokenType.INSTANCEOF:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 90
iastore
240: goto 242
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
241: pop
StackMap locals:
StackMap stack:
242: aload 0
getstatic com.oracle.js.parser.TokenType.INTERFACE:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 91
iastore
243: goto 245
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
244: pop
StackMap locals:
StackMap stack:
245: aload 0
getstatic com.oracle.js.parser.TokenType.LBRACE:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 52
iastore
246: goto 248
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
247: pop
StackMap locals:
StackMap stack:
248: aload 0
getstatic com.oracle.js.parser.TokenType.LBRACKET:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 48
iastore
249: goto 251
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
250: pop
StackMap locals:
StackMap stack:
251: aload 0
getstatic com.oracle.js.parser.TokenType.LE:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 36
iastore
252: goto 254
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
253: pop
StackMap locals:
StackMap stack:
254: aload 0
getstatic com.oracle.js.parser.TokenType.LET:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 92
iastore
255: goto 257
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
256: pop
StackMap locals:
StackMap stack:
257: aload 0
getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 15
iastore
258: goto 260
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
259: pop
StackMap locals:
StackMap stack:
260: aload 0
getstatic com.oracle.js.parser.TokenType.LT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 33
iastore
261: goto 263
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
262: pop
StackMap locals:
StackMap stack:
263: aload 0
getstatic com.oracle.js.parser.TokenType.MOD:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 9
iastore
264: goto 266
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
265: pop
StackMap locals:
StackMap stack:
266: aload 0
getstatic com.oracle.js.parser.TokenType.MUL:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 17
iastore
267: goto 269
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
268: pop
StackMap locals:
StackMap stack:
269: aload 0
getstatic com.oracle.js.parser.TokenType.NE:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 7
iastore
270: goto 272
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
271: pop
StackMap locals:
StackMap stack:
272: aload 0
getstatic com.oracle.js.parser.TokenType.NEW:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 93
iastore
273: goto 275
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
274: pop
StackMap locals:
StackMap stack:
275: aload 0
getstatic com.oracle.js.parser.TokenType.NE_STRICT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 8
iastore
276: goto 278
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
277: pop
StackMap locals:
StackMap stack:
278: aload 0
getstatic com.oracle.js.parser.TokenType.NON_OCTAL_DECIMAL:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 116
iastore
279: goto 281
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
280: pop
StackMap locals:
StackMap stack:
281: aload 0
getstatic com.oracle.js.parser.TokenType.NOT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 6
iastore
282: goto 284
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
283: pop
StackMap locals:
StackMap stack:
284: aload 0
getstatic com.oracle.js.parser.TokenType.NULL:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 94
iastore
285: goto 287
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
286: pop
StackMap locals:
StackMap stack:
287: aload 0
getstatic com.oracle.js.parser.TokenType.NULLISHCOALESC:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 60
iastore
288: goto 290
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
289: pop
StackMap locals:
StackMap stack:
290: aload 0
getstatic com.oracle.js.parser.TokenType.OBJECT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
sipush 129
iastore
291: goto 293
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
292: pop
StackMap locals:
StackMap stack:
293: aload 0
getstatic com.oracle.js.parser.TokenType.OCTAL:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 119
iastore
294: goto 296
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
295: pop
StackMap locals:
StackMap stack:
296: aload 0
getstatic com.oracle.js.parser.TokenType.OCTAL_LEGACY:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 118
iastore
297: goto 299
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
298: pop
StackMap locals:
StackMap stack:
299: aload 0
getstatic com.oracle.js.parser.TokenType.OF:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 95
iastore
300: goto 302
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
301: pop
StackMap locals:
StackMap stack:
302: aload 0
getstatic com.oracle.js.parser.TokenType.OPTIONAL_CHAIN:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 62
iastore
303: goto 305
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
304: pop
StackMap locals:
StackMap stack:
305: aload 0
getstatic com.oracle.js.parser.TokenType.OR:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 55
iastore
306: goto 308
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
307: pop
StackMap locals:
StackMap stack:
308: aload 0
getstatic com.oracle.js.parser.TokenType.PACKAGE:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 96
iastore
309: goto 311
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
310: pop
StackMap locals:
StackMap stack:
311: aload 0
getstatic com.oracle.js.parser.TokenType.PERIOD:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 28
iastore
312: goto 314
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
313: pop
StackMap locals:
StackMap stack:
314: aload 0
getstatic com.oracle.js.parser.TokenType.PRIVATE:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 97
iastore
315: goto 317
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
316: pop
StackMap locals:
StackMap stack:
317: aload 0
getstatic com.oracle.js.parser.TokenType.PRIVATE_IDENT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
sipush 135
iastore
318: goto 320
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
319: pop
StackMap locals:
StackMap stack:
320: aload 0
getstatic com.oracle.js.parser.TokenType.PROTECTED:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 98
iastore
321: goto 323
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
322: pop
StackMap locals:
StackMap stack:
323: aload 0
getstatic com.oracle.js.parser.TokenType.PUBLIC:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 99
iastore
324: goto 326
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
325: pop
StackMap locals:
StackMap stack:
326: aload 0
getstatic com.oracle.js.parser.TokenType.RBRACE:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 57
iastore
327: goto 329
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
328: pop
StackMap locals:
StackMap stack:
329: aload 0
getstatic com.oracle.js.parser.TokenType.RBRACKET:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 49
iastore
330: goto 332
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
331: pop
StackMap locals:
StackMap stack:
332: aload 0
getstatic com.oracle.js.parser.TokenType.REGEX:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 127
iastore
333: goto 335
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
334: pop
StackMap locals:
StackMap stack:
335: aload 0
getstatic com.oracle.js.parser.TokenType.RETURN:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 100
iastore
336: goto 338
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
337: pop
StackMap locals:
StackMap stack:
338: aload 0
getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 16
iastore
339: goto 341
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
340: pop
StackMap locals:
StackMap stack:
341: aload 0
getstatic com.oracle.js.parser.TokenType.SAR:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 43
iastore
342: goto 344
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
343: pop
StackMap locals:
StackMap stack:
344: aload 0
getstatic com.oracle.js.parser.TokenType.SEMICOLON:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 32
iastore
345: goto 347
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
346: pop
StackMap locals:
StackMap stack:
347: aload 0
getstatic com.oracle.js.parser.TokenType.SET:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 101
iastore
348: goto 350
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
349: pop
StackMap locals:
StackMap stack:
350: aload 0
getstatic com.oracle.js.parser.TokenType.SHL:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 34
iastore
351: goto 353
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
352: pop
StackMap locals:
StackMap stack:
353: aload 0
getstatic com.oracle.js.parser.TokenType.SHR:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 45
iastore
354: goto 356
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
355: pop
StackMap locals:
StackMap stack:
356: aload 0
getstatic com.oracle.js.parser.TokenType.SPREAD_ARGUMENT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
sipush 139
iastore
357: goto 359
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
358: pop
StackMap locals:
StackMap stack:
359: aload 0
getstatic com.oracle.js.parser.TokenType.SPREAD_ARRAY:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
sipush 140
iastore
360: goto 362
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
361: pop
StackMap locals:
StackMap stack:
362: aload 0
getstatic com.oracle.js.parser.TokenType.SPREAD_OBJECT:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
sipush 141
iastore
363: goto 365
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
364: pop
StackMap locals:
StackMap stack:
365: aload 0
getstatic com.oracle.js.parser.TokenType.STATIC:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 102
iastore
366: goto 368
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
367: pop
StackMap locals:
StackMap stack:
368: aload 0
getstatic com.oracle.js.parser.TokenType.STRING:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 123
iastore
369: goto 371
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
370: pop
StackMap locals:
StackMap stack:
371: aload 0
getstatic com.oracle.js.parser.TokenType.SUB:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 25
iastore
372: goto 374
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
373: pop
StackMap locals:
StackMap stack:
374: aload 0
getstatic com.oracle.js.parser.TokenType.SUPER:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 103
iastore
375: goto 377
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
376: pop
StackMap locals:
StackMap stack:
377: aload 0
getstatic com.oracle.js.parser.TokenType.SWITCH:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 104
iastore
378: goto 380
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
379: pop
StackMap locals:
StackMap stack:
380: aload 0
getstatic com.oracle.js.parser.TokenType.TEMPLATE:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
sipush 131
iastore
381: goto 383
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
382: pop
StackMap locals:
StackMap stack:
383: aload 0
getstatic com.oracle.js.parser.TokenType.TEMPLATE_HEAD:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
sipush 132
iastore
384: goto 386
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
385: pop
StackMap locals:
StackMap stack:
386: aload 0
getstatic com.oracle.js.parser.TokenType.TEMPLATE_MIDDLE:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
sipush 133
iastore
387: goto 389
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
388: pop
StackMap locals:
StackMap stack:
389: aload 0
getstatic com.oracle.js.parser.TokenType.TEMPLATE_TAIL:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
sipush 134
iastore
390: goto 392
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
391: pop
StackMap locals:
StackMap stack:
392: aload 0
getstatic com.oracle.js.parser.TokenType.TERNARY:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 47
iastore
393: goto 395
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
394: pop
StackMap locals:
StackMap stack:
395: aload 0
getstatic com.oracle.js.parser.TokenType.THIS:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 105
iastore
396: goto 398
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
397: pop
StackMap locals:
StackMap stack:
398: aload 0
getstatic com.oracle.js.parser.TokenType.THROW:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 106
iastore
399: goto 401
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
400: pop
StackMap locals:
StackMap stack:
401: aload 0
getstatic com.oracle.js.parser.TokenType.TRUE:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 107
iastore
402: goto 404
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
403: pop
StackMap locals:
StackMap stack:
404: aload 0
getstatic com.oracle.js.parser.TokenType.TRY:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 108
iastore
405: goto 407
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
406: pop
StackMap locals:
StackMap stack:
407: aload 0
getstatic com.oracle.js.parser.TokenType.TYPEOF:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 109
iastore
408: goto 410
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
409: pop
StackMap locals:
StackMap stack:
410: aload 0
getstatic com.oracle.js.parser.TokenType.VAR:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 110
iastore
411: goto 413
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
412: pop
StackMap locals:
StackMap stack:
413: aload 0
getstatic com.oracle.js.parser.TokenType.VOID:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 111
iastore
414: goto 416
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
415: pop
StackMap locals:
StackMap stack:
416: aload 0
getstatic com.oracle.js.parser.TokenType.WHILE:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 112
iastore
417: goto 419
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
418: pop
StackMap locals:
StackMap stack:
419: aload 0
getstatic com.oracle.js.parser.TokenType.WITH:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 113
iastore
420: goto 422
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
421: pop
StackMap locals:
StackMap stack:
422: aload 0
getstatic com.oracle.js.parser.TokenType.XML:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
sipush 128
iastore
423: goto 425
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
424: pop
StackMap locals:
StackMap stack:
425: aload 0
getstatic com.oracle.js.parser.TokenType.YIELD:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
bipush 114
iastore
426: goto 428
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
427: pop
StackMap locals:
StackMap stack:
428: aload 0
getstatic com.oracle.js.parser.TokenType.YIELD_STAR:Lcom/oracle/js/parser/TokenType;
invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
sipush 142
iastore
429: goto 431
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
430: pop
StackMap locals:
StackMap stack:
431: aload 0
dup
putstatic com.oracle.truffle.js.parser.GraalJSTranslator.$SWITCH_TABLE$com$oracle$js$parser$TokenType:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
44 45 46 Class java.lang.NoSuchFieldError
47 48 49 Class java.lang.NoSuchFieldError
50 51 52 Class java.lang.NoSuchFieldError
53 54 55 Class java.lang.NoSuchFieldError
56 57 58 Class java.lang.NoSuchFieldError
59 60 61 Class java.lang.NoSuchFieldError
62 63 64 Class java.lang.NoSuchFieldError
65 66 67 Class java.lang.NoSuchFieldError
68 69 70 Class java.lang.NoSuchFieldError
71 72 73 Class java.lang.NoSuchFieldError
74 75 76 Class java.lang.NoSuchFieldError
77 78 79 Class java.lang.NoSuchFieldError
80 81 82 Class java.lang.NoSuchFieldError
83 84 85 Class java.lang.NoSuchFieldError
86 87 88 Class java.lang.NoSuchFieldError
89 90 91 Class java.lang.NoSuchFieldError
92 93 94 Class java.lang.NoSuchFieldError
95 96 97 Class java.lang.NoSuchFieldError
98 99 100 Class java.lang.NoSuchFieldError
101 102 103 Class java.lang.NoSuchFieldError
104 105 106 Class java.lang.NoSuchFieldError
107 108 109 Class java.lang.NoSuchFieldError
110 111 112 Class java.lang.NoSuchFieldError
113 114 115 Class java.lang.NoSuchFieldError
116 117 118 Class java.lang.NoSuchFieldError
119 120 121 Class java.lang.NoSuchFieldError
122 123 124 Class java.lang.NoSuchFieldError
125 126 127 Class java.lang.NoSuchFieldError
128 129 130 Class java.lang.NoSuchFieldError
131 132 133 Class java.lang.NoSuchFieldError
134 135 136 Class java.lang.NoSuchFieldError
137 138 139 Class java.lang.NoSuchFieldError
140 141 142 Class java.lang.NoSuchFieldError
143 144 145 Class java.lang.NoSuchFieldError
146 147 148 Class java.lang.NoSuchFieldError
149 150 151 Class java.lang.NoSuchFieldError
152 153 154 Class java.lang.NoSuchFieldError
155 156 157 Class java.lang.NoSuchFieldError
158 159 160 Class java.lang.NoSuchFieldError
161 162 163 Class java.lang.NoSuchFieldError
164 165 166 Class java.lang.NoSuchFieldError
167 168 169 Class java.lang.NoSuchFieldError
170 171 172 Class java.lang.NoSuchFieldError
173 174 175 Class java.lang.NoSuchFieldError
176 177 178 Class java.lang.NoSuchFieldError
179 180 181 Class java.lang.NoSuchFieldError
182 183 184 Class java.lang.NoSuchFieldError
185 186 187 Class java.lang.NoSuchFieldError
188 189 190 Class java.lang.NoSuchFieldError
191 192 193 Class java.lang.NoSuchFieldError
194 195 196 Class java.lang.NoSuchFieldError
197 198 199 Class java.lang.NoSuchFieldError
200 201 202 Class java.lang.NoSuchFieldError
203 204 205 Class java.lang.NoSuchFieldError
206 207 208 Class java.lang.NoSuchFieldError
209 210 211 Class java.lang.NoSuchFieldError
212 213 214 Class java.lang.NoSuchFieldError
215 216 217 Class java.lang.NoSuchFieldError
218 219 220 Class java.lang.NoSuchFieldError
221 222 223 Class java.lang.NoSuchFieldError
224 225 226 Class java.lang.NoSuchFieldError
227 228 229 Class java.lang.NoSuchFieldError
230 231 232 Class java.lang.NoSuchFieldError
233 234 235 Class java.lang.NoSuchFieldError
236 237 238 Class java.lang.NoSuchFieldError
239 240 241 Class java.lang.NoSuchFieldError
242 243 244 Class java.lang.NoSuchFieldError
245 246 247 Class java.lang.NoSuchFieldError
248 249 250 Class java.lang.NoSuchFieldError
251 252 253 Class java.lang.NoSuchFieldError
254 255 256 Class java.lang.NoSuchFieldError
257 258 259 Class java.lang.NoSuchFieldError
260 261 262 Class java.lang.NoSuchFieldError
263 264 265 Class java.lang.NoSuchFieldError
266 267 268 Class java.lang.NoSuchFieldError
269 270 271 Class java.lang.NoSuchFieldError
272 273 274 Class java.lang.NoSuchFieldError
275 276 277 Class java.lang.NoSuchFieldError
278 279 280 Class java.lang.NoSuchFieldError
281 282 283 Class java.lang.NoSuchFieldError
284 285 286 Class java.lang.NoSuchFieldError
287 288 289 Class java.lang.NoSuchFieldError
290 291 292 Class java.lang.NoSuchFieldError
293 294 295 Class java.lang.NoSuchFieldError
296 297 298 Class java.lang.NoSuchFieldError
299 300 301 Class java.lang.NoSuchFieldError
302 303 304 Class java.lang.NoSuchFieldError
305 306 307 Class java.lang.NoSuchFieldError
308 309 310 Class java.lang.NoSuchFieldError
311 312 313 Class java.lang.NoSuchFieldError
314 315 316 Class java.lang.NoSuchFieldError
317 318 319 Class java.lang.NoSuchFieldError
320 321 322 Class java.lang.NoSuchFieldError
323 324 325 Class java.lang.NoSuchFieldError
326 327 328 Class java.lang.NoSuchFieldError
329 330 331 Class java.lang.NoSuchFieldError
332 333 334 Class java.lang.NoSuchFieldError
335 336 337 Class java.lang.NoSuchFieldError
338 339 340 Class java.lang.NoSuchFieldError
341 342 343 Class java.lang.NoSuchFieldError
344 345 346 Class java.lang.NoSuchFieldError
347 348 349 Class java.lang.NoSuchFieldError
350 351 352 Class java.lang.NoSuchFieldError
353 354 355 Class java.lang.NoSuchFieldError
356 357 358 Class java.lang.NoSuchFieldError
359 360 361 Class java.lang.NoSuchFieldError
362 363 364 Class java.lang.NoSuchFieldError
365 366 367 Class java.lang.NoSuchFieldError
368 369 370 Class java.lang.NoSuchFieldError
371 372 373 Class java.lang.NoSuchFieldError
374 375 376 Class java.lang.NoSuchFieldError
377 378 379 Class java.lang.NoSuchFieldError
380 381 382 Class java.lang.NoSuchFieldError
383 384 385 Class java.lang.NoSuchFieldError
386 387 388 Class java.lang.NoSuchFieldError
389 390 391 Class java.lang.NoSuchFieldError
392 393 394 Class java.lang.NoSuchFieldError
395 396 397 Class java.lang.NoSuchFieldError
398 399 400 Class java.lang.NoSuchFieldError
401 402 403 Class java.lang.NoSuchFieldError
404 405 406 Class java.lang.NoSuchFieldError
407 408 409 Class java.lang.NoSuchFieldError
410 411 412 Class java.lang.NoSuchFieldError
413 414 415 Class java.lang.NoSuchFieldError
416 417 418 Class java.lang.NoSuchFieldError
419 420 421 Class java.lang.NoSuchFieldError
422 423 424 Class java.lang.NoSuchFieldError
425 426 427 Class java.lang.NoSuchFieldError
428 429 430 Class java.lang.NoSuchFieldError
private void lambda$0(com.oracle.truffle.js.parser.env.Environment, com.oracle.js.parser.ir.LexicalContext, com.oracle.js.parser.ir.FunctionNode, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, java.lang.String, boolean, com.oracle.truffle.js.runtime.builtins.JSFunctionData);
descriptor: (Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/FunctionNode;ZZZZZZZZLjava/lang/String;ZLcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=13, locals=16, args_size=15
start local 0 start local 14 0: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.newTranslator:(Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/js/parser/ir/LexicalContext;)Lcom/oracle/truffle/js/parser/GraalJSTranslator;
astore 15
start local 15 1: aload 15
aload 3
aload 14
iload 4
iload 5
iload 6
iload 7
iload 8
iload 9
2: iload 10
iload 11
aload 12
iload 13
3: invokevirtual com.oracle.truffle.js.parser.GraalJSTranslator.translateFunctionOnDemand:(Lcom/oracle/js/parser/ir/FunctionNode;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;ZZZZZZZZLjava/lang/String;Z)Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
pop
end local 15 4: return
end local 14 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/parser/GraalJSTranslator;
0 5 14 fd Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
1 4 15 translator Lcom/oracle/truffle/js/parser/GraalJSTranslator;
}
Signature: Lcom/oracle/js/parser/ir/visitor/TranslatorNodeVisitor<Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;
SourceFile: "GraalJSTranslator.java"
NestMembers:
com.oracle.truffle.js.parser.GraalJSTranslator$1 com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor com.oracle.truffle.js.parser.GraalJSTranslator$1HasClosuresVisitor com.oracle.truffle.js.parser.GraalJSTranslator$2 com.oracle.truffle.js.parser.GraalJSTranslator$3 com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable
InnerClasses:
public RegexToken = com.oracle.js.parser.Lexer$RegexToken of com.oracle.js.parser.Lexer
public final ArrayLiteralNode = com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode of com.oracle.js.parser.ir.LiteralNode
public final ImportEntry = com.oracle.js.parser.ir.Module$ImportEntry of com.oracle.js.parser.ir.Module
public final Request = com.oracle.js.parser.ir.RuntimeNode$Request of com.oracle.js.parser.ir.RuntimeNode
public final ExpressionTag = com.oracle.truffle.api.instrumentation.StandardTags$ExpressionTag of com.oracle.truffle.api.instrumentation.StandardTags
public final LiteralBuilder = com.oracle.truffle.api.source.Source$LiteralBuilder of com.oracle.truffle.api.source.Source
public final BinaryOperation = com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation of com.oracle.truffle.js.nodes.NodeFactory
public final UnaryOperation = com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation of com.oracle.truffle.js.nodes.NodeFactory
public final SpreadArrayNode = com.oracle.truffle.js.nodes.access.ArrayLiteralNode$SpreadArrayNode of com.oracle.truffle.js.nodes.access.ArrayLiteralNode
public abstract ObjectLiteralMemberNode = com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode of com.oracle.truffle.js.nodes.access.ObjectLiteralNode
public final OptionalTargetableNode = com.oracle.truffle.js.nodes.access.OptionalChainNode$OptionalTargetableNode of com.oracle.truffle.js.nodes.access.OptionalChainNode
com.oracle.truffle.js.parser.GraalJSTranslator$1
DirectArgumentsAccessVisitor = com.oracle.truffle.js.parser.GraalJSTranslator$1DirectArgumentsAccessVisitor
HasClosuresVisitor = com.oracle.truffle.js.parser.GraalJSTranslator$1HasClosuresVisitor
com.oracle.truffle.js.parser.GraalJSTranslator$2
com.oracle.truffle.js.parser.GraalJSTranslator$3
private final EnvironmentCloseable = com.oracle.truffle.js.parser.GraalJSTranslator$EnvironmentCloseable of com.oracle.truffle.js.parser.GraalJSTranslator
public abstract AbstractFrameVarRef = com.oracle.truffle.js.parser.env.Environment$AbstractFrameVarRef of com.oracle.truffle.js.parser.env.Environment
public FrameSlotVarRef = com.oracle.truffle.js.parser.env.Environment$FrameSlotVarRef of com.oracle.truffle.js.parser.env.Environment
public abstract VarRef = com.oracle.truffle.js.parser.env.Environment$VarRef of com.oracle.truffle.js.parser.env.Environment
public JumpTargetCloseable = com.oracle.truffle.js.parser.env.FunctionEnvironment$JumpTargetCloseable of com.oracle.truffle.js.parser.env.FunctionEnvironment
public abstract Initializer = com.oracle.truffle.js.runtime.builtins.JSFunctionData$Initializer of com.oracle.truffle.js.runtime.builtins.JSFunctionData
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles