public final class com.oracle.graal.python.runtime.ExecutionContext$CalleeContext 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$CalleeContext
super_class: com.oracle.truffle.api.nodes.Node
{
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 boolean everEscaped;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private com.oracle.truffle.api.profiles.ConditionProfile customLocalsProfile;
descriptor: Lcom/oracle/truffle/api/profiles/ConditionProfile;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private com.oracle.truffle.api.TruffleLanguage$LanguageReference<com.oracle.graal.python.PythonLanguage> langRef;
descriptor: Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference<Lcom/oracle/graal/python/PythonLanguage;>;
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=1, 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$CalleeContext.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.api.nodes.Node.<init>:()V
1: aload 0
iconst_0
putfield com.oracle.graal.python.runtime.ExecutionContext$CalleeContext.everEscaped:Z
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/graal/python/runtime/ExecutionContext$CalleeContext;
public com.oracle.truffle.api.nodes.Node copy();
descriptor: ()Lcom/oracle/truffle/api/nodes/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new com.oracle.graal.python.runtime.ExecutionContext$CalleeContext
dup
invokespecial com.oracle.graal.python.runtime.ExecutionContext$CalleeContext.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/ExecutionContext$CalleeContext;
public void enter(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: new com.oracle.graal.python.builtins.objects.frame.PFrame$Reference
dup
aload 1
invokestatic com.oracle.graal.python.builtins.objects.function.PArguments.getCallerFrameInfo:(Lcom/oracle/truffle/api/frame/Frame;)Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
invokespecial com.oracle.graal.python.builtins.objects.frame.PFrame$Reference.<init>:(Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;)V
astore 2
start local 2 1: aload 1
invokestatic com.oracle.graal.python.builtins.objects.function.PArguments.getCustomLocals:(Lcom/oracle/truffle/api/frame/Frame;)Ljava/lang/Object;
astore 3
start local 3 2: aload 1
aload 2
invokestatic com.oracle.graal.python.builtins.objects.function.PArguments.setCurrentFrameInfo:(Lcom/oracle/truffle/api/frame/Frame;Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;)V
3: aload 0
getfield com.oracle.graal.python.runtime.ExecutionContext$CalleeContext.customLocalsProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
ifnonnull 6
4: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
5: aload 0
invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createCountingProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
putfield com.oracle.graal.python.runtime.ExecutionContext$CalleeContext.customLocalsProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
6: StackMap locals: com.oracle.graal.python.builtins.objects.frame.PFrame$Reference java.lang.Object
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.ExecutionContext$CalleeContext.customLocalsProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
aload 3
ifnull 7
aload 3
instanceof com.oracle.graal.python.builtins.objects.frame.PFrame$Reference
ifne 7
iconst_1
goto 8
StackMap locals:
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
7: iconst_0
StackMap locals: com.oracle.graal.python.runtime.ExecutionContext$CalleeContext com.oracle.truffle.api.frame.VirtualFrame com.oracle.graal.python.builtins.objects.frame.PFrame$Reference java.lang.Object
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
8: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 13
9: aload 0
getfield com.oracle.graal.python.runtime.ExecutionContext$CalleeContext.langRef:Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;
ifnonnull 12
10: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
11: aload 0
aload 0
ldc Lcom/oracle/graal/python/PythonLanguage;
invokevirtual com.oracle.graal.python.runtime.ExecutionContext$CalleeContext.lookupLanguageReference:(Ljava/lang/Class;)Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;
putfield com.oracle.graal.python.runtime.ExecutionContext$CalleeContext.langRef:Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;
12: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield com.oracle.graal.python.runtime.ExecutionContext$CalleeContext.langRef:Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;
invokevirtual com.oracle.truffle.api.TruffleLanguage$LanguageReference.get:()Lcom/oracle/truffle/api/TruffleLanguage;
checkcast com.oracle.graal.python.PythonLanguage
aload 3
invokevirtual com.oracle.graal.python.builtins.objects.frame.PFrame$Reference.setCustomLocals:(Lcom/oracle/graal/python/PythonLanguage;Ljava/lang/Object;)V
13: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/graal/python/runtime/ExecutionContext$CalleeContext;
0 14 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 14 2 thisFrameRef Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
2 14 3 customLocals Ljava/lang/Object;
MethodParameters:
Name Flags
frame
public void exit(com.oracle.truffle.api.frame.VirtualFrame, com.oracle.graal.python.nodes.PRootNode);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/graal/python/nodes/PRootNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: 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 3
start local 3 1: aload 2
invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(Ljava/lang/Object;)V
2: aload 2
invokevirtual com.oracle.graal.python.nodes.PRootNode.getFrameEscapedProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
aload 3
invokevirtual com.oracle.graal.python.builtins.objects.frame.PFrame$Reference.isEscaped:()Z
invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 23
3: aload 0
getfield com.oracle.graal.python.runtime.ExecutionContext$CalleeContext.everEscaped:Z
ifne 7
4: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
5: aload 0
iconst_1
putfield com.oracle.graal.python.runtime.ExecutionContext$CalleeContext.everEscaped:Z
6: aload 0
invokevirtual com.oracle.graal.python.runtime.ExecutionContext$CalleeContext.reportPolymorphicSpecialize:()V
7: StackMap locals: com.oracle.graal.python.builtins.objects.frame.PFrame$Reference
StackMap stack:
aload 1
invokestatic com.oracle.graal.python.builtins.objects.function.PArguments.getCallerFrameInfo:(Lcom/oracle/truffle/api/frame/Frame;)Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
astore 4
start local 4 8: aload 4
ifnonnull 16
9: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
10: aload 3
getstatic com.oracle.truffle.api.frame.FrameInstance$FrameAccess.READ_ONLY:Lcom/oracle/truffle/api/frame/FrameInstance$FrameAccess;
getstatic com.oracle.graal.python.nodes.frame.ReadCallerFrameNode$FrameSelector.ALL_PYTHON_FRAMES:Lcom/oracle/graal/python/nodes/frame/ReadCallerFrameNode$FrameSelector;
iconst_0
invokestatic com.oracle.graal.python.nodes.frame.ReadCallerFrameNode.getCallerFrame:(Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;Lcom/oracle/truffle/api/frame/FrameInstance$FrameAccess;Lcom/oracle/graal/python/nodes/frame/ReadCallerFrameNode$FrameSelector;I)Lcom/oracle/truffle/api/frame/Frame;
astore 5
start local 5 11: aload 5
invokestatic com.oracle.graal.python.builtins.objects.function.PArguments.isPythonFrame:(Lcom/oracle/truffle/api/frame/Frame;)Z
ifeq 14
12: aload 5
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 4
13: goto 15
14: StackMap locals: com.oracle.graal.python.builtins.objects.frame.PFrame$Reference com.oracle.truffle.api.frame.Frame
StackMap stack:
getstatic com.oracle.graal.python.builtins.objects.frame.PFrame$Reference.EMPTY:Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
astore 4
15: StackMap locals:
StackMap stack:
getstatic com.oracle.graal.python.runtime.ExecutionContext$CalleeContext.$assertionsDisabled:Z
ifne 16
aload 2
invokevirtual com.oracle.graal.python.nodes.PRootNode.needsCallerFrame:()Z
ifne 16
new java.lang.AssertionError
dup
ldc "stack walk did not invalidate caller frame assumption"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 5 16: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.graal.python.runtime.ExecutionContext$CalleeContext.ensureMaterializeNode:()Lcom/oracle/graal/python/nodes/frame/MaterializeFrameNode;
aload 1
aload 2
iconst_0
iconst_1
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;
pop
17: aload 0
getfield com.oracle.graal.python.runtime.ExecutionContext$CalleeContext.langRef:Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;
ifnonnull 20
18: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
19: aload 0
aload 0
ldc Lcom/oracle/graal/python/PythonLanguage;
invokevirtual com.oracle.graal.python.runtime.ExecutionContext$CalleeContext.lookupLanguageReference:(Ljava/lang/Class;)Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;
putfield com.oracle.graal.python.runtime.ExecutionContext$CalleeContext.langRef:Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;
20: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield com.oracle.graal.python.runtime.ExecutionContext$CalleeContext.langRef:Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;
invokevirtual com.oracle.truffle.api.TruffleLanguage$LanguageReference.get:()Lcom/oracle/truffle/api/TruffleLanguage;
checkcast com.oracle.graal.python.PythonLanguage
aload 1
aload 2
invokevirtual com.oracle.graal.python.builtins.objects.frame.PFrame$Reference.materialize:(Lcom/oracle/graal/python/PythonLanguage;Lcom/oracle/truffle/api/frame/Frame;Lcom/oracle/graal/python/nodes/PRootNode;)V
21: aload 4
invokevirtual com.oracle.graal.python.builtins.objects.frame.PFrame$Reference.markAsEscaped:()V
22: aload 3
aload 4
invokevirtual com.oracle.graal.python.builtins.objects.frame.PFrame$Reference.setBackref:(Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;)V
end local 4 23: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/oracle/graal/python/runtime/ExecutionContext$CalleeContext;
0 24 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 24 2 node Lcom/oracle/graal/python/nodes/PRootNode;
1 24 3 info Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
8 23 4 callerInfo Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
11 16 5 callerFrame Lcom/oracle/truffle/api/frame/Frame;
MethodParameters:
Name Flags
frame
node
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$CalleeContext;
public static com.oracle.graal.python.runtime.ExecutionContext$CalleeContext create();
descriptor: ()Lcom/oracle/graal/python/runtime/ExecutionContext$CalleeContext;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new com.oracle.graal.python.runtime.ExecutionContext$CalleeContext
dup
invokespecial com.oracle.graal.python.runtime.ExecutionContext$CalleeContext.<init>:()V
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 abstract FrameSelector = com.oracle.graal.python.nodes.frame.ReadCallerFrameNode$FrameSelector of com.oracle.graal.python.nodes.frame.ReadCallerFrameNode
public final CalleeContext = com.oracle.graal.python.runtime.ExecutionContext$CalleeContext of com.oracle.graal.python.runtime.ExecutionContext
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
public abstract LanguageReference = com.oracle.truffle.api.TruffleLanguage$LanguageReference of com.oracle.truffle.api.TruffleLanguage
public final FrameAccess = com.oracle.truffle.api.frame.FrameInstance$FrameAccess of com.oracle.truffle.api.frame.FrameInstance
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node