public class org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest extends org.graalvm.compiler.truffle.test.TestWithSynchronousCompiling
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest
super_class: org.graalvm.compiler.truffle.test.TestWithSynchronousCompiling
{
private static final org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime runtime;
descriptor: Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
checkcast org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime
putstatic org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest.runtime:Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.truffle.test.TestWithSynchronousCompiling.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/truffle/test/TruffleBoundaryExceptionsTest;
public void before();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "engine.MultiTier"
aastore
dup
iconst_1
ldc "false"
aastore
invokevirtual org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest.setupContext:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/truffle/test/TruffleBoundaryExceptionsTest;
RuntimeVisibleAnnotations:
org.junit.Before()
public void testExceptionOnTruffleBoundaryDeoptsOnce();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: iconst_1
newarray 10
astore 1
start local 1 1: new org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$1
dup
aload 0
aload 1
invokespecial org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$1.<init>:(Lorg/graalvm/compiler/truffle/test/TruffleBoundaryExceptionsTest;[I)V
astore 2
start local 2 2: aload 0
iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "engine.InvalidationReprofileCount"
aastore
dup
iconst_1
ldc "0"
aastore
dup
iconst_2
ldc "engine.MultiTier"
aastore
dup
iconst_3
ldc "false"
aastore
invokevirtual org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest.setupContext:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
pop
3: new org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$1DeoptCountingExceptionOverBoundaryRootNode
dup
aload 0
invokespecial org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$1DeoptCountingExceptionOverBoundaryRootNode.<init>:(Lorg/graalvm/compiler/truffle/test/TruffleBoundaryExceptionsTest;)V
astore 3
start local 3 4: getstatic org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest.runtime:Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
aload 3
invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
checkcast org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
astore 4
start local 4 5: aload 4
getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions.CompilationThreshold:Lorg/graalvm/options/OptionKey;
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getOptionValue:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 5
start local 5 6: iconst_0
istore 6
start local 6 7: goto 10
8: StackMap locals: org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest int[] org.graalvm.compiler.truffle.runtime.GraalTruffleRuntimeListener org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$1DeoptCountingExceptionOverBoundaryRootNode org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int int
StackMap stack:
aload 4
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
9: iinc 6 1
StackMap locals:
StackMap stack:
10: iload 6
iload 5
if_icmplt 8
end local 6 11: ldc "Incorrect number of deopts detected!"
lconst_1
aload 3
getfield org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$1DeoptCountingExceptionOverBoundaryRootNode.deoptCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
12: aload 4
invokestatic org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest.assertNotCompiled:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;)V
13: aload 4
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
14: aload 4
invokestatic org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest.assertCompiled:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;)V
15: getstatic org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest.runtime:Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
aload 2
invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.addListener:(Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntimeListener;)V
16: iconst_0
istore 6
start local 6 17: goto 20
18: StackMap locals:
StackMap stack:
aload 4
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
19: iinc 6 1
StackMap locals:
StackMap stack:
20: iload 6
bipush 10
if_icmplt 18
end local 6 21: iload 5
iconst_1
iadd
bipush 10
iadd
istore 6
start local 6 22: ldc "Incorrect number of catch block executions"
iload 6
i2l
aload 3
getfield org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$1DeoptCountingExceptionOverBoundaryRootNode.catchCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
23: ldc "Incorrect number of interpreted executions"
iload 5
iconst_1
isub
i2l
aload 3
getfield org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$1DeoptCountingExceptionOverBoundaryRootNode.interpretCount:I
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
24: ldc "Incorrect number of deopts detected!"
lconst_1
aload 3
getfield org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$1DeoptCountingExceptionOverBoundaryRootNode.deoptCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
25: ldc "Compilation happened!"
lconst_0
aload 1
iconst_0
iaload
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
end local 6 26: goto 30
StackMap locals: org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest int[] org.graalvm.compiler.truffle.runtime.GraalTruffleRuntimeListener org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$1DeoptCountingExceptionOverBoundaryRootNode org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int
StackMap stack: java.lang.Throwable
27: astore 7
28: getstatic org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest.runtime:Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
aload 2
invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.removeListener:(Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntimeListener;)V
29: aload 7
athrow
30: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest.runtime:Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
aload 2
invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.removeListener:(Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntimeListener;)V
31: 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 Lorg/graalvm/compiler/truffle/test/TruffleBoundaryExceptionsTest;
1 32 1 compilationCount [I
2 32 2 listener Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntimeListener;
4 32 3 rootNode Lorg/graalvm/compiler/truffle/test/TruffleBoundaryExceptionsTest$1DeoptCountingExceptionOverBoundaryRootNode;
5 32 4 outerTarget Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
6 32 5 compilationThreshold I
7 11 6 i I
17 21 6 i I
22 26 6 totalExecutions I
Exception table:
from to target type
16 27 27 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testExceptionOnTruffleBoundaryWithNoTransferToInterpreter();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: new org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$2DeoptCountingExceptionOverBoundaryRootNode
dup
aload 0
invokespecial org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$2DeoptCountingExceptionOverBoundaryRootNode.<init>:(Lorg/graalvm/compiler/truffle/test/TruffleBoundaryExceptionsTest;)V
astore 1
start local 1 1: getstatic org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest.runtime:Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
aload 1
invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
checkcast org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
astore 2
start local 2 2: aload 2
getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions.CompilationThreshold:Lorg/graalvm/options/OptionKey;
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getOptionValue:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 7
5: StackMap locals: org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$2DeoptCountingExceptionOverBoundaryRootNode org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int int
StackMap stack:
aload 2
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 3
if_icmplt 5
end local 4 8: aload 2
invokestatic org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest.assertCompiled:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;)V
9: iconst_0
istore 4
start local 4 10: goto 13
11: StackMap locals:
StackMap stack:
aload 2
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
12: iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
bipush 10
if_icmplt 11
end local 4 14: iload 3
bipush 10
iadd
istore 4
start local 4 15: ldc "Incorrect number of catch block executions"
iload 4
i2l
aload 1
getfield org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$2DeoptCountingExceptionOverBoundaryRootNode.catchCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
16: ldc "Incorrect number of deopts detected!"
lconst_0
aload 1
getfield org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$2DeoptCountingExceptionOverBoundaryRootNode.deoptCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
17: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/graalvm/compiler/truffle/test/TruffleBoundaryExceptionsTest;
1 18 1 rootNode Lorg/graalvm/compiler/truffle/test/TruffleBoundaryExceptionsTest$2DeoptCountingExceptionOverBoundaryRootNode;
2 18 2 outerTarget Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
3 18 3 compilationThreshold I
4 8 4 i I
10 14 4 i I
15 18 4 totalExecutions I
RuntimeVisibleAnnotations:
org.junit.Test()
public void testExceptionOnTruffleBoundaryWithNoCatch();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: new org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$3DeoptCountingExceptionOverBoundaryRootNode
dup
aload 0
invokespecial org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$3DeoptCountingExceptionOverBoundaryRootNode.<init>:(Lorg/graalvm/compiler/truffle/test/TruffleBoundaryExceptionsTest;)V
astore 1
start local 1 1: getstatic org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest.runtime:Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
aload 1
invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
checkcast org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
astore 2
start local 2 2: aload 2
getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions.CompilationThreshold:Lorg/graalvm/options/OptionKey;
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getOptionValue:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 3
start local 3 3: aload 2
getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions.InvalidationReprofileCount:Lorg/graalvm/options/OptionKey;
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getOptionValue:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 11
6: StackMap locals: org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$3DeoptCountingExceptionOverBoundaryRootNode org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int int int
StackMap stack:
aload 2
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
7: invokestatic org.junit.Assert.fail:()V
8: goto 10
StackMap locals:
StackMap stack: java.lang.RuntimeException
9: pop
10: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
iload 3
if_icmplt 6
end local 5 12: aload 2
invokestatic org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest.assertNotCompiled:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;)V
13: ldc "Incorrect number of deopts detected!"
lconst_1
aload 1
getfield org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$3DeoptCountingExceptionOverBoundaryRootNode.deoptCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
14: iconst_0
istore 5
start local 5 15: goto 21
16: StackMap locals:
StackMap stack:
aload 2
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
17: invokestatic org.junit.Assert.fail:()V
18: goto 20
StackMap locals:
StackMap stack: java.lang.RuntimeException
19: pop
20: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
21: iload 5
iload 4
if_icmplt 16
end local 5 22: aload 2
invokestatic org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest.assertCompiled:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;)V
23: iconst_0
istore 5
start local 5 24: goto 30
25: StackMap locals:
StackMap stack:
aload 2
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
26: invokestatic org.junit.Assert.fail:()V
27: goto 29
StackMap locals:
StackMap stack: java.lang.RuntimeException
28: pop
29: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
30: iload 5
bipush 10
if_icmplt 25
end local 5 31: ldc "Incorrect number of deopts detected!"
lconst_1
aload 1
getfield org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$3DeoptCountingExceptionOverBoundaryRootNode.deoptCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
32: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/graalvm/compiler/truffle/test/TruffleBoundaryExceptionsTest;
1 33 1 rootNode Lorg/graalvm/compiler/truffle/test/TruffleBoundaryExceptionsTest$3DeoptCountingExceptionOverBoundaryRootNode;
2 33 2 outerTarget Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
3 33 3 compilationThreshold I
4 33 4 invalidationReprofileCount I
5 12 5 i I
15 22 5 i I
24 31 5 i I
Exception table:
from to target type
6 8 9 Class java.lang.RuntimeException
16 18 19 Class java.lang.RuntimeException
25 27 28 Class java.lang.RuntimeException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testExceptionOnTruffleBoundaryWithNoCatchTransferFalse();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: new org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$4DeoptCountingExceptionOverBoundaryRootNode
dup
aload 0
invokespecial org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$4DeoptCountingExceptionOverBoundaryRootNode.<init>:(Lorg/graalvm/compiler/truffle/test/TruffleBoundaryExceptionsTest;)V
astore 1
start local 1 1: getstatic org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest.runtime:Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
aload 1
invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
checkcast org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
astore 2
start local 2 2: aload 2
getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions.CompilationThreshold:Lorg/graalvm/options/OptionKey;
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getOptionValue:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 10
5: StackMap locals: org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$4DeoptCountingExceptionOverBoundaryRootNode org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int int
StackMap stack:
aload 2
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
6: invokestatic org.junit.Assert.fail:()V
7: goto 9
StackMap locals:
StackMap stack: java.lang.RuntimeException
8: pop
9: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 3
if_icmplt 5
end local 4 11: aload 2
invokestatic org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest.assertCompiled:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;)V
12: iconst_0
istore 4
start local 4 13: goto 19
14: StackMap locals:
StackMap stack:
aload 2
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
15: invokestatic org.junit.Assert.fail:()V
16: goto 18
StackMap locals:
StackMap stack: java.lang.RuntimeException
17: pop
18: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
19: iload 4
bipush 10
if_icmplt 14
end local 4 20: ldc "Incorrect number of deopts detected!"
lconst_0
aload 1
getfield org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$4DeoptCountingExceptionOverBoundaryRootNode.deoptCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
21: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/graalvm/compiler/truffle/test/TruffleBoundaryExceptionsTest;
1 22 1 rootNode Lorg/graalvm/compiler/truffle/test/TruffleBoundaryExceptionsTest$4DeoptCountingExceptionOverBoundaryRootNode;
2 22 2 outerTarget Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
3 22 3 compilationThreshold I
4 11 4 i I
13 20 4 i I
Exception table:
from to target type
5 7 8 Class java.lang.RuntimeException
14 16 17 Class java.lang.RuntimeException
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "TruffleBoundaryExceptionsTest.java"
NestMembers:
org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$1 org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$1DeoptCountingExceptionOverBoundaryRootNode org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$2DeoptCountingExceptionOverBoundaryRootNode org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$3DeoptCountingExceptionOverBoundaryRootNode org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$4DeoptCountingExceptionOverBoundaryRootNode
InnerClasses:
org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$1
DeoptCountingExceptionOverBoundaryRootNode = org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$1DeoptCountingExceptionOverBoundaryRootNode
DeoptCountingExceptionOverBoundaryRootNode = org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$2DeoptCountingExceptionOverBoundaryRootNode
DeoptCountingExceptionOverBoundaryRootNode = org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$3DeoptCountingExceptionOverBoundaryRootNode
DeoptCountingExceptionOverBoundaryRootNode = org.graalvm.compiler.truffle.test.TruffleBoundaryExceptionsTest$4DeoptCountingExceptionOverBoundaryRootNode