public abstract class com.oracle.graal.python.nodes.PRootNode extends com.oracle.truffle.api.nodes.RootNode
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.graal.python.nodes.PRootNode
super_class: com.oracle.truffle.api.nodes.RootNode
{
private final com.oracle.truffle.api.profiles.ConditionProfile frameEscapedWithoutAllocation;
descriptor: Lcom/oracle/truffle/api/profiles/ConditionProfile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.profiles.ConditionProfile frameEscaped;
descriptor: Lcom/oracle/truffle/api/profiles/ConditionProfile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.oracle.truffle.api.Assumption dontNeedCallerFrame;
descriptor: Lcom/oracle/truffle/api/Assumption;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private com.oracle.truffle.api.Assumption dontNeedExceptionState;
descriptor: Lcom/oracle/truffle/api/Assumption;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private int nodeCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
protected void <init>(com.oracle.truffle.api.TruffleLanguage<?>);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial com.oracle.truffle.api.nodes.RootNode.<init>:(Lcom/oracle/truffle/api/TruffleLanguage;)V
1: aload 0
invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createBinaryProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
putfield com.oracle.graal.python.nodes.PRootNode.frameEscapedWithoutAllocation:Lcom/oracle/truffle/api/profiles/ConditionProfile;
2: aload 0
invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createBinaryProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
putfield com.oracle.graal.python.nodes.PRootNode.frameEscaped:Lcom/oracle/truffle/api/profiles/ConditionProfile;
3: aload 0
invokestatic com.oracle.graal.python.nodes.PRootNode.createCallerFrameAssumption:()Lcom/oracle/truffle/api/Assumption;
putfield com.oracle.graal.python.nodes.PRootNode.dontNeedCallerFrame:Lcom/oracle/truffle/api/Assumption;
4: aload 0
invokestatic com.oracle.graal.python.nodes.PRootNode.createExceptionStateAssumption:()Lcom/oracle/truffle/api/Assumption;
putfield com.oracle.graal.python.nodes.PRootNode.dontNeedExceptionState:Lcom/oracle/truffle/api/Assumption;
5: aload 0
iconst_m1
putfield com.oracle.graal.python.nodes.PRootNode.nodeCount:I
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/graal/python/nodes/PRootNode;
0 7 1 language Lcom/oracle/truffle/api/TruffleLanguage<*>;
Signature: (Lcom/oracle/truffle/api/TruffleLanguage<*>;)V
MethodParameters:
Name Flags
language
protected void <init>(com.oracle.truffle.api.TruffleLanguage<?>, com.oracle.truffle.api.frame.FrameDescriptor);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage;Lcom/oracle/truffle/api/frame/FrameDescriptor;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial com.oracle.truffle.api.nodes.RootNode.<init>:(Lcom/oracle/truffle/api/TruffleLanguage;Lcom/oracle/truffle/api/frame/FrameDescriptor;)V
1: aload 0
invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createBinaryProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
putfield com.oracle.graal.python.nodes.PRootNode.frameEscapedWithoutAllocation:Lcom/oracle/truffle/api/profiles/ConditionProfile;
2: aload 0
invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createBinaryProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
putfield com.oracle.graal.python.nodes.PRootNode.frameEscaped:Lcom/oracle/truffle/api/profiles/ConditionProfile;
3: aload 0
invokestatic com.oracle.graal.python.nodes.PRootNode.createCallerFrameAssumption:()Lcom/oracle/truffle/api/Assumption;
putfield com.oracle.graal.python.nodes.PRootNode.dontNeedCallerFrame:Lcom/oracle/truffle/api/Assumption;
4: aload 0
invokestatic com.oracle.graal.python.nodes.PRootNode.createExceptionStateAssumption:()Lcom/oracle/truffle/api/Assumption;
putfield com.oracle.graal.python.nodes.PRootNode.dontNeedExceptionState:Lcom/oracle/truffle/api/Assumption;
5: aload 0
iconst_m1
putfield com.oracle.graal.python.nodes.PRootNode.nodeCount:I
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/graal/python/nodes/PRootNode;
0 7 1 language Lcom/oracle/truffle/api/TruffleLanguage<*>;
0 7 2 frameDescriptor Lcom/oracle/truffle/api/frame/FrameDescriptor;
Signature: (Lcom/oracle/truffle/api/TruffleLanguage<*>;Lcom/oracle/truffle/api/frame/FrameDescriptor;)V
MethodParameters:
Name Flags
language
frameDescriptor
public final int getNodeCount();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
getfield com.oracle.graal.python.nodes.PRootNode.nodeCount:I
istore 1
start local 1 2: iload 1
iconst_m1
if_icmpeq 4
3: iload 1
ireturn
4: StackMap locals: int
StackMap stack:
aload 0
aload 0
invokestatic com.oracle.truffle.api.nodes.NodeUtil.countNodes:(Lcom/oracle/truffle/api/nodes/Node;)I
dup_x1
putfield com.oracle.graal.python.nodes.PRootNode.nodeCount:I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/graal/python/nodes/PRootNode;
2 5 1 n I
public com.oracle.truffle.api.profiles.ConditionProfile getFrameEscapedProfile();
descriptor: ()Lcom/oracle/truffle/api/profiles/ConditionProfile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.nodes.PRootNode.frameEscaped:Lcom/oracle/truffle/api/profiles/ConditionProfile;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/nodes/PRootNode;
public com.oracle.truffle.api.profiles.ConditionProfile getFrameEscapedWithoutAllocationProfile();
descriptor: ()Lcom/oracle/truffle/api/profiles/ConditionProfile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.nodes.PRootNode.frameEscapedWithoutAllocation:Lcom/oracle/truffle/api/profiles/ConditionProfile;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/nodes/PRootNode;
public boolean needsCallerFrame();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.nodes.PRootNode.dontNeedCallerFrame:Lcom/oracle/truffle/api/Assumption;
invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/graal/python/nodes/PRootNode;
public void setNeedsCallerFrame();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "this is usually called from behind a TruffleBoundary"
invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:(Ljava/lang/String;)V
1: aload 0
getfield com.oracle.graal.python.nodes.PRootNode.dontNeedCallerFrame:Lcom/oracle/truffle/api/Assumption;
invokeinterface com.oracle.truffle.api.Assumption.invalidate:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/graal/python/nodes/PRootNode;
public boolean needsExceptionState();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.nodes.PRootNode.dontNeedExceptionState:Lcom/oracle/truffle/api/Assumption;
invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/graal/python/nodes/PRootNode;
public void setNeedsExceptionState();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "this is usually called from behind a TruffleBoundary"
invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:(Ljava/lang/String;)V
1: aload 0
getfield com.oracle.graal.python.nodes.PRootNode.dontNeedExceptionState:Lcom/oracle/truffle/api/Assumption;
invokeinterface com.oracle.truffle.api.Assumption.invalidate:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/graal/python/nodes/PRootNode;
public boolean isCaptureFramesForTrace();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/nodes/PRootNode;
public boolean isCloningAllowed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/nodes/PRootNode;
public com.oracle.truffle.api.nodes.Node copy();
descriptor: ()Lcom/oracle/truffle/api/nodes/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.api.nodes.RootNode.copy:()Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.graal.python.nodes.PRootNode
astore 1
start local 1 1: aload 1
invokestatic com.oracle.graal.python.nodes.PRootNode.createCallerFrameAssumption:()Lcom/oracle/truffle/api/Assumption;
putfield com.oracle.graal.python.nodes.PRootNode.dontNeedCallerFrame:Lcom/oracle/truffle/api/Assumption;
2: aload 1
invokestatic com.oracle.graal.python.nodes.PRootNode.createExceptionStateAssumption:()Lcom/oracle/truffle/api/Assumption;
putfield com.oracle.graal.python.nodes.PRootNode.dontNeedExceptionState:Lcom/oracle/truffle/api/Assumption;
3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/graal/python/nodes/PRootNode;
1 4 1 pRootNode Lcom/oracle/graal/python/nodes/PRootNode;
public abstract com.oracle.graal.python.builtins.objects.function.Signature getSignature();
descriptor: ()Lcom/oracle/graal/python/builtins/objects/function/Signature;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract boolean isPythonInternal();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
private static boolean isPythonInternal(com.oracle.graal.python.nodes.PRootNode);
descriptor: (Lcom/oracle/graal/python/nodes/PRootNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.graal.python.nodes.PRootNode.isPythonInternal:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 rootNode Lcom/oracle/graal/python/nodes/PRootNode;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
rootNode
public static boolean isPythonInternal(com.oracle.truffle.api.nodes.RootNode);
descriptor: (Lcom/oracle/truffle/api/nodes/RootNode;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof com.oracle.graal.python.nodes.PRootNode
ifeq 1
aload 0
checkcast com.oracle.graal.python.nodes.PRootNode
invokestatic com.oracle.graal.python.nodes.PRootNode.isPythonInternal:(Lcom/oracle/graal/python/nodes/PRootNode;)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 rootNode Lcom/oracle/truffle/api/nodes/RootNode;
MethodParameters:
Name Flags
rootNode
public static boolean isPythonBuiltin(com.oracle.truffle.api.nodes.RootNode);
descriptor: (Lcom/oracle/truffle/api/nodes/RootNode;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof com.oracle.graal.python.nodes.function.BuiltinFunctionRootNode
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 rootNode Lcom/oracle/truffle/api/nodes/RootNode;
MethodParameters:
Name Flags
rootNode
private static com.oracle.truffle.api.Assumption createCallerFrameAssumption();
descriptor: ()Lcom/oracle/truffle/api/Assumption;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
ldc "does not need caller frame"
invokeinterface com.oracle.truffle.api.TruffleRuntime.createAssumption:(Ljava/lang/String;)Lcom/oracle/truffle/api/Assumption;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static com.oracle.truffle.api.Assumption createExceptionStateAssumption();
descriptor: ()Lcom/oracle/truffle/api/Assumption;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
ldc "does not need exception state"
invokeinterface com.oracle.truffle.api.TruffleRuntime.createAssumption:(Ljava/lang/String;)Lcom/oracle/truffle/api/Assumption;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "PRootNode.java"
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives