public final class com.oracle.graal.python.runtime.ExecutionContext$CallContext extends com.oracle.truffle.api.nodes.Node
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.graal.python.runtime.ExecutionContext$CallContext
super_class: com.oracle.truffle.api.nodes.Node
{
boolean neededCallerFrame;
descriptor: Z
flags: (0x0000)
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
boolean neededExceptionState;
descriptor: Z
flags: (0x0000)
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private static final com.oracle.graal.python.runtime.ExecutionContext$CallContext INSTANCE;
descriptor: Lcom/oracle/graal/python/runtime/ExecutionContext$CallContext;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private com.oracle.graal.python.nodes.frame.MaterializeFrameNode materializeNode;
descriptor: Lcom/oracle/graal/python/nodes/frame/MaterializeFrameNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private final boolean adoptable;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.oracle.truffle.api.profiles.ConditionProfile isPythonFrameProfile;
descriptor: Lcom/oracle/truffle/api/profiles/ConditionProfile;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
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=3, locals=0, args_size=0
0: ldc Lcom/oracle/graal/python/runtime/ExecutionContext;
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.graal.python.runtime.ExecutionContext$CallContext.$assertionsDisabled:Z
3: new com.oracle.graal.python.runtime.ExecutionContext$CallContext
dup
iconst_0
invokespecial com.oracle.graal.python.runtime.ExecutionContext$CallContext.<init>:(Z)V
putstatic com.oracle.graal.python.runtime.ExecutionContext$CallContext.INSTANCE:Lcom/oracle/graal/python/runtime/ExecutionContext$CallContext;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial com.oracle.truffle.api.nodes.Node.<init>:()V
1: aload 0
iload 1
putfield com.oracle.graal.python.runtime.ExecutionContext$CallContext.adoptable:Z
2: aload 0
iload 1
ifeq 3
iconst_0
goto 4
StackMap locals: com.oracle.graal.python.runtime.ExecutionContext$CallContext int
StackMap stack: com.oracle.graal.python.runtime.ExecutionContext$CallContext
3: iconst_1
StackMap locals: com.oracle.graal.python.runtime.ExecutionContext$CallContext int
StackMap stack: com.oracle.graal.python.runtime.ExecutionContext$CallContext int
4: putfield com.oracle.graal.python.runtime.ExecutionContext$CallContext.neededExceptionState:Z
5: aload 0
iload 1
ifeq 6
iconst_0
goto 7
StackMap locals:
StackMap stack: com.oracle.graal.python.runtime.ExecutionContext$CallContext
6: iconst_1
StackMap locals: com.oracle.graal.python.runtime.ExecutionContext$CallContext int
StackMap stack: com.oracle.graal.python.runtime.ExecutionContext$CallContext int
7: putfield com.oracle.graal.python.runtime.ExecutionContext$CallContext.neededCallerFrame:Z
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/graal/python/runtime/ExecutionContext$CallContext;
0 9 1 adoptable Z
MethodParameters:
Name Flags
adoptable
public void prepareIndirectCall(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object[], com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;[Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
iconst_1
iconst_1
invokevirtual com.oracle.graal.python.runtime.ExecutionContext$CallContext.prepareCall:(Lcom/oracle/truffle/api/frame/VirtualFrame;[Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;ZZ)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/python/runtime/ExecutionContext$CallContext;
0 2 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 2 2 callArguments [Ljava/lang/Object;
0 2 3 callNode Lcom/oracle/truffle/api/nodes/Node;
MethodParameters:
Name Flags
frame
callArguments
callNode
public void prepareCall(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object[], com.oracle.truffle.api.RootCallTarget, com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;[Ljava/lang/Object;Lcom/oracle/truffle/api/RootCallTarget;Lcom/oracle/truffle/api/nodes/Node;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokeinterface com.oracle.truffle.api.RootCallTarget.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
checkcast com.oracle.graal.python.nodes.PRootNode
astore 5
start local 5 1: aload 0
aload 1
aload 2
aload 4
aload 5
invokevirtual com.oracle.graal.python.nodes.PRootNode.needsCallerFrame:()Z
aload 5
invokevirtual com.oracle.graal.python.nodes.PRootNode.needsExceptionState:()Z
invokevirtual com.oracle.graal.python.runtime.ExecutionContext$CallContext.prepareCall:(Lcom/oracle/truffle/api/frame/VirtualFrame;[Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;ZZ)V
2: 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 3 0 this Lcom/oracle/graal/python/runtime/ExecutionContext$CallContext;
0 3 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 3 2 callArguments [Ljava/lang/Object;
0 3 3 callTarget Lcom/oracle/truffle/api/RootCallTarget;
0 3 4 callNode Lcom/oracle/truffle/api/nodes/Node;
1 3 5 calleeRootNode Lcom/oracle/graal/python/nodes/PRootNode;
MethodParameters:
Name Flags
frame
callArguments
callTarget
callNode
private void prepareCall(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object[], com.oracle.truffle.api.nodes.Node, boolean, boolean);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;[Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;ZZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 4
ifeq 13
1: aload 0
getfield com.oracle.graal.python.runtime.ExecutionContext$CallContext.neededCallerFrame:Z
ifne 5
2: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
3: aload 0
iconst_1
putfield com.oracle.graal.python.runtime.ExecutionContext$CallContext.neededCallerFrame:Z
4: aload 0
invokevirtual com.oracle.graal.python.runtime.ExecutionContext$CallContext.reportPolymorphicSpecialize:()V
5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual com.oracle.graal.python.runtime.ExecutionContext$CallContext.isPythonFrame:(Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/nodes/Node;)Z
ifeq 10
6: aload 1
invokestatic com.oracle.graal.python.builtins.objects.function.PArguments.getCurrentFrameInfo:(Lcom/oracle/truffle/api/frame/Frame;)Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
astore 6
start local 6 7: aload 0
aload 1
aload 3
iconst_0
iconst_1
invokevirtual com.oracle.graal.python.runtime.ExecutionContext$CallContext.materialize:(Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/nodes/Node;ZZ)Lcom/oracle/graal/python/builtins/objects/frame/PFrame;
astore 7
start local 7 8: getstatic com.oracle.graal.python.runtime.ExecutionContext$CallContext.$assertionsDisabled:Z
ifne 9
aload 6
invokevirtual com.oracle.graal.python.builtins.objects.frame.PFrame$Reference.getPyFrame:()Lcom/oracle/graal/python/builtins/objects/frame/PFrame;
aload 7
if_acmpeq 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals: com.oracle.graal.python.builtins.objects.frame.PFrame$Reference com.oracle.graal.python.builtins.objects.frame.PFrame
StackMap stack:
getstatic com.oracle.graal.python.runtime.ExecutionContext$CallContext.$assertionsDisabled:Z
ifne 11
aload 7
invokevirtual com.oracle.graal.python.builtins.objects.frame.PFrame.getRef:()Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
aload 6
if_acmpeq 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 7 end local 6 10: StackMap locals:
StackMap stack:
getstatic com.oracle.graal.python.builtins.objects.frame.PFrame$Reference.EMPTY:Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
astore 6
start local 6 11: StackMap locals: com.oracle.graal.python.builtins.objects.frame.PFrame$Reference
StackMap stack:
aload 6
aload 3
invokevirtual com.oracle.graal.python.builtins.objects.frame.PFrame$Reference.setCallNode:(Lcom/oracle/truffle/api/nodes/Node;)V
12: aload 2
aload 6
invokestatic com.oracle.graal.python.builtins.objects.function.PArguments.setCallerFrameInfo:([Ljava/lang/Object;Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;)V
end local 6 13: StackMap locals:
StackMap stack:
iload 5
ifeq 31
14: aload 0
getfield com.oracle.graal.python.runtime.ExecutionContext$CallContext.neededExceptionState:Z
ifne 18
15: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
16: aload 0
iconst_1
putfield com.oracle.graal.python.runtime.ExecutionContext$CallContext.neededExceptionState:Z
17: aload 0
invokevirtual com.oracle.graal.python.runtime.ExecutionContext$CallContext.reportPolymorphicSpecialize:()V
18: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 19: aload 0
aload 1
aload 3
invokevirtual com.oracle.graal.python.runtime.ExecutionContext$CallContext.isPythonFrame:(Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/nodes/Node;)Z
ifeq 29
20: aload 1
invokestatic com.oracle.graal.python.builtins.objects.function.PArguments.getException:(Lcom/oracle/truffle/api/frame/Frame;)Lcom/oracle/graal/python/runtime/exception/PException;
astore 6
21: aload 6
ifnonnull 30
22: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
23: invokestatic com.oracle.graal.python.nodes.util.ExceptionStateNodes$GetCaughtExceptionNode.fullStackWalk:()Lcom/oracle/graal/python/runtime/exception/PException;
astore 7
start local 7 24: aload 7
ifnull 25
aload 7
goto 26
StackMap locals: com.oracle.graal.python.runtime.exception.PException com.oracle.graal.python.runtime.exception.PException
StackMap stack:
25: getstatic com.oracle.graal.python.runtime.exception.PException.NO_EXCEPTION:Lcom/oracle/graal/python/runtime/exception/PException;
StackMap locals:
StackMap stack: com.oracle.graal.python.runtime.exception.PException
26: astore 6
27: aload 1
aload 6
invokestatic com.oracle.graal.python.builtins.objects.function.PArguments.setException:(Lcom/oracle/truffle/api/frame/Frame;Lcom/oracle/graal/python/runtime/exception/PException;)V
end local 7 28: goto 30
29: StackMap locals:
StackMap stack:
getstatic com.oracle.graal.python.runtime.exception.PException.NO_EXCEPTION:Lcom/oracle/graal/python/runtime/exception/PException;
astore 6
30: StackMap locals:
StackMap stack:
aload 2
aload 6
invokestatic com.oracle.graal.python.builtins.objects.function.PArguments.setException:([Ljava/lang/Object;Lcom/oracle/graal/python/runtime/exception/PException;)V
end local 6 31: 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 32 0 this Lcom/oracle/graal/python/runtime/ExecutionContext$CallContext;
0 32 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 32 2 callArguments [Ljava/lang/Object;
0 32 3 callNode Lcom/oracle/truffle/api/nodes/Node;
0 32 4 needsCallerFrame Z
0 32 5 needsExceptionState Z
7 10 6 thisInfo Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
11 13 6 thisInfo Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
8 10 7 pyFrame Lcom/oracle/graal/python/builtins/objects/frame/PFrame;
19 31 6 curExc Lcom/oracle/graal/python/runtime/exception/PException;
24 28 7 fromStackWalk Lcom/oracle/graal/python/runtime/exception/PException;
MethodParameters:
Name Flags
frame
callArguments
callNode
needsCallerFrame
needsExceptionState
private com.oracle.graal.python.builtins.objects.frame.PFrame materialize(com.oracle.truffle.api.frame.VirtualFrame, com.oracle.truffle.api.nodes.Node, boolean, boolean);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/nodes/Node;ZZ)Lcom/oracle/graal/python/builtins/objects/frame/PFrame;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.oracle.graal.python.runtime.ExecutionContext$CallContext.adoptable:Z
ifeq 2
1: aload 0
invokevirtual com.oracle.graal.python.runtime.ExecutionContext$CallContext.ensureMaterializeNode:()Lcom/oracle/graal/python/nodes/frame/MaterializeFrameNode;
aload 1
aload 2
iload 3
iload 4
invokevirtual com.oracle.graal.python.nodes.frame.MaterializeFrameNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/nodes/Node;ZZ)Lcom/oracle/graal/python/builtins/objects/frame/PFrame;
areturn
2: StackMap locals:
StackMap stack:
invokestatic com.oracle.graal.python.nodes.frame.MaterializeFrameNode.getUnadoptable:()Lcom/oracle/graal/python/nodes/frame/MaterializeFrameNode;
aload 1
aload 2
iload 3
iload 4
invokevirtual com.oracle.graal.python.nodes.frame.MaterializeFrameNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/nodes/Node;ZZ)Lcom/oracle/graal/python/builtins/objects/frame/PFrame;
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/graal/python/runtime/ExecutionContext$CallContext;
0 3 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 3 2 callNode Lcom/oracle/truffle/api/nodes/Node;
0 3 3 markAsEscaped Z
0 3 4 forceSync Z
MethodParameters:
Name Flags
frame
callNode
markAsEscaped
forceSync
private boolean isPythonFrame(com.oracle.truffle.api.frame.VirtualFrame, com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/nodes/Node;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.graal.python.runtime.ExecutionContext$CallContext.isPythonFrameProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
ifnonnull 3
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: aload 0
invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createBinaryProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
putfield com.oracle.graal.python.runtime.ExecutionContext$CallContext.isPythonFrameProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.ExecutionContext$CallContext.isPythonFrameProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
aload 1
invokestatic com.oracle.graal.python.builtins.objects.function.PArguments.isPythonFrame:(Lcom/oracle/truffle/api/frame/Frame;)Z
invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
istore 3
start local 3 4: getstatic com.oracle.graal.python.runtime.ExecutionContext$CallContext.$assertionsDisabled:Z
ifne 5
iload 3
ifne 5
aload 2
invokevirtual com.oracle.truffle.api.nodes.Node.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
instanceof com.oracle.graal.python.nodes.control.TopLevelExceptionHandler
ifne 5
new java.lang.AssertionError
dup
ldc "calling from non-Python or non-top-level frame"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
5: StackMap locals: int
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/graal/python/runtime/ExecutionContext$CallContext;
0 6 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 6 2 callNode Lcom/oracle/truffle/api/nodes/Node;
4 6 3 result Z
MethodParameters:
Name Flags
frame
callNode
private com.oracle.graal.python.nodes.frame.MaterializeFrameNode ensureMaterializeNode();
descriptor: ()Lcom/oracle/graal/python/nodes/frame/MaterializeFrameNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tMaterializeFrameNodeGen cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/ExecutionContext$CallContext;
public boolean isAdoptable();
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.runtime.ExecutionContext$CallContext.adoptable:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/ExecutionContext$CallContext;
public static com.oracle.graal.python.runtime.ExecutionContext$CallContext create();
descriptor: ()Lcom/oracle/graal/python/runtime/ExecutionContext$CallContext;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new com.oracle.graal.python.runtime.ExecutionContext$CallContext
dup
iconst_1
invokespecial com.oracle.graal.python.runtime.ExecutionContext$CallContext.<init>:(Z)V
areturn
LocalVariableTable:
Start End Slot Name Signature
public static com.oracle.graal.python.runtime.ExecutionContext$CallContext getUncached();
descriptor: ()Lcom/oracle/graal/python/runtime/ExecutionContext$CallContext;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.oracle.graal.python.runtime.ExecutionContext$CallContext.INSTANCE:Lcom/oracle/graal/python/runtime/ExecutionContext$CallContext;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ExecutionContext.java"
NestHost: com.oracle.graal.python.runtime.ExecutionContext
InnerClasses:
public final Reference = com.oracle.graal.python.builtins.objects.frame.PFrame$Reference of com.oracle.graal.python.builtins.objects.frame.PFrame
public final GetCaughtExceptionNode = com.oracle.graal.python.nodes.util.ExceptionStateNodes$GetCaughtExceptionNode of com.oracle.graal.python.nodes.util.ExceptionStateNodes
public final CallContext = com.oracle.graal.python.runtime.ExecutionContext$CallContext of com.oracle.graal.python.runtime.ExecutionContext
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node