class org.graalvm.compiler.truffle.test.NewFrameNodeTest$1 extends org.graalvm.compiler.truffle.test.nodes.AbstractTestNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.truffle.test.NewFrameNodeTest$1
super_class: org.graalvm.compiler.truffle.test.nodes.AbstractTestNode
{
final org.graalvm.compiler.truffle.test.NewFrameNodeTest this$0;
descriptor: Lorg/graalvm/compiler/truffle/test/NewFrameNodeTest;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(org.graalvm.compiler.truffle.test.NewFrameNodeTest);
descriptor: (Lorg/graalvm/compiler/truffle/test/NewFrameNodeTest;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // org.graalvm.compiler.truffle.test.NewFrameNodeTest$1 this
0: .line 63
aload 0 /* this */
aload 1
putfield org.graalvm.compiler.truffle.test.NewFrameNodeTest$1.this$0:Lorg/graalvm/compiler/truffle/test/NewFrameNodeTest;
aload 0 /* this */
invokespecial org.graalvm.compiler.truffle.test.nodes.AbstractTestNode.<init>:()V
return
end local 0 // org.graalvm.compiler.truffle.test.NewFrameNodeTest$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/truffle/test/NewFrameNodeTest$1;
MethodParameters:
Name Flags
this$0 final
public int execute(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 // org.graalvm.compiler.truffle.test.NewFrameNodeTest$1 this
start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
0: .line 66
aload 1 /* frame */
invokeinterface com.oracle.truffle.api.frame.VirtualFrame.materialize:()Lcom/oracle/truffle/api/frame/MaterializedFrame;
astore 2 /* materializedFrame */
start local 2 // com.oracle.truffle.api.frame.MaterializedFrame materializedFrame
1: .line 67
aload 2 /* materializedFrame */
instanceof org.graalvm.compiler.truffle.runtime.FrameWithoutBoxing
ifeq 12
2: .line 68
aload 2 /* materializedFrame */
checkcast org.graalvm.compiler.truffle.runtime.FrameWithoutBoxing
astore 3 /* frameWithoutBoxing */
start local 3 // org.graalvm.compiler.truffle.runtime.FrameWithoutBoxing frameWithoutBoxing
3: .line 70
aload 0 /* this */
aload 3 /* frameWithoutBoxing */
ldc "primitiveLocals"
invokevirtual org.graalvm.compiler.truffle.test.NewFrameNodeTest$1.getFrameField:(Lorg/graalvm/compiler/truffle/runtime/FrameWithoutBoxing;Ljava/lang/String;)Ljava/lang/Object;
checkcast long[]
astore 4 /* primitiveLocals */
start local 4 // long[] primitiveLocals
4: .line 71
aload 0 /* this */
aload 3 /* frameWithoutBoxing */
ldc "locals"
invokevirtual org.graalvm.compiler.truffle.test.NewFrameNodeTest$1.getFrameField:(Lorg/graalvm/compiler/truffle/runtime/FrameWithoutBoxing;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Object[]
astore 5 /* locals */
start local 5 // java.lang.Object[] locals
5: .line 72
aload 0 /* this */
aload 3 /* frameWithoutBoxing */
ldc "tags"
invokevirtual org.graalvm.compiler.truffle.test.NewFrameNodeTest$1.getFrameField:(Lorg/graalvm/compiler/truffle/runtime/FrameWithoutBoxing;Ljava/lang/String;)Ljava/lang/Object;
checkcast byte[]
astore 6 /* tags */
start local 6 // byte[] tags
6: .line 73
sipush 10000
aload 6 /* tags */
arraylength
imul
bipush 100
aload 4 /* primitiveLocals */
arraylength
imul
iadd
aload 5 /* locals */
arraylength
iadd
7: ireturn
end local 6 // byte[] tags
end local 5 // java.lang.Object[] locals
end local 4 // long[] primitiveLocals
8: .line 74
StackMap locals: org.graalvm.compiler.truffle.test.NewFrameNodeTest$1 com.oracle.truffle.api.frame.VirtualFrame com.oracle.truffle.api.frame.MaterializedFrame org.graalvm.compiler.truffle.runtime.FrameWithoutBoxing
StackMap stack: java.lang.IllegalAccessException
pop
9: .line 75
bipush -2
ireturn
10: .line 76
StackMap locals:
StackMap stack: java.lang.NoSuchFieldException
pop
11: .line 77
bipush -3
ireturn
end local 3 // org.graalvm.compiler.truffle.runtime.FrameWithoutBoxing frameWithoutBoxing
12: .line 80
StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 2 // com.oracle.truffle.api.frame.MaterializedFrame materializedFrame
end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
end local 0 // org.graalvm.compiler.truffle.test.NewFrameNodeTest$1 this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/compiler/truffle/test/NewFrameNodeTest$1;
0 13 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 13 2 materializedFrame Lcom/oracle/truffle/api/frame/MaterializedFrame;
3 12 3 frameWithoutBoxing Lorg/graalvm/compiler/truffle/runtime/FrameWithoutBoxing;
4 8 4 primitiveLocals [J
5 8 5 locals [Ljava/lang/Object;
6 8 6 tags [B
Exception table:
from to target type
3 7 8 Class java.lang.IllegalAccessException
3 7 10 Class java.lang.NoSuchFieldException
MethodParameters:
Name Flags
frame
private java.lang.Object getFrameField(org.graalvm.compiler.truffle.runtime.FrameWithoutBoxing, java.lang.String);
descriptor: (Lorg/graalvm/compiler/truffle/runtime/FrameWithoutBoxing;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 // org.graalvm.compiler.truffle.test.NewFrameNodeTest$1 this
start local 1 // org.graalvm.compiler.truffle.runtime.FrameWithoutBoxing materializedFrame
start local 2 // java.lang.String fieldName
0: .line 85
ldc Lorg/graalvm/compiler/truffle/runtime/FrameWithoutBoxing;
aload 2 /* fieldName */
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 3 /* field */
start local 3 // java.lang.reflect.Field field
1: .line 86
aload 3 /* field */
iconst_1
invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
2: .line 87
aload 3 /* field */
aload 1 /* materializedFrame */
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 // java.lang.reflect.Field field
end local 2 // java.lang.String fieldName
end local 1 // org.graalvm.compiler.truffle.runtime.FrameWithoutBoxing materializedFrame
end local 0 // org.graalvm.compiler.truffle.test.NewFrameNodeTest$1 this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/truffle/test/NewFrameNodeTest$1;
0 3 1 materializedFrame Lorg/graalvm/compiler/truffle/runtime/FrameWithoutBoxing;
0 3 2 fieldName Ljava/lang/String;
1 3 3 field Ljava/lang/reflect/Field;
Exceptions:
throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
materializedFrame
fieldName
}
SourceFile: "NewFrameNodeTest.java"
EnclosingMethod: org.graalvm.compiler.truffle.test.NewFrameNodeTest.newFrameNodeFrameSizeIsCorrect:()V
NestHost: org.graalvm.compiler.truffle.test.NewFrameNodeTest
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
org.graalvm.compiler.truffle.test.NewFrameNodeTest$1