class org.graalvm.compiler.truffle.test.MaterializedFrameTest$1 extends com.oracle.truffle.api.nodes.RootNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.truffle.test.MaterializedFrameTest$1
super_class: com.oracle.truffle.api.nodes.RootNode
{
private final com.oracle.truffle.api.profiles.ValueProfile frameClassProfile;
descriptor: Lcom/oracle/truffle/api/profiles/ValueProfile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.frame.FrameSlot val$slot;
descriptor: Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.truffle.api.TruffleLanguage, com.oracle.truffle.api.frame.FrameDescriptor, com.oracle.truffle.api.frame.FrameSlot);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/api/frame/FrameSlot;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 // org.graalvm.compiler.truffle.test.MaterializedFrameTest$1 this
start local 1 // com.oracle.truffle.api.TruffleLanguage $anonymous0
start local 2 // com.oracle.truffle.api.frame.FrameDescriptor $anonymous1
0: .line 59
aload 0 /* this */
aload 3
putfield org.graalvm.compiler.truffle.test.MaterializedFrameTest$1.val$slot:Lcom/oracle/truffle/api/frame/FrameSlot;
aload 0 /* this */
aload 1 /* $anonymous0 */
aload 2 /* $anonymous1 */
invokespecial com.oracle.truffle.api.nodes.RootNode.<init>:(Lcom/oracle/truffle/api/TruffleLanguage;Lcom/oracle/truffle/api/frame/FrameDescriptor;)V
1: .line 60
aload 0 /* this */
invokestatic com.oracle.truffle.api.profiles.ValueProfile.createClassProfile:()Lcom/oracle/truffle/api/profiles/ValueProfile;
putfield org.graalvm.compiler.truffle.test.MaterializedFrameTest$1.frameClassProfile:Lcom/oracle/truffle/api/profiles/ValueProfile;
2: .line 59
return
end local 2 // com.oracle.truffle.api.frame.FrameDescriptor $anonymous1
end local 1 // com.oracle.truffle.api.TruffleLanguage $anonymous0
end local 0 // org.graalvm.compiler.truffle.test.MaterializedFrameTest$1 this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/truffle/test/MaterializedFrameTest$1;
0 3 1 $anonymous0 Lcom/oracle/truffle/api/TruffleLanguage<*>;
0 3 2 $anonymous1 Lcom/oracle/truffle/api/frame/FrameDescriptor;
MethodParameters:
Name Flags
$anonymous0
$anonymous1
val$slot final
public java.lang.Object execute(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 // org.graalvm.compiler.truffle.test.MaterializedFrameTest$1 this
start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
0: .line 64
aload 0 /* this */
getfield org.graalvm.compiler.truffle.test.MaterializedFrameTest$1.frameClassProfile:Lcom/oracle/truffle/api/profiles/ValueProfile;
aload 1 /* frame */
invokeinterface com.oracle.truffle.api.frame.VirtualFrame.materialize:()Lcom/oracle/truffle/api/frame/MaterializedFrame;
invokestatic org.graalvm.compiler.api.directives.GraalDirectives.opaque:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.frame.MaterializedFrame
invokevirtual com.oracle.truffle.api.profiles.ValueProfile.profile:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.frame.MaterializedFrame
astore 2 /* mframe */
start local 2 // com.oracle.truffle.api.frame.MaterializedFrame mframe
1: .line 65
aload 2 /* mframe */
invokeinterface com.oracle.truffle.api.frame.MaterializedFrame.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 0 /* this */
getfield org.graalvm.compiler.truffle.test.MaterializedFrameTest$1.val$slot:Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.getFrameSlotKind:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/api/frame/FrameSlotKind;
getstatic com.oracle.truffle.api.frame.FrameSlotKind.Int:Lcom/oracle/truffle/api/frame/FrameSlotKind;
if_acmpeq 4
2: .line 66
invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
3: .line 67
aload 2 /* mframe */
invokeinterface com.oracle.truffle.api.frame.MaterializedFrame.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 0 /* this */
getfield org.graalvm.compiler.truffle.test.MaterializedFrameTest$1.val$slot:Lcom/oracle/truffle/api/frame/FrameSlot;
getstatic com.oracle.truffle.api.frame.FrameSlotKind.Int:Lcom/oracle/truffle/api/frame/FrameSlotKind;
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.setFrameSlotKind:(Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameSlotKind;)V
4: .line 69
StackMap locals: com.oracle.truffle.api.frame.MaterializedFrame
StackMap stack:
aload 2 /* mframe */
aload 0 /* this */
getfield org.graalvm.compiler.truffle.test.MaterializedFrameTest$1.val$slot:Lcom/oracle/truffle/api/frame/FrameSlot;
bipush 42
invokeinterface com.oracle.truffle.api.frame.MaterializedFrame.setInt:(Lcom/oracle/truffle/api/frame/FrameSlot;I)V
5: .line 70
aload 2 /* mframe */
aload 0 /* this */
getfield org.graalvm.compiler.truffle.test.MaterializedFrameTest$1.val$slot:Lcom/oracle/truffle/api/frame/FrameSlot;
invokeinterface com.oracle.truffle.api.frame.MaterializedFrame.isInt:(Lcom/oracle/truffle/api/frame/FrameSlot;)Z
ifeq 9
6: .line 72
aload 2 /* mframe */
aload 0 /* this */
getfield org.graalvm.compiler.truffle.test.MaterializedFrameTest$1.val$slot:Lcom/oracle/truffle/api/frame/FrameSlot;
invokeinterface com.oracle.truffle.api.frame.MaterializedFrame.getInt:(Lcom/oracle/truffle/api/frame/FrameSlot;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
7: areturn
8: .line 73
StackMap locals:
StackMap stack: com.oracle.truffle.api.frame.FrameSlotTypeException
pop
9: .line 76
StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
10: .line 77
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 2 // com.oracle.truffle.api.frame.MaterializedFrame mframe
end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
end local 0 // org.graalvm.compiler.truffle.test.MaterializedFrameTest$1 this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/truffle/test/MaterializedFrameTest$1;
0 11 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 11 2 mframe Lcom/oracle/truffle/api/frame/MaterializedFrame;
Exception table:
from to target type
6 7 8 Class com.oracle.truffle.api.frame.FrameSlotTypeException
MethodParameters:
Name Flags
frame
}
SourceFile: "MaterializedFrameTest.java"
EnclosingMethod: org.graalvm.compiler.truffle.test.MaterializedFrameTest.createRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
NestHost: org.graalvm.compiler.truffle.test.MaterializedFrameTest
InnerClasses:
org.graalvm.compiler.truffle.test.MaterializedFrameTest$1