class jdk.nashorn.internal.codegen.CacheAst extends jdk.nashorn.internal.ir.visitor.SimpleNodeVisitor
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.nashorn.internal.codegen.CacheAst
super_class: jdk.nashorn.internal.ir.visitor.SimpleNodeVisitor
{
private final java.util.Deque<jdk.nashorn.internal.runtime.RecompilableScriptFunctionData> dataStack;
descriptor: Ljava/util/Deque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Deque<Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;>;
private final jdk.nashorn.internal.codegen.Compiler compiler;
descriptor: Ljdk/nashorn/internal/codegen/Compiler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljdk/nashorn/internal/codegen/CacheAst;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic jdk.nashorn.internal.codegen.CacheAst.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.nashorn.internal.codegen.Compiler);
descriptor: (Ljdk/nashorn/internal/codegen/Compiler;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial jdk.nashorn.internal.ir.visitor.SimpleNodeVisitor.<init>:()V
1: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield jdk.nashorn.internal.codegen.CacheAst.dataStack:Ljava/util/Deque;
2: aload 0
aload 1
putfield jdk.nashorn.internal.codegen.CacheAst.compiler:Ljdk/nashorn/internal/codegen/Compiler;
3: getstatic jdk.nashorn.internal.codegen.CacheAst.$assertionsDisabled:Z
ifne 4
aload 1
invokevirtual jdk.nashorn.internal.codegen.Compiler.isOnDemandCompilation:()Z
ifeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: jdk.nashorn.internal.codegen.CacheAst jdk.nashorn.internal.codegen.Compiler
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/CacheAst;
0 5 1 compiler Ljdk/nashorn/internal/codegen/Compiler;
MethodParameters:
Name Flags
compiler final
public boolean enterFunctionNode(jdk.nashorn.internal.ir.FunctionNode);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getId:()I
istore 2
start local 2 1: aload 0
getfield jdk.nashorn.internal.codegen.CacheAst.dataStack:Ljava/util/Deque;
aload 0
getfield jdk.nashorn.internal.codegen.CacheAst.dataStack:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifeq 2
aload 0
getfield jdk.nashorn.internal.codegen.CacheAst.compiler:Ljdk/nashorn/internal/codegen/Compiler;
iload 2
invokevirtual jdk.nashorn.internal.codegen.Compiler.getScriptFunctionData:(I)Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
goto 3
StackMap locals: jdk.nashorn.internal.codegen.CacheAst jdk.nashorn.internal.ir.FunctionNode int
StackMap stack: java.util.Deque
2: aload 0
getfield jdk.nashorn.internal.codegen.CacheAst.dataStack:Ljava/util/Deque;
invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.runtime.RecompilableScriptFunctionData
iload 2
invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getScriptFunctionData:(I)Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
StackMap locals: jdk.nashorn.internal.codegen.CacheAst jdk.nashorn.internal.ir.FunctionNode int
StackMap stack: java.util.Deque jdk.nashorn.internal.runtime.RecompilableScriptFunctionData
3: invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
4: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/CacheAst;
0 5 1 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
1 5 2 id I
MethodParameters:
Name Flags
functionNode final
public jdk.nashorn.internal.ir.Node leaveFunctionNode(jdk.nashorn.internal.ir.FunctionNode);
descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CacheAst.dataStack:Ljava/util/Deque;
invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.runtime.RecompilableScriptFunctionData
astore 2
start local 2 1: aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.isSplit:()Z
ifeq 3
2: aload 2
aload 1
invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.setCachedAst:(Ljdk/nashorn/internal/ir/FunctionNode;)V
3: StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData
StackMap stack:
aload 0
getfield jdk.nashorn.internal.codegen.CacheAst.dataStack:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifne 5
aload 0
getfield jdk.nashorn.internal.codegen.CacheAst.dataStack:Ljava/util/Deque;
invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.runtime.RecompilableScriptFunctionData
invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getFunctionFlags:()I
bipush 16
iand
ifeq 5
4: aload 1
aload 0
getfield jdk.nashorn.internal.codegen.CacheAst.lc:Ljdk/nashorn/internal/ir/LexicalContext;
aload 1
invokevirtual jdk.nashorn.internal.ir.FunctionNode.getBody:()Ljdk/nashorn/internal/ir/Block;
aconst_null
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokevirtual jdk.nashorn.internal.ir.Block.setStatements:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/util/List;)Ljdk/nashorn/internal/ir/Block;
invokevirtual jdk.nashorn.internal.ir.FunctionNode.setBody:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/FunctionNode;
areturn
5: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/nashorn/internal/codegen/CacheAst;
0 6 1 functionNode Ljdk/nashorn/internal/ir/FunctionNode;
1 6 2 data Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
MethodParameters:
Name Flags
functionNode final
}
SourceFile: "CacheAst.java"