public class org.graalvm.compiler.truffle.test.OSRCancelTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.truffle.test.OSRCancelTest
super_class: java.lang.Object
{
private static volatile boolean reachedCompiledCode;
descriptor: Z
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static final java.lang.String LANGUAGE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "ForceCloseTestLanguage"
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/truffle/test/OSRCancelTest;
public void testCancelWithMaterialization();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
astore 1
start local 1 1: iconst_1
invokestatic java.util.concurrent.Executors.newFixedThreadPool:(I)Ljava/util/concurrent/ExecutorService;
astore 2
start local 2 2: new java.util.concurrent.Semaphore
dup
iconst_0
invokespecial java.util.concurrent.Semaphore.<init>:(I)V
astore 3
start local 3 3: aload 2
aload 1
aload 3
invokedynamic call(Lorg/graalvm/polyglot/Context;Ljava/util/concurrent/Semaphore;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/graalvm/compiler/truffle/test/OSRCancelTest.lambda$0(Lorg/graalvm/polyglot/Context;Ljava/util/concurrent/Semaphore;)Lorg/graalvm/polyglot/Value; (6)
()Lorg/graalvm/polyglot/Value;
invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
astore 4
start local 4 4: iconst_0
putstatic org.graalvm.compiler.truffle.test.OSRCancelTest.reachedCompiledCode:Z
5: iconst_0
istore 5
start local 5 6: goto 11
7: StackMap locals: org.graalvm.compiler.truffle.test.OSRCancelTest org.graalvm.polyglot.Context java.util.concurrent.ExecutorService java.util.concurrent.Semaphore java.util.concurrent.Future int
StackMap stack:
ldc 10
invokestatic java.lang.Thread.sleep:(J)V
8: iload 5
sipush 2000
if_icmple 10
9: new java.lang.AssertionError
dup
ldc "compilation timeout"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
10: StackMap locals:
StackMap stack:
iinc 5 1
11: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.truffle.test.OSRCancelTest.reachedCompiledCode:Z
ifeq 7
12: aload 3
invokevirtual java.util.concurrent.Semaphore.acquireUninterruptibly:()V
13: aload 1
iconst_1
invokevirtual org.graalvm.polyglot.Context.close:(Z)V
14: aload 4
invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
pop
15: goto 19
StackMap locals:
StackMap stack: java.util.concurrent.ExecutionException
16: astore 6
start local 6 17: aload 6
invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
checkcast org.graalvm.polyglot.PolyglotException
astore 7
start local 7 18: aload 7
invokevirtual org.graalvm.polyglot.PolyglotException.isCancelled:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
end local 7 end local 6 19: StackMap locals:
StackMap stack:
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 20 0 this Lorg/graalvm/compiler/truffle/test/OSRCancelTest;
1 20 1 context Lorg/graalvm/polyglot/Context;
2 20 2 service Ljava/util/concurrent/ExecutorService;
3 20 3 semaphore Ljava/util/concurrent/Semaphore;
4 20 4 future Ljava/util/concurrent/Future<Lorg/graalvm/polyglot/Value;>;
6 20 5 time I
17 19 6 e Ljava/util/concurrent/ExecutionException;
18 19 7 pe Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
14 15 16 Class java.util.concurrent.ExecutionException
Exceptions:
throws java.lang.InterruptedException
RuntimeVisibleAnnotations:
org.junit.Test()
private static org.graalvm.polyglot.Value lambda$0(org.graalvm.polyglot.Context, java.util.concurrent.Semaphore);
descriptor: (Lorg/graalvm/polyglot/Context;Ljava/util/concurrent/Semaphore;)Lorg/graalvm/polyglot/Value;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=4, args_size=2
0: aload 0
invokevirtual org.graalvm.polyglot.Context.enter:()V
1: aload 1
invokevirtual java.util.concurrent.Semaphore.release:()V
2: aload 0
ldc "ForceCloseTestLanguage"
ldc ""
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
astore 3
3: aload 0
invokevirtual org.graalvm.polyglot.Context.leave:()V
4: aload 3
areturn
5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
6: aload 0
invokevirtual org.graalvm.polyglot.Context.leave:()V
7: aload 2
athrow
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 5 any
Exceptions:
throws java.lang.Exception
}
SourceFile: "OSRCancelTest.java"
NestMembers:
org.graalvm.compiler.truffle.test.OSRCancelTest$TestExpression org.graalvm.compiler.truffle.test.OSRCancelTest$TestInstrumentableNode org.graalvm.compiler.truffle.test.OSRCancelTest$TestLanguage org.graalvm.compiler.truffle.test.OSRCancelTest$TestLanguage$1 org.graalvm.compiler.truffle.test.OSRCancelTest$TestLoopNode org.graalvm.compiler.truffle.test.OSRCancelTest$TestMaterializedLoopNode
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
TestExpression = org.graalvm.compiler.truffle.test.OSRCancelTest$TestExpression of org.graalvm.compiler.truffle.test.OSRCancelTest
abstract TestInstrumentableNode = org.graalvm.compiler.truffle.test.OSRCancelTest$TestInstrumentableNode of org.graalvm.compiler.truffle.test.OSRCancelTest
public TestLanguage = org.graalvm.compiler.truffle.test.OSRCancelTest$TestLanguage of org.graalvm.compiler.truffle.test.OSRCancelTest
TestLoopNode = org.graalvm.compiler.truffle.test.OSRCancelTest$TestLoopNode of org.graalvm.compiler.truffle.test.OSRCancelTest
TestMaterializedLoopNode = org.graalvm.compiler.truffle.test.OSRCancelTest$TestMaterializedLoopNode of org.graalvm.compiler.truffle.test.OSRCancelTest