public class com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest
super_class: java.lang.Object
{
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 Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest;
public void testSingleThread();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: aconst_null
astore 2
aconst_null
astore 3
1: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
astore 4
start local 4 2: aload 4
invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "testThreadsInstrument"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 5
start local 5 3: aload 5
ldc Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$TestThreadsInstrument;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestThreadsInstrument
astore 6
start local 6 4: aload 6
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestThreadsInstrument.events:Ljava/util/List;
astore 1
start local 1 5: aload 4
ldc "instrumentation-test-language"
ldc "STATEMENT()"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
6: lconst_1
aload 1
invokeinterface java.util.List.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
7: aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.isNew:Z
invokestatic org.junit.Assert.assertTrue:(Z)V
8: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.thread:Ljava/lang/Thread;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.context:Lcom/oracle/truffle/api/TruffleContext;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
end local 6 end local 5 10: aload 4
ifnull 16
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 16
end local 1 StackMap locals: com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest top java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
11: astore 2
aload 4
ifnull 12
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
12: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 3
aload 2
ifnonnull 14
aload 3
astore 2
goto 15
StackMap locals:
StackMap stack:
14: aload 2
aload 3
if_acmpeq 15
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 2
athrow
start local 1 16: StackMap locals: com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest java.util.List
StackMap stack:
ldc 2
aload 1
invokeinterface java.util.List.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
17: aload 1
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.isNew:Z
invokestatic org.junit.Assert.assertFalse:(Z)V
18: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 1
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.thread:Ljava/lang/Thread;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
19: aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.context:Lcom/oracle/truffle/api/TruffleContext;
aload 1
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.context:Lcom/oracle/truffle/api/TruffleContext;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
20: aload 1
invokeinterface java.util.List.clear:()V
21: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest;
5 11 1 events Ljava/util/List<Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$ThreadEvent;>;
16 22 1 events Ljava/util/List<Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$ThreadEvent;>;
2 12 4 context Lorg/graalvm/polyglot/Context;
3 10 5 testThreadsInstrument Lorg/graalvm/polyglot/Instrument;
4 10 6 test Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$TestThreadsInstrument;
Exception table:
from to target type
2 10 11 any
1 13 13 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testSpawnThread();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: aconst_null
astore 2
aconst_null
astore 3
1: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
iconst_1
invokevirtual org.graalvm.polyglot.Context$Builder.allowCreateThread:(Z)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 2: aload 4
invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "testThreadsInstrument"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 5
start local 5 3: aload 5
ldc Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$TestThreadsInstrument;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestThreadsInstrument
astore 6
start local 6 4: aload 6
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestThreadsInstrument.events:Ljava/util/List;
astore 1
start local 1 5: aload 4
ldc "instrumentation-test-language"
ldc "ROOT(DEFINE(foo, STATEMENT), SPAWN(foo), JOIN())"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
6: ldc 3
aload 1
invokeinterface java.util.List.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
7: aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.isNew:Z
invokestatic org.junit.Assert.assertTrue:(Z)V
8: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.thread:Ljava/lang/Thread;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.context:Lcom/oracle/truffle/api/TruffleContext;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
10: aload 1
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.isNew:Z
invokestatic org.junit.Assert.assertTrue:(Z)V
11: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 1
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.thread:Ljava/lang/Thread;
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
12: aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.context:Lcom/oracle/truffle/api/TruffleContext;
aload 1
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.context:Lcom/oracle/truffle/api/TruffleContext;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
13: aload 1
iconst_2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.isNew:Z
invokestatic org.junit.Assert.assertFalse:(Z)V
14: aload 1
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.thread:Ljava/lang/Thread;
aload 1
iconst_2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.thread:Ljava/lang/Thread;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
15: aload 1
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.context:Lcom/oracle/truffle/api/TruffleContext;
aload 1
iconst_2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.context:Lcom/oracle/truffle/api/TruffleContext;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 6 end local 5 16: aload 4
ifnull 22
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 22
end local 1 StackMap locals: com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest top java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
17: astore 2
aload 4
ifnull 18
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
18: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
19: astore 3
aload 2
ifnonnull 20
aload 3
astore 2
goto 21
StackMap locals:
StackMap stack:
20: aload 2
aload 3
if_acmpeq 21
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
21: aload 2
athrow
start local 1 22: StackMap locals: com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest java.util.List
StackMap stack:
ldc 4
aload 1
invokeinterface java.util.List.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
23: aload 1
iconst_3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.isNew:Z
invokestatic org.junit.Assert.assertFalse:(Z)V
24: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 1
iconst_3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.thread:Ljava/lang/Thread;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
25: aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.context:Lcom/oracle/truffle/api/TruffleContext;
aload 1
iconst_3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.context:Lcom/oracle/truffle/api/TruffleContext;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
26: aload 1
invokeinterface java.util.List.clear:()V
27: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest;
5 17 1 events Ljava/util/List<Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$ThreadEvent;>;
22 28 1 events Ljava/util/List<Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$ThreadEvent;>;
2 18 4 context Lorg/graalvm/polyglot/Context;
3 16 5 testThreadsInstrument Lorg/graalvm/polyglot/Instrument;
4 16 6 test Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$TestThreadsInstrument;
Exception table:
from to target type
2 16 17 any
1 19 19 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testSpawnManyThread();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: aconst_null
astore 2
aconst_null
astore 3
1: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
iconst_1
invokevirtual org.graalvm.polyglot.Context$Builder.allowCreateThread:(Z)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 2: aload 4
invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "testThreadsInstrument"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 5
start local 5 3: aload 5
ldc Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$TestThreadsInstrument;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestThreadsInstrument
astore 6
start local 6 4: aload 6
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestThreadsInstrument.events:Ljava/util/List;
astore 1
start local 1 5: aload 4
ldc "instrumentation-test-language"
ldc "ROOT(DEFINE(foo, STATEMENT), LOOP(100, SPAWN(foo)), JOIN())"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
end local 6 end local 5 6: aload 4
ifnull 12
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 12
end local 1 StackMap locals: com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest top java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
7: astore 2
aload 4
ifnull 8
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
8: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 3
aload 2
ifnonnull 10
aload 3
astore 2
goto 11
StackMap locals:
StackMap stack:
10: aload 2
aload 3
if_acmpeq 11
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 2
athrow
start local 1 12: StackMap locals: com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest java.util.List
StackMap stack:
ldc 202
aload 1
invokeinterface java.util.List.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
13: new java.util.ArrayList
dup
bipush 101
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 14: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 18
StackMap locals: com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest java.util.List java.util.List top java.util.Iterator
StackMap stack:
15: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
astore 3
start local 3 16: aload 3
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.isNew:Z
ifeq 18
17: aload 2
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 18: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
19: ldc 101
aload 2
invokeinterface java.util.List.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
20: aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.context:Lcom/oracle/truffle/api/TruffleContext;
astore 3
start local 3 21: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 24
StackMap locals: com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest java.util.List java.util.List com.oracle.truffle.api.TruffleContext top java.util.Iterator
StackMap stack:
22: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
astore 4
start local 4 23: aload 3
aload 4
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.context:Lcom/oracle/truffle/api/TruffleContext;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 4 24: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
25: aload 1
invokeinterface java.util.List.clear:()V
26: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest;
5 7 1 events Ljava/util/List<Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$ThreadEvent;>;
12 27 1 events Ljava/util/List<Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$ThreadEvent;>;
2 8 4 context Lorg/graalvm/polyglot/Context;
3 6 5 testThreadsInstrument Lorg/graalvm/polyglot/Instrument;
4 6 6 test Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$TestThreadsInstrument;
14 27 2 startEvents Ljava/util/List<Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$ThreadEvent;>;
16 18 3 event Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$ThreadEvent;
21 27 3 tcontext Lcom/oracle/truffle/api/TruffleContext;
23 24 4 event Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$ThreadEvent;
Exception table:
from to target type
2 6 7 any
1 9 9 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testContextThreads();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=13, args_size=1
start local 0 0: invokestatic org.graalvm.polyglot.Engine.create:()Lorg/graalvm/polyglot/Engine;
astore 1
start local 1 1: aload 1
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "testThreadsInstrument"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 2
start local 2 2: aload 2
ldc Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$TestThreadsInstrument;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestThreadsInstrument
astore 3
start local 3 3: aload 3
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestThreadsInstrument.events:Ljava/util/List;
astore 4
start local 4 4: ldc "instrumentation-test-language"
ldc "STATEMENT()"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 5
start local 5 5: bipush 10
istore 6
start local 6 6: iload 6
anewarray java.lang.Thread
astore 7
start local 7 7: iconst_0
istore 8
start local 8 8: goto 11
9: StackMap locals: com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest org.graalvm.polyglot.Engine org.graalvm.polyglot.Instrument com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestThreadsInstrument java.util.List org.graalvm.polyglot.Source int java.lang.Thread[] int
StackMap stack:
aload 7
iload 8
new com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$1
dup
aload 0
aload 1
aload 5
invokespecial com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$1.<init>:(Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest;Lorg/graalvm/polyglot/Engine;Lorg/graalvm/polyglot/Source;)V
aastore
10: iinc 8 1
StackMap locals:
StackMap stack:
11: iload 8
iload 6
if_icmplt 9
end local 8 12: iconst_0
istore 8
start local 8 13: goto 16
14: StackMap locals:
StackMap stack:
aload 7
iload 8
aaload
invokevirtual java.lang.Thread.start:()V
15: iinc 8 1
StackMap locals:
StackMap stack:
16: iload 8
iload 6
if_icmplt 14
end local 8 17: iconst_0
istore 8
start local 8 18: goto 21
19: StackMap locals:
StackMap stack:
aload 7
iload 8
aaload
invokevirtual java.lang.Thread.join:()V
20: iinc 8 1
StackMap locals:
StackMap stack:
21: iload 8
iload 6
if_icmplt 19
end local 8 22: iconst_2
iload 6
imul
i2l
aload 4
invokeinterface java.util.List.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
23: new java.util.ArrayList
dup
iload 6
invokespecial java.util.ArrayList.<init>:(I)V
astore 8
start local 8 24: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 28
StackMap locals: com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest org.graalvm.polyglot.Engine org.graalvm.polyglot.Instrument com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestThreadsInstrument java.util.List org.graalvm.polyglot.Source int java.lang.Thread[] java.util.List top java.util.Iterator
StackMap stack:
25: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
astore 9
start local 9 26: aload 9
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.isNew:Z
ifeq 28
27: aload 8
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 9 28: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 25
29: iload 6
i2l
aload 8
invokeinterface java.util.List.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
30: new java.util.HashSet
dup
aload 7
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 9
start local 9 31: iconst_0
istore 10
start local 10 32: goto 35
33: StackMap locals: com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest org.graalvm.polyglot.Engine org.graalvm.polyglot.Instrument com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestThreadsInstrument java.util.List org.graalvm.polyglot.Source int java.lang.Thread[] java.util.List java.util.Set int
StackMap stack:
aload 9
aload 8
iload 10
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.thread:Ljava/lang/Thread;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
34: iinc 10 1
StackMap locals:
StackMap stack:
35: iload 10
iload 6
if_icmplt 33
end local 10 36: aload 9
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
aload 9
invokeinterface java.util.Set.isEmpty:()Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
37: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 10
start local 10 38: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 41
StackMap locals: com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest org.graalvm.polyglot.Engine org.graalvm.polyglot.Instrument com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestThreadsInstrument java.util.List org.graalvm.polyglot.Source int java.lang.Thread[] java.util.List java.util.Set java.util.Set top java.util.Iterator
StackMap stack:
39: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
astore 11
start local 11 40: aload 10
aload 11
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.context:Lcom/oracle/truffle/api/TruffleContext;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 11 41: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 39
42: iload 6
i2l
aload 10
invokeinterface java.util.Set.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
43: return
end local 10 end local 9 end local 8 end local 7 end local 6 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 44 0 this Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest;
1 44 1 engine Lorg/graalvm/polyglot/Engine;
2 44 2 testThreadsInstrument Lorg/graalvm/polyglot/Instrument;
3 44 3 test Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$TestThreadsInstrument;
4 44 4 events Ljava/util/List<Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$ThreadEvent;>;
5 44 5 source Lorg/graalvm/polyglot/Source;
6 44 6 numThreads I
7 44 7 threads [Ljava/lang/Thread;
8 12 8 i I
13 17 8 i I
18 22 8 i I
24 44 8 startEvents Ljava/util/List<Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$ThreadEvent;>;
26 28 9 event Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$ThreadEvent;
31 44 9 allThreads Ljava/util/Set<Ljava/lang/Thread;>;
32 36 10 i I
38 44 10 distinctContexts Ljava/util/Set<Lcom/oracle/truffle/api/TruffleContext;>;
40 41 11 event Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$ThreadEvent;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void testGetStartedThreads();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=1
start local 0 0: iconst_1
putstatic com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestThreadsInstrument.includeStartedThreads:Z
1: aconst_null
astore 2
aconst_null
astore 3
2: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
iconst_1
invokevirtual org.graalvm.polyglot.Context$Builder.allowCreateThread:(Z)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 3: aload 4
ldc "instrumentation-test-language"
ldc "ROOT(DEFINE(f1, EXPRESSION), SPAWN(f1), JOIN())"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
4: aload 4
invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "testBlockOnStatementsInstrument"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 5
start local 5 5: aload 5
ldc Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$TestBlockOnStatementsInstrument;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestBlockOnStatementsInstrument
astore 6
start local 6 6: new java.util.concurrent.CountDownLatch
dup
iconst_1
invokespecial java.util.concurrent.CountDownLatch.<init>:(I)V
astore 7
start local 7 7: aload 6
new com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$2
dup
aload 0
aload 7
invokespecial com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$2.<init>:(Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest;Ljava/util/concurrent/CountDownLatch;)V
putfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestBlockOnStatementsInstrument.runOnBlock:Ljava/lang/Runnable;
8: aload 4
ldc "instrumentation-test-language"
ldc "ROOT(DEFINE(foo, STATEMENT), SPAWN(foo))"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
9: aload 7
invokevirtual java.util.concurrent.CountDownLatch.await:()V
10: aload 4
invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "testThreadsInstrument"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 8
start local 8 11: aload 8
ldc Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$TestThreadsInstrument;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestThreadsInstrument
astore 9
start local 9 12: aload 9
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestThreadsInstrument.events:Ljava/util/List;
astore 1
start local 1 13: aload 1
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
ldc 2
aload 1
invokeinterface java.util.List.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
14: aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.isNew:Z
invokestatic org.junit.Assert.assertTrue:(Z)V
15: aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.context:Lcom/oracle/truffle/api/TruffleContext;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
16: aload 1
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.isNew:Z
invokestatic org.junit.Assert.assertTrue:(Z)V
17: aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.context:Lcom/oracle/truffle/api/TruffleContext;
aload 1
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.context:Lcom/oracle/truffle/api/TruffleContext;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
18: aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.thread:Ljava/lang/Thread;
aload 1
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.thread:Ljava/lang/Thread;
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
19: aload 6
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestBlockOnStatementsInstrument.blockOnStatements:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
20: aload 6
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestBlockOnStatementsInstrument.blockOnStatements:Ljava/util/concurrent/atomic/AtomicBoolean;
dup
astore 10
monitorenter
21: aload 6
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestBlockOnStatementsInstrument.blockOnStatements:Ljava/util/concurrent/atomic/AtomicBoolean;
invokevirtual java.lang.Object.notifyAll:()V
22: aload 10
monitorexit
23: goto 26
StackMap locals: com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest java.util.List java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context org.graalvm.polyglot.Instrument com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestBlockOnStatementsInstrument java.util.concurrent.CountDownLatch org.graalvm.polyglot.Instrument com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestThreadsInstrument java.util.concurrent.atomic.AtomicBoolean
StackMap stack: java.lang.Throwable
24: aload 10
monitorexit
25: athrow
26: StackMap locals:
StackMap stack:
aload 4
ldc "instrumentation-test-language"
ldc "JOIN()"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
27: ldc 3
aload 1
invokeinterface java.util.List.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
28: aload 1
iconst_2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.isNew:Z
invokestatic org.junit.Assert.assertFalse:(Z)V
29: aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.thread:Ljava/lang/Thread;
aload 1
iconst_2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.thread:Ljava/lang/Thread;
if_acmpeq 30
aload 1
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.thread:Ljava/lang/Thread;
aload 1
iconst_2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
getfield com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent.thread:Ljava/lang/Thread;
if_acmpeq 30
iconst_0
goto 31
StackMap locals:
StackMap stack:
30: iconst_1
StackMap locals:
StackMap stack: int
31: invokestatic org.junit.Assert.assertTrue:(Z)V
end local 9 end local 8 end local 7 end local 6 end local 5 32: aload 4
ifnull 38
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 38
end local 1 StackMap locals: com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest top java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
33: astore 2
aload 4
ifnull 34
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
34: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
35: astore 3
aload 2
ifnonnull 36
aload 3
astore 2
goto 37
StackMap locals:
StackMap stack:
36: aload 2
aload 3
if_acmpeq 37
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
37: aload 2
athrow
start local 1 38: StackMap locals: com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest java.util.List
StackMap stack:
ldc 4
aload 1
invokeinterface java.util.List.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
end local 1 39: goto 43
StackMap locals: com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest
StackMap stack: java.lang.Throwable
40: astore 11
41: iconst_0
putstatic com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestThreadsInstrument.includeStartedThreads:Z
42: aload 11
athrow
43: StackMap locals:
StackMap stack:
iconst_0
putstatic com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestThreadsInstrument.includeStartedThreads:Z
44: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest;
13 33 1 events Ljava/util/List<Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$ThreadEvent;>;
38 39 1 events Ljava/util/List<Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$ThreadEvent;>;
3 34 4 context Lorg/graalvm/polyglot/Context;
5 32 5 testBlockOnStatementsInstrument Lorg/graalvm/polyglot/Instrument;
6 32 6 testBlock Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$TestBlockOnStatementsInstrument;
7 32 7 latch Ljava/util/concurrent/CountDownLatch;
11 32 8 testThreadsInstrument Lorg/graalvm/polyglot/Instrument;
12 32 9 test Lcom/oracle/truffle/api/instrumentation/test/ThreadsEventsTest$TestThreadsInstrument;
Exception table:
from to target type
21 23 24 any
24 25 24 any
3 32 33 any
2 35 35 any
0 40 40 any
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "ThreadsEventsTest.java"
NestMembers:
com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$1 com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$2 com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestBlockOnStatementsInstrument com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestThreadsInstrument com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent
InnerClasses:
com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$1
com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$2
public TestBlockOnStatementsInstrument = com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestBlockOnStatementsInstrument of com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest
public TestThreadsInstrument = com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$TestThreadsInstrument of com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest
private ThreadEvent = com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest$ThreadEvent of com.oracle.truffle.api.instrumentation.test.ThreadsEventsTest
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context