class org.graalvm.compiler.truffle.test.OptimizedOSRLoopNodeTest$TestRepeatingNode extends com.oracle.truffle.api.nodes.Node implements com.oracle.truffle.api.nodes.RepeatingNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.truffle.test.OptimizedOSRLoopNodeTest$TestRepeatingNode
super_class: com.oracle.truffle.api.nodes.Node
{
int invalidationCounter;
descriptor: I
flags: (0x0000)
com.oracle.truffle.api.frame.FrameSlot param1;
descriptor: Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0000)
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
com.oracle.truffle.api.frame.FrameSlot param2;
descriptor: Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0000)
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
boolean compiled;
descriptor: Z
flags: (0x0000)
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 // org.graalvm.compiler.truffle.test.OptimizedOSRLoopNodeTest$TestRepeatingNode this
0: .line 725
aload 0 /* this */
invokespecial com.oracle.truffle.api.nodes.Node.<init>:()V
1: .line 726
aload 0 /* this */
iconst_m1
putfield org.graalvm.compiler.truffle.test.OptimizedOSRLoopNodeTest$TestRepeatingNode.invalidationCounter:I
2: .line 725
return
end local 0 // org.graalvm.compiler.truffle.test.OptimizedOSRLoopNodeTest$TestRepeatingNode this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/truffle/test/OptimizedOSRLoopNodeTest$TestRepeatingNode;
public boolean executeRepeating(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 // org.graalvm.compiler.truffle.test.OptimizedOSRLoopNodeTest$TestRepeatingNode this
start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
0: .line 736
aload 0 /* this */
getfield org.graalvm.compiler.truffle.test.OptimizedOSRLoopNodeTest$TestRepeatingNode.invalidationCounter:I
iflt 6
1: .line 737
aload 0 /* this */
getfield org.graalvm.compiler.truffle.test.OptimizedOSRLoopNodeTest$TestRepeatingNode.invalidationCounter:I
ifne 5
2: .line 738
invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
3: .line 739
aload 0 /* this */
iconst_m1
putfield org.graalvm.compiler.truffle.test.OptimizedOSRLoopNodeTest$TestRepeatingNode.invalidationCounter:I
4: .line 740
goto 6
5: .line 741
StackMap locals:
StackMap stack:
aload 0 /* this */
dup
getfield org.graalvm.compiler.truffle.test.OptimizedOSRLoopNodeTest$TestRepeatingNode.invalidationCounter:I
iconst_1
isub
putfield org.graalvm.compiler.truffle.test.OptimizedOSRLoopNodeTest$TestRepeatingNode.invalidationCounter:I
6: .line 745
StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
ifeq 9
7: .line 746
aload 0 /* this */
iconst_1
putfield org.graalvm.compiler.truffle.test.OptimizedOSRLoopNodeTest$TestRepeatingNode.compiled:Z
8: .line 747
goto 10
9: .line 748
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_0
putfield org.graalvm.compiler.truffle.test.OptimizedOSRLoopNodeTest$TestRepeatingNode.compiled:Z
10: .line 751
StackMap locals:
StackMap stack:
aload 1 /* frame */
aload 0 /* this */
getfield org.graalvm.compiler.truffle.test.OptimizedOSRLoopNodeTest$TestRepeatingNode.param1:Lcom/oracle/truffle/api/frame/FrameSlot;
invokeinterface com.oracle.truffle.api.frame.VirtualFrame.getInt:(Lcom/oracle/truffle/api/frame/FrameSlot;)I
istore 2 /* counter */
start local 2 // int counter
11: .line 752
aload 1 /* frame */
aload 0 /* this */
getfield org.graalvm.compiler.truffle.test.OptimizedOSRLoopNodeTest$TestRepeatingNode.param1:Lcom/oracle/truffle/api/frame/FrameSlot;
iload 2 /* counter */
iconst_1
isub
invokeinterface com.oracle.truffle.api.frame.VirtualFrame.setInt:(Lcom/oracle/truffle/api/frame/FrameSlot;I)V
12: .line 753
iload 2 /* counter */
ifeq 13
iconst_1
ireturn
StackMap locals: int
StackMap stack:
13: iconst_0
14: ireturn
end local 2 // int counter
15: .line 754
StackMap locals: org.graalvm.compiler.truffle.test.OptimizedOSRLoopNodeTest$TestRepeatingNode com.oracle.truffle.api.frame.VirtualFrame
StackMap stack: com.oracle.truffle.api.frame.FrameSlotTypeException
pop
16: .line 755
iconst_0
ireturn
end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
end local 0 // org.graalvm.compiler.truffle.test.OptimizedOSRLoopNodeTest$TestRepeatingNode this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/graalvm/compiler/truffle/test/OptimizedOSRLoopNodeTest$TestRepeatingNode;
0 17 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
11 15 2 counter I
Exception table:
from to target type
0 14 15 Class com.oracle.truffle.api.frame.FrameSlotTypeException
MethodParameters:
Name Flags
frame
}
SourceFile: "OptimizedOSRLoopNodeTest.java"
NestHost: org.graalvm.compiler.truffle.test.OptimizedOSRLoopNodeTest
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
private TestRepeatingNode = org.graalvm.compiler.truffle.test.OptimizedOSRLoopNodeTest$TestRepeatingNode of org.graalvm.compiler.truffle.test.OptimizedOSRLoopNodeTest