public class com.oracle.truffle.api.instrumentation.test.GR25718Test
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.instrumentation.test.GR25718Test
super_class: java.lang.Object
{
private static final java.lang.String CODE_LATCHES;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "getExecLatches"
private static final java.lang.String CODE_MULTI_SOURCE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "multiSource"
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // com.oracle.truffle.api.instrumentation.test.GR25718Test this
0: .line 90
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.oracle.truffle.api.instrumentation.test.GR25718Test this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/test/GR25718Test;
public void testNoDeadlockOnParallelSourceVisit();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=1
start local 0 // com.oracle.truffle.api.instrumentation.test.GR25718Test this
0: .line 97
new com.oracle.truffle.api.instrumentation.test.GR25718Test$RunningAppLanguage
dup
invokespecial com.oracle.truffle.api.instrumentation.test.GR25718Test$RunningAppLanguage.<init>:()V
invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
pop
1: .line 98
aconst_null
astore 1
aconst_null
astore 2
2: invokestatic org.graalvm.polyglot.Engine.create:()Lorg/graalvm/polyglot/Engine;
astore 3 /* engine */
start local 3 // org.graalvm.polyglot.Engine engine
3: .line 99
aload 3 /* engine */
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "testNoDeadlock"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 4 /* instrument */
start local 4 // org.graalvm.polyglot.Instrument instrument
4: .line 100
aload 4 /* instrument */
ldc Lcom/oracle/truffle/api/instrumentation/test/DeadlockTest$TestDeadlockInstrument;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.DeadlockTest$TestDeadlockInstrument
astore 5 /* deadlockInstrument */
start local 5 // com.oracle.truffle.api.instrumentation.test.DeadlockTest$TestDeadlockInstrument deadlockInstrument
5: .line 101
new com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread
dup
aload 0 /* this */
aload 3 /* engine */
aload 5 /* deadlockInstrument */
getfield com.oracle.truffle.api.instrumentation.test.DeadlockTest$TestDeadlockInstrument.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokespecial com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread.<init>:(Lcom/oracle/truffle/api/instrumentation/test/GR25718Test;Lorg/graalvm/polyglot/Engine;Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)V
astore 6 /* instrumentationThread */
start local 6 // com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread instrumentationThread
6: .line 103
aconst_null
astore 7
aconst_null
astore 8
7: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 3 /* engine */
invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 9 /* context */
start local 9 // org.graalvm.polyglot.Context context
8: .line 105
aload 6 /* instrumentationThread */
invokevirtual com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread.start:()V
9: .line 107
ldc "proxyLanguage"
ldc "multiSource"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 10 /* source2 */
start local 10 // org.graalvm.polyglot.Source source2
10: .line 108
aload 9 /* context */
aload 10 /* source2 */
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
11: .line 109
aload 6 /* instrumentationThread */
invokevirtual com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread.join:()V
end local 10 // org.graalvm.polyglot.Source source2
12: .line 110
aload 9 /* context */
ifnull 18
aload 9 /* context */
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 18
StackMap locals: com.oracle.truffle.api.instrumentation.test.GR25718Test java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine org.graalvm.polyglot.Instrument com.oracle.truffle.api.instrumentation.test.DeadlockTest$TestDeadlockInstrument com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
13: astore 7
aload 9 /* context */
ifnull 14
aload 9 /* context */
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 9 // org.graalvm.polyglot.Context context
StackMap locals:
StackMap stack:
14: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 8
aload 7
ifnonnull 16
aload 8
astore 7
goto 17
StackMap locals:
StackMap stack:
16: aload 7
aload 8
if_acmpeq 17
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
17: aload 7
athrow
end local 6 // com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread instrumentationThread
end local 5 // com.oracle.truffle.api.instrumentation.test.DeadlockTest$TestDeadlockInstrument deadlockInstrument
end local 4 // org.graalvm.polyglot.Instrument instrument
18: .line 111
StackMap locals: com.oracle.truffle.api.instrumentation.test.GR25718Test java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine
StackMap stack:
aload 3 /* engine */
ifnull 24
aload 3 /* engine */
invokevirtual org.graalvm.polyglot.Engine.close:()V
goto 24
StackMap locals:
StackMap stack: java.lang.Throwable
19: astore 1
aload 3 /* engine */
ifnull 20
aload 3 /* engine */
invokevirtual org.graalvm.polyglot.Engine.close:()V
end local 3 // org.graalvm.polyglot.Engine engine
StackMap locals:
StackMap stack:
20: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 2
aload 1
ifnonnull 22
aload 2
astore 1
goto 23
StackMap locals:
StackMap stack:
22: aload 1
aload 2
if_acmpeq 23
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
23: aload 1
athrow
24: .line 112
StackMap locals:
StackMap stack:
return
end local 0 // com.oracle.truffle.api.instrumentation.test.GR25718Test this
LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/oracle/truffle/api/instrumentation/test/GR25718Test;
3 20 3 engine Lorg/graalvm/polyglot/Engine;
4 18 4 instrument Lorg/graalvm/polyglot/Instrument;
5 18 5 deadlockInstrument Lcom/oracle/truffle/api/instrumentation/test/DeadlockTest$TestDeadlockInstrument;
6 18 6 instrumentationThread Lcom/oracle/truffle/api/instrumentation/test/GR25718Test$InstrumentationThread;
8 14 9 context Lorg/graalvm/polyglot/Context;
10 12 10 source2 Lorg/graalvm/polyglot/Source;
Exception table:
from to target type
8 12 13 any
7 15 15 any
3 18 19 any
2 21 21 any
Exceptions:
throws java.lang.InterruptedException
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "GR25718Test.java"
NestMembers:
com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread$1 com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread$1$1 com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread$1$2 com.oracle.truffle.api.instrumentation.test.GR25718Test$RunningAppLanguage com.oracle.truffle.api.instrumentation.test.GR25718Test$RunningAppLanguage$1 com.oracle.truffle.api.instrumentation.test.GR25718Test$RunningAppLanguage$2 com.oracle.truffle.api.instrumentation.test.GR25718Test$RunningAppLanguage$2$1 com.oracle.truffle.api.instrumentation.test.GR25718Test$RunningAppLanguage$StatementToRun
InnerClasses:
public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument
public TestDeadlockInstrument = com.oracle.truffle.api.instrumentation.test.DeadlockTest$TestDeadlockInstrument of com.oracle.truffle.api.instrumentation.test.DeadlockTest
private InstrumentationThread = com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread of com.oracle.truffle.api.instrumentation.test.GR25718Test
RunningAppLanguage = com.oracle.truffle.api.instrumentation.test.GR25718Test$RunningAppLanguage of com.oracle.truffle.api.instrumentation.test.GR25718Test
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context