public class com.oracle.truffle.tools.profiler.test.CPUSamplerTest extends com.oracle.truffle.tools.profiler.test.AbstractProfilerTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.tools.profiler.test.CPUSamplerTest
super_class: com.oracle.truffle.tools.profiler.test.AbstractProfilerTest
{
private static com.oracle.truffle.tools.profiler.CPUSampler sampler;
descriptor: Lcom/oracle/truffle/tools/profiler/CPUSampler;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
final int executionCount;
descriptor: I
flags: (0x0010) ACC_FINAL
ConstantValue: 10
org.graalvm.polyglot.Source defaultSourceForSampling;
descriptor: Lorg/graalvm/polyglot/Source;
flags: (0x0000)
final org.graalvm.polyglot.Source defaultRecursiveSourceForSampling;
descriptor: Lorg/graalvm/polyglot/Source;
flags: (0x0010) ACC_FINAL
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.tools.profiler.test.AbstractProfilerTest.<init>:()V
1: aload 0
bipush 10
putfield com.oracle.truffle.tools.profiler.test.CPUSamplerTest.executionCount:I
2: aload 0
aload 0
ldc "ROOT(DEFINE(foo,ROOT(SLEEP(1))),DEFINE(bar,ROOT(BLOCK(STATEMENT,LOOP(10, CALL(foo))))),DEFINE(baz,ROOT(BLOCK(STATEMENT,LOOP(10, CALL(bar))))),CALL(baz),CALL(bar))"
invokevirtual com.oracle.truffle.tools.profiler.test.CPUSamplerTest.makeSource:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
putfield com.oracle.truffle.tools.profiler.test.CPUSamplerTest.defaultSourceForSampling:Lorg/graalvm/polyglot/Source;
3: aload 0
aload 0
ldc "ROOT(DEFINE(rfoo,ROOT(BLOCK(RECURSIVE_CALL(foo, 10),SLEEP(1)))),DEFINE(rbar,ROOT(BLOCK(STATEMENT,LOOP(10, CALL(foo))))),CALL(bar))"
invokevirtual com.oracle.truffle.tools.profiler.test.CPUSamplerTest.makeSource:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
putfield com.oracle.truffle.tools.profiler.test.CPUSamplerTest.defaultRecursiveSourceForSampling:Lorg/graalvm/polyglot/Source;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/tools/profiler/test/CPUSamplerTest;
public void setupSampler();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.tools.profiler.test.CPUSamplerTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
invokestatic com.oracle.truffle.tools.profiler.CPUSampler.find:(Lorg/graalvm/polyglot/Engine;)Lcom/oracle/truffle/tools/profiler/CPUSampler;
putstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
1: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
2: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
dup
astore 1
monitorenter
3: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
iconst_1
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setGatherSelfHitTimes:(Z)V
4: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
iconst_0
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setDelaySamplingUntilNonInternalLangInit:(Z)V
5: aload 1
monitorexit
6: goto 9
StackMap locals: com.oracle.truffle.tools.profiler.test.CPUSamplerTest com.oracle.truffle.tools.profiler.CPUSampler
StackMap stack: java.lang.Throwable
7: aload 1
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/tools/profiler/test/CPUSamplerTest;
Exception table:
from to target type
3 6 7 any
7 8 7 any
RuntimeVisibleAnnotations:
org.junit.Before()
public void testCollectingAndHasData();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
iconst_1
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setCollecting:(Z)V
1: lconst_0
getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.getSampleCount:()J
invokestatic org.junit.Assert.assertEquals:(JJ)V
2: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.isCollecting:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
3: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.hasData:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
4: iconst_0
istore 1
start local 1 5: goto 8
6: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.tools.profiler.test.CPUSamplerTest.defaultSourceForSampling:Lorg/graalvm/polyglot/Source;
invokevirtual com.oracle.truffle.tools.profiler.test.CPUSamplerTest.eval:(Lorg/graalvm/polyglot/Source;)V
7: iinc 1 1
StackMap locals:
StackMap stack:
8: iload 1
bipush 10
if_icmplt 6
end local 1 9: lconst_0
getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.getSampleCount:()J
invokestatic org.junit.Assert.assertNotEquals:(JJ)V
10: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.isCollecting:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
11: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.hasData:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
12: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
iconst_0
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setCollecting:(Z)V
13: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.isCollecting:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
14: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.hasData:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
15: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.clearData:()V
16: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.isCollecting:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
17: lconst_0
getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.getSampleCount:()J
invokestatic org.junit.Assert.assertEquals:(JJ)V
18: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.hasData:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
19: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/oracle/truffle/tools/profiler/test/CPUSamplerTest;
5 9 1 i I
RuntimeVisibleAnnotations:
org.junit.Test()
public void testCorrectRootStructure();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.NO_INTERNAL_ROOT_TAG_FILTER:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setFilter:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
1: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
iconst_1
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setCollecting:(Z)V
2: iconst_0
istore 1
start local 1 3: goto 6
4: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.tools.profiler.test.CPUSamplerTest.defaultSourceForSampling:Lorg/graalvm/polyglot/Source;
invokevirtual com.oracle.truffle.tools.profiler.test.CPUSamplerTest.eval:(Lorg/graalvm/polyglot/Source;)V
5: iinc 1 1
StackMap locals:
StackMap stack:
6: iload 1
bipush 10
if_icmplt 4
end local 1 7: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.getRootNodes:()Ljava/util/Collection;
astore 1
start local 1 8: lconst_1
aload 1
invokeinterface java.util.Collection.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
9: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 2
start local 2 10: ldc ""
aload 2
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getRootName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
11: aload 2
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getPayload:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.CPUSampler$Payload
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.checkTimeline:(Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;)V
12: aload 2
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
astore 1
13: ldc 2
aload 1
invokeinterface java.util.Collection.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
14: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
start local 3 15: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 4
start local 4 16: ldc "baz"
aload 4
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getRootName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
17: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 4
18: StackMap locals: com.oracle.truffle.tools.profiler.test.CPUSamplerTest java.util.Collection com.oracle.truffle.tools.profiler.ProfilerNode java.util.Iterator com.oracle.truffle.tools.profiler.ProfilerNode
StackMap stack:
ldc "baz"
aload 4
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getRootName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
19: aload 4
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getPayload:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.CPUSampler$Payload
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.checkTimeline:(Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;)V
20: aload 4
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
astore 1
21: lconst_1
aload 1
invokeinterface java.util.Collection.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
22: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 5
start local 5 23: ldc "bar"
aload 5
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getRootName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
24: aload 5
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getPayload:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.CPUSampler$Payload
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.checkTimeline:(Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;)V
25: aload 5
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
astore 1
26: lconst_1
aload 1
invokeinterface java.util.Collection.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
27: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 6
start local 6 28: ldc "foo"
aload 6
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getRootName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
29: aload 6
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getPayload:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.CPUSampler$Payload
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.checkTimeline:(Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;)V
30: aload 6
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
astore 1
31: aload 1
invokeinterface java.util.Collection.size:()I
ifne 32
iconst_1
goto 33
StackMap locals: com.oracle.truffle.tools.profiler.ProfilerNode com.oracle.truffle.tools.profiler.ProfilerNode
StackMap stack:
32: iconst_0
StackMap locals:
StackMap stack: int
33: invokestatic org.junit.Assert.assertTrue:(Z)V
34: return
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 35 0 this Lcom/oracle/truffle/tools/profiler/test/CPUSamplerTest;
3 7 1 i I
8 35 1 children Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
10 35 2 program Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
15 35 3 iterator Ljava/util/Iterator<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
16 35 4 baz Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
23 35 5 bar Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
28 35 6 foo Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testCorrectRootStructureRecursive();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.NO_INTERNAL_ROOT_TAG_FILTER:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setFilter:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
1: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
iconst_1
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setCollecting:(Z)V
2: iconst_0
istore 1
start local 1 3: goto 6
4: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.tools.profiler.test.CPUSamplerTest.defaultRecursiveSourceForSampling:Lorg/graalvm/polyglot/Source;
invokevirtual com.oracle.truffle.tools.profiler.test.CPUSamplerTest.eval:(Lorg/graalvm/polyglot/Source;)V
5: iinc 1 1
StackMap locals:
StackMap stack:
6: iload 1
bipush 10
if_icmplt 4
end local 1 7: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.getRootNodes:()Ljava/util/Collection;
astore 1
start local 1 8: lconst_1
aload 1
invokeinterface java.util.Collection.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
9: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 2
start local 2 10: ldc ""
aload 2
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getRootName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
11: aload 2
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getPayload:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.CPUSampler$Payload
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.checkTimeline:(Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;)V
12: aload 2
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
astore 1
13: lconst_1
aload 1
invokeinterface java.util.Collection.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
14: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 3
start local 3 15: ldc "rbar"
aload 3
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getRootName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
16: aload 3
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getPayload:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.CPUSampler$Payload
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.checkTimeline:(Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;)V
17: aload 3
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
astore 1
18: lconst_1
aload 1
invokeinterface java.util.Collection.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
19: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 4
start local 4 20: ldc "rfoo"
aload 4
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getRootName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
21: aload 4
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getPayload:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.CPUSampler$Payload
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.checkTimeline:(Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;)V
22: iconst_0
istore 5
start local 5 23: goto 30
24: StackMap locals: com.oracle.truffle.tools.profiler.test.CPUSamplerTest java.util.Collection com.oracle.truffle.tools.profiler.ProfilerNode com.oracle.truffle.tools.profiler.ProfilerNode com.oracle.truffle.tools.profiler.ProfilerNode int
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
astore 1
25: lconst_1
aload 1
invokeinterface java.util.Collection.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
26: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 4
27: ldc "rfoo"
aload 4
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getRootName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
28: aload 3
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getPayload:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.CPUSampler$Payload
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.checkTimeline:(Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;)V
29: iinc 5 1
StackMap locals:
StackMap stack:
30: iload 5
bipush 10
if_icmplt 24
end local 5 31: aload 4
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
astore 1
32: aload 1
invokeinterface java.util.Collection.size:()I
ifne 33
iconst_1
goto 34
StackMap locals:
StackMap stack:
33: iconst_0
StackMap locals:
StackMap stack: int
34: invokestatic org.junit.Assert.assertTrue:(Z)V
35: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lcom/oracle/truffle/tools/profiler/test/CPUSamplerTest;
3 7 1 i I
8 36 1 children Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
10 36 2 program Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
15 36 3 bar Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
20 36 4 foo Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
23 31 5 i I
RuntimeVisibleAnnotations:
org.junit.Test()
org.junit.Ignore(value = "non-deterministic failures on spark")
public void testShadowStackOverflows();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.NO_INTERNAL_ROOT_TAG_FILTER:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setFilter:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
1: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
iconst_2
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setStackLimit:(I)V
2: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
iconst_1
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setCollecting:(Z)V
3: iconst_0
istore 1
start local 1 4: goto 7
5: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.tools.profiler.test.CPUSamplerTest.defaultSourceForSampling:Lorg/graalvm/polyglot/Source;
invokevirtual com.oracle.truffle.tools.profiler.test.CPUSamplerTest.eval:(Lorg/graalvm/polyglot/Source;)V
6: iinc 1 1
StackMap locals:
StackMap stack:
7: iload 1
bipush 10
if_icmplt 5
end local 1 8: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.hasStackOverflowed:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/tools/profiler/test/CPUSamplerTest;
4 8 1 i I
RuntimeVisibleAnnotations:
org.junit.Test()
private static void checkTimeline(com.oracle.truffle.tools.profiler.CPUSampler$Payload);
descriptor: (Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: ldc "Timeline length and self hit count to not match!"
aload 0
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler$Payload.getSelfHitCount:()I
i2l
aload 0
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler$Payload.getSelfHitTimes:()Ljava/util/List;
invokeinterface java.util.List.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 payload Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;
MethodParameters:
Name Flags
payload
public void testCorrectInitShadowStackStatements();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
getstatic com.oracle.truffle.tools.profiler.CPUSampler$Mode.STATEMENTS:Lcom/oracle/truffle/tools/profiler/CPUSampler$Mode;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setMode:(Lcom/oracle/truffle/tools/profiler/CPUSampler$Mode;)V
1: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.NO_INTERNAL_STATEMENT_TAG_FILTER:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setFilter:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
2: ldc "RecreateShadowStackTestLanguage"
ldc "Statement Root"
ldc "test"
invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
invokevirtual org.graalvm.polyglot.Source$Builder.buildLiteral:()Lorg/graalvm/polyglot/Source;
astore 1
start local 1 3: aload 0
getfield com.oracle.truffle.tools.profiler.test.CPUSamplerTest.context:Lorg/graalvm/polyglot/Context;
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
4: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.getRootNodes:()Ljava/util/Collection;
astore 2
start local 2 5: aload 2
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 3
start local 3 6: aload 3
ldc "Statement"
iconst_0
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.checkStackState:(Lcom/oracle/truffle/tools/profiler/ProfilerNode;Ljava/lang/String;Z)Lcom/oracle/truffle/tools/profiler/ProfilerNode;
astore 3
7: aload 3
ldc "Statement"
iconst_0
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.checkStackState:(Lcom/oracle/truffle/tools/profiler/ProfilerNode;Ljava/lang/String;Z)Lcom/oracle/truffle/tools/profiler/ProfilerNode;
astore 3
8: aload 3
ldc "Statement"
iconst_0
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.checkStackState:(Lcom/oracle/truffle/tools/profiler/ProfilerNode;Ljava/lang/String;Z)Lcom/oracle/truffle/tools/profiler/ProfilerNode;
astore 3
9: aload 3
ldc "Statement"
iconst_0
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.checkStackState:(Lcom/oracle/truffle/tools/profiler/ProfilerNode;Ljava/lang/String;Z)Lcom/oracle/truffle/tools/profiler/ProfilerNode;
astore 3
10: aload 3
ldc "Statement"
iconst_1
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.checkStackState:(Lcom/oracle/truffle/tools/profiler/ProfilerNode;Ljava/lang/String;Z)Lcom/oracle/truffle/tools/profiler/ProfilerNode;
pop
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/tools/profiler/test/CPUSamplerTest;
3 12 1 test Lorg/graalvm/polyglot/Source;
5 12 2 rootNodes Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
6 12 3 current Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
RuntimeVisibleAnnotations:
org.junit.Test()
private static com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.CPUSampler$Payload> checkStackState(com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.CPUSampler$Payload>, java.lang.String, boolean);
descriptor: (Lcom/oracle/truffle/tools/profiler/ProfilerNode;Ljava/lang/String;Z)Lcom/oracle/truffle/tools/profiler/ProfilerNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: ldc "Stack not correct"
aload 1
aload 0
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
1: iload 2
ifeq 4
2: ldc "Stack too deep"
aload 0
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.hasNext:()Z
invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
3: aconst_null
areturn
4: StackMap locals:
StackMap stack:
ldc "Stack not deep enough"
aload 0
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.hasNext:()Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
5: aload 0
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 current Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
0 6 1 expectedSource Ljava/lang/String;
0 6 2 top Z
Signature: (Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;Ljava/lang/String;Z)Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
MethodParameters:
Name Flags
current
expectedSource
top
public void testCorrectInitShadowStackRoots();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
getstatic com.oracle.truffle.tools.profiler.CPUSampler$Mode.ROOTS:Lcom/oracle/truffle/tools/profiler/CPUSampler$Mode;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setMode:(Lcom/oracle/truffle/tools/profiler/CPUSampler$Mode;)V
1: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.NO_INTERNAL_ROOT_TAG_FILTER:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setFilter:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
2: ldc "RecreateShadowStackTestLanguage"
ldc "Root Root"
ldc "test"
invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
invokevirtual org.graalvm.polyglot.Source$Builder.buildLiteral:()Lorg/graalvm/polyglot/Source;
astore 1
start local 1 3: aload 0
getfield com.oracle.truffle.tools.profiler.test.CPUSamplerTest.context:Lorg/graalvm/polyglot/Context;
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
4: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.getRootNodes:()Ljava/util/Collection;
astore 2
start local 2 5: aload 2
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 3
start local 3 6: aload 3
ldc "Root"
iconst_0
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.checkStackState:(Lcom/oracle/truffle/tools/profiler/ProfilerNode;Ljava/lang/String;Z)Lcom/oracle/truffle/tools/profiler/ProfilerNode;
astore 3
7: aload 3
ldc "Root"
iconst_0
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.checkStackState:(Lcom/oracle/truffle/tools/profiler/ProfilerNode;Ljava/lang/String;Z)Lcom/oracle/truffle/tools/profiler/ProfilerNode;
astore 3
8: aload 3
ldc "Root"
iconst_1
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.checkStackState:(Lcom/oracle/truffle/tools/profiler/ProfilerNode;Ljava/lang/String;Z)Lcom/oracle/truffle/tools/profiler/ProfilerNode;
pop
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/tools/profiler/test/CPUSamplerTest;
3 10 1 test Lorg/graalvm/polyglot/Source;
5 10 2 rootNodes Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
6 10 3 current Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testMultiThreadedRecursive();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.NO_INTERNAL_ROOT_TAG_FILTER:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setFilter:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
1: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
iconst_1
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setCollecting:(Z)V
2: new com.oracle.truffle.tools.profiler.test.CPUSamplerTest$1
dup
aload 0
invokespecial com.oracle.truffle.tools.profiler.test.CPUSamplerTest$1.<init>:(Lcom/oracle/truffle/tools/profiler/test/CPUSamplerTest;)V
astore 1
start local 1 3: new com.oracle.truffle.tools.profiler.test.CPUSamplerTest$2
dup
aload 0
invokespecial com.oracle.truffle.tools.profiler.test.CPUSamplerTest$2.<init>:(Lcom/oracle/truffle/tools/profiler/test/CPUSamplerTest;)V
astore 2
start local 2 4: new java.lang.Thread
dup
aload 1
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
astore 3
start local 3 5: aload 3
invokevirtual java.lang.Thread.start:()V
6: aload 3
invokevirtual java.lang.Thread.join:()V
7: goto 10
StackMap locals: com.oracle.truffle.tools.profiler.test.CPUSamplerTest java.lang.Runnable java.lang.Runnable java.lang.Thread
StackMap stack: java.lang.InterruptedException
8: pop
9: ldc "Thread interrupted"
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
10: StackMap locals:
StackMap stack:
new java.lang.Thread
dup
aload 2
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
astore 4
start local 4 11: aload 4
invokevirtual java.lang.Thread.start:()V
12: aload 4
invokevirtual java.lang.Thread.join:()V
13: goto 16
StackMap locals: com.oracle.truffle.tools.profiler.test.CPUSamplerTest java.lang.Runnable java.lang.Runnable java.lang.Thread java.lang.Thread
StackMap stack: java.lang.InterruptedException
14: pop
15: ldc "Thread interrupted"
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
16: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.getThreadToNodesMap:()Ljava/util/Map;
astore 5
start local 5 17: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.getRootNodes:()Ljava/util/Collection;
astore 6
start local 6 18: aload 6
aload 5
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.traverseAndCompareForDifferentSources:(Ljava/util/Collection;Ljava/util/Collection;)V
19: aload 6
aload 5
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.traverseAndCompareForDifferentSources:(Ljava/util/Collection;Ljava/util/Collection;)V
20: return
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 21 0 this Lcom/oracle/truffle/tools/profiler/test/CPUSamplerTest;
3 21 1 runnable Ljava/lang/Runnable;
4 21 2 recursiveRunnable Ljava/lang/Runnable;
5 21 3 first Ljava/lang/Thread;
11 21 4 second Ljava/lang/Thread;
17 21 5 threadToNodesMap Ljava/util/Map<Ljava/lang/Thread;Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;>;
18 21 6 rootNodes Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
Exception table:
from to target type
6 7 8 Class java.lang.InterruptedException
12 13 14 Class java.lang.InterruptedException
RuntimeVisibleAnnotations:
org.junit.Test()
private static void traverseAndCompareForDifferentSources(java.util.Collection<com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.CPUSampler$Payload>>, java.util.Collection<com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.CPUSampler$Payload>>);
descriptor: (Ljava/util/Collection;Ljava/util/Collection;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 15
StackMap locals: java.util.Collection java.util.Collection top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 2
start local 2 2: aload 0
aload 2
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
aload 2
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getRootName:()Ljava/lang/String;
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.findNodeBySourceAndRoot:(Ljava/util/Collection;Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;)Lcom/oracle/truffle/tools/profiler/ProfilerNode;
astore 4
start local 4 3: ldc "Merged structure does not mach per thread structure"
aload 4
ifnull 4
iconst_1
goto 5
StackMap locals: java.util.Collection java.util.Collection com.oracle.truffle.tools.profiler.ProfilerNode java.util.Iterator com.oracle.truffle.tools.profiler.ProfilerNode
StackMap stack: java.lang.String
4: iconst_0
StackMap locals: java.util.Collection java.util.Collection com.oracle.truffle.tools.profiler.ProfilerNode java.util.Iterator com.oracle.truffle.tools.profiler.ProfilerNode
StackMap stack: java.lang.String int
5: invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
6: aload 4
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getPayload:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.CPUSampler$Payload
astore 5
start local 5 7: aload 2
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getPayload:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.CPUSampler$Payload
astore 6
start local 6 8: ldc "Merged structure does not mach per thread structure"
aload 6
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler$Payload.getSelfHitCount:()I
aload 5
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler$Payload.getSelfHitCount:()I
if_icmpne 9
iconst_1
goto 10
StackMap locals: java.util.Collection java.util.Collection com.oracle.truffle.tools.profiler.ProfilerNode java.util.Iterator com.oracle.truffle.tools.profiler.ProfilerNode com.oracle.truffle.tools.profiler.CPUSampler$Payload com.oracle.truffle.tools.profiler.CPUSampler$Payload
StackMap stack: java.lang.String
9: iconst_0
StackMap locals: java.util.Collection java.util.Collection com.oracle.truffle.tools.profiler.ProfilerNode java.util.Iterator com.oracle.truffle.tools.profiler.ProfilerNode com.oracle.truffle.tools.profiler.CPUSampler$Payload com.oracle.truffle.tools.profiler.CPUSampler$Payload
StackMap stack: java.lang.String int
10: invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
11: ldc "Merged structure does not mach per thread structure"
aload 6
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler$Payload.getHitCount:()I
aload 5
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler$Payload.getHitCount:()I
if_icmpne 12
iconst_1
goto 13
StackMap locals:
StackMap stack: java.lang.String
12: iconst_0
StackMap locals: java.util.Collection java.util.Collection com.oracle.truffle.tools.profiler.ProfilerNode java.util.Iterator com.oracle.truffle.tools.profiler.ProfilerNode com.oracle.truffle.tools.profiler.CPUSampler$Payload com.oracle.truffle.tools.profiler.CPUSampler$Payload
StackMap stack: java.lang.String int
13: invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
14: aload 4
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
aload 2
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.traverseAndCompareForDifferentSources:(Ljava/util/Collection;Ljava/util/Collection;)V
end local 6 end local 5 end local 4 end local 2 15: StackMap locals: java.util.Collection java.util.Collection top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
16: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 merged Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
0 17 1 perThread Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
2 15 2 node Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
3 15 4 mergedNode Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
7 15 5 mergedNodePayload Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;
8 15 6 nodePayload Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;
Signature: (Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;)V
MethodParameters:
Name Flags
merged
perThread
private static com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.CPUSampler$Payload> findNodeBySourceAndRoot(java.util.Collection<com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.CPUSampler$Payload>>, com.oracle.truffle.api.source.SourceSection, java.lang.String);
descriptor: (Ljava/util/Collection;Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;)Lcom/oracle/truffle/tools/profiler/ProfilerNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: java.util.Collection com.oracle.truffle.api.source.SourceSection java.lang.String top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 3
start local 3 2: aload 3
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.equals:(Ljava/lang/Object;)Z
ifeq 4
aload 3
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getRootName:()Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 3
areturn
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 merged Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
0 6 1 sourceSection Lcom/oracle/truffle/api/source/SourceSection;
0 6 2 rootName Ljava/lang/String;
2 4 3 node Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
Signature: (Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;)Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
MethodParameters:
Name Flags
merged
sourceSection
rootName
public void testMultiThreaded();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.NO_INTERNAL_ROOT_TAG_FILTER:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setFilter:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
1: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
iconst_1
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setCollecting:(Z)V
2: new com.oracle.truffle.tools.profiler.test.CPUSamplerTest$3
dup
aload 0
invokespecial com.oracle.truffle.tools.profiler.test.CPUSamplerTest$3.<init>:(Lcom/oracle/truffle/tools/profiler/test/CPUSamplerTest;)V
astore 1
start local 1 3: new java.lang.Thread
dup
aload 1
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
astore 2
start local 2 4: aload 2
invokevirtual java.lang.Thread.start:()V
5: aload 2
invokevirtual java.lang.Thread.join:()V
6: goto 9
StackMap locals: com.oracle.truffle.tools.profiler.test.CPUSamplerTest java.lang.Runnable java.lang.Thread
StackMap stack: java.lang.InterruptedException
7: pop
8: ldc "Thread interrupted"
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
9: StackMap locals:
StackMap stack:
new java.lang.Thread
dup
aload 1
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
astore 3
start local 3 10: aload 3
invokevirtual java.lang.Thread.start:()V
11: aload 3
invokevirtual java.lang.Thread.join:()V
12: goto 15
StackMap locals: com.oracle.truffle.tools.profiler.test.CPUSamplerTest java.lang.Runnable java.lang.Thread java.lang.Thread
StackMap stack: java.lang.InterruptedException
13: pop
14: ldc "Thread interrupted"
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
15: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.getThreadToNodesMap:()Ljava/util/Map;
astore 4
start local 4 16: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.getRootNodes:()Ljava/util/Collection;
astore 5
start local 5 17: aload 0
aload 5
aload 4
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
aload 4
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
invokevirtual com.oracle.truffle.tools.profiler.test.CPUSamplerTest.traverseAndCompareForSameSource:(Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;)V
18: 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 19 0 this Lcom/oracle/truffle/tools/profiler/test/CPUSamplerTest;
3 19 1 runnable Ljava/lang/Runnable;
4 19 2 first Ljava/lang/Thread;
10 19 3 second Ljava/lang/Thread;
16 19 4 threadToNodesMap Ljava/util/Map<Ljava/lang/Thread;Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;>;
17 19 5 rootNodes Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
Exception table:
from to target type
5 6 7 Class java.lang.InterruptedException
11 12 13 Class java.lang.InterruptedException
RuntimeVisibleAnnotations:
org.junit.Test()
private void traverseAndCompareForSameSource(java.util.Collection<com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.CPUSampler$Payload>>, java.util.Collection<com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.CPUSampler$Payload>>, java.util.Collection<com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.CPUSampler$Payload>>);
descriptor: (Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 16
StackMap locals: com.oracle.truffle.tools.profiler.test.CPUSamplerTest java.util.Collection java.util.Collection java.util.Collection top java.util.Iterator
StackMap stack:
1: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 4
start local 4 2: aload 2
aload 4
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
aload 4
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getRootName:()Ljava/lang/String;
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.findNodeBySourceAndRoot:(Ljava/util/Collection;Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;)Lcom/oracle/truffle/tools/profiler/ProfilerNode;
astore 6
start local 6 3: aload 3
aload 4
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
aload 4
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getRootName:()Ljava/lang/String;
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.findNodeBySourceAndRoot:(Ljava/util/Collection;Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;)Lcom/oracle/truffle/tools/profiler/ProfilerNode;
astore 7
start local 7 4: ldc "Merged structure does not mach per thread structure"
aload 6
ifnull 5
iconst_1
goto 6
StackMap locals: com.oracle.truffle.tools.profiler.test.CPUSamplerTest java.util.Collection java.util.Collection java.util.Collection com.oracle.truffle.tools.profiler.ProfilerNode java.util.Iterator com.oracle.truffle.tools.profiler.ProfilerNode com.oracle.truffle.tools.profiler.ProfilerNode
StackMap stack: java.lang.String
5: iconst_0
StackMap locals: com.oracle.truffle.tools.profiler.test.CPUSamplerTest java.util.Collection java.util.Collection java.util.Collection com.oracle.truffle.tools.profiler.ProfilerNode java.util.Iterator com.oracle.truffle.tools.profiler.ProfilerNode com.oracle.truffle.tools.profiler.ProfilerNode
StackMap stack: java.lang.String int
6: invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
7: ldc "Merged structure does not mach per thread structure"
aload 7
ifnull 8
iconst_1
goto 9
StackMap locals:
StackMap stack: java.lang.String
8: iconst_0
StackMap locals: com.oracle.truffle.tools.profiler.test.CPUSamplerTest java.util.Collection java.util.Collection java.util.Collection com.oracle.truffle.tools.profiler.ProfilerNode java.util.Iterator com.oracle.truffle.tools.profiler.ProfilerNode com.oracle.truffle.tools.profiler.ProfilerNode
StackMap stack: java.lang.String int
9: invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
10: aload 4
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getPayload:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.CPUSampler$Payload
astore 8
start local 8 11: aload 6
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getPayload:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.CPUSampler$Payload
astore 9
start local 9 12: aload 7
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getPayload:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.CPUSampler$Payload
astore 10
start local 10 13: ldc "Merged structure does not mach per thread structure"
aload 8
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler$Payload.getSelfHitCount:()I
i2l
aload 9
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler$Payload.getSelfHitCount:()I
aload 10
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler$Payload.getSelfHitCount:()I
iadd
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
14: ldc "Merged structure does not mach per thread structure"
aload 8
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler$Payload.getHitCount:()I
i2l
aload 9
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler$Payload.getHitCount:()I
aload 10
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler$Payload.getHitCount:()I
iadd
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
15: aload 0
aload 4
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
aload 6
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
aload 7
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
invokevirtual com.oracle.truffle.tools.profiler.test.CPUSamplerTest.traverseAndCompareForSameSource:(Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;)V
end local 10 end local 9 end local 8 end local 7 end local 6 end local 4 16: StackMap locals: com.oracle.truffle.tools.profiler.test.CPUSamplerTest java.util.Collection java.util.Collection java.util.Collection top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
17: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/truffle/tools/profiler/test/CPUSamplerTest;
0 18 1 rootNodes Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
0 18 2 profilerNodes1 Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
0 18 3 profilerNodes2 Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
2 16 4 node Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
3 16 6 found1 Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
4 16 7 found2 Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
11 16 8 nodePayload Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;
12 16 9 found1Payload Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;
13 16 10 found2Payload Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;
Signature: (Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;)V
MethodParameters:
Name Flags
rootNodes
profilerNodes1
profilerNodes2
public void testThreadSafe();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=1
start local 0 0: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.NO_INTERNAL_ROOT_TAG_FILTER:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setFilter:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
1: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
iconst_1
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setCollecting:(Z)V
2: new java.util.concurrent.atomic.AtomicBoolean
dup
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
astore 1
start local 1 3: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
astore 2
start local 2 4: new com.oracle.truffle.tools.profiler.test.CPUSamplerTest$4
dup
aload 0
aload 1
aload 2
invokespecial com.oracle.truffle.tools.profiler.test.CPUSamplerTest$4.<init>:(Lcom/oracle/truffle/tools/profiler/test/CPUSamplerTest;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/atomic/AtomicInteger;)V
astore 3
start local 3 5: new java.lang.Thread
dup
aload 3
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
astore 4
start local 4 6: aload 4
invokevirtual java.lang.Thread.start:()V
7: aload 2
iconst_2
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.ensureIterations:(Ljava/util/concurrent/atomic/AtomicInteger;I)V
8: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.getRootNodes:()Ljava/util/Collection;
astore 5
start local 5 9: iconst_0
istore 6
start local 6 10: goto 16
11: StackMap locals: com.oracle.truffle.tools.profiler.test.CPUSamplerTest java.util.concurrent.atomic.AtomicBoolean java.util.concurrent.atomic.AtomicInteger java.lang.Runnable java.lang.Thread java.util.Collection int
StackMap stack:
getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.getRootNodes:()Ljava/util/Collection;
astore 7
start local 7 12: aload 5
aload 7
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.isSuperset:(Ljava/util/Collection;Ljava/util/Collection;)V
13: aload 7
astore 5
14: aload 2
iconst_1
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.ensureIterations:(Ljava/util/concurrent/atomic/AtomicInteger;I)V
end local 7 15: iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
iconst_5
if_icmplt 11
end local 6 17: goto 21
StackMap locals: com.oracle.truffle.tools.profiler.test.CPUSamplerTest java.util.concurrent.atomic.AtomicBoolean java.util.concurrent.atomic.AtomicInteger java.lang.Runnable java.lang.Thread java.util.Collection
StackMap stack: java.lang.Throwable
18: astore 8
19: aload 1
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
20: aload 8
athrow
21: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
22: aload 4
ldc 10000
invokevirtual java.lang.Thread.join:(J)V
23: 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 24 0 this Lcom/oracle/truffle/tools/profiler/test/CPUSamplerTest;
3 24 1 cancelled Ljava/util/concurrent/atomic/AtomicBoolean;
4 24 2 iterations Ljava/util/concurrent/atomic/AtomicInteger;
5 24 3 runnable Ljava/lang/Runnable;
6 24 4 execThread Ljava/lang/Thread;
9 24 5 oldNodes Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
10 17 6 i I
12 15 7 newNodes Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
Exception table:
from to target type
9 18 18 any
Exceptions:
throws java.lang.InterruptedException
RuntimeVisibleAnnotations:
org.junit.Test()
private static void ensureIterations(java.util.concurrent.atomic.AtomicInteger, int);
descriptor: (Ljava/util/concurrent/atomic/AtomicInteger;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
1: goto 3
2: StackMap locals:
StackMap stack:
ldc 5
invokestatic java.lang.Thread.sleep:(J)V
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
iload 1
if_icmplt 2
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 iterations Ljava/util/concurrent/atomic/AtomicInteger;
0 5 1 numberIterations I
Exceptions:
throws java.lang.InterruptedException
MethodParameters:
Name Flags
iterations
numberIterations
private static void isSuperset(java.util.Collection<com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.CPUSampler$Payload>>, java.util.Collection<com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.CPUSampler$Payload>>);
descriptor: (Ljava/util/Collection;Ljava/util/Collection;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 16
StackMap locals: java.util.Collection java.util.Collection top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 2
start local 2 2: aconst_null
astore 4
start local 4 3: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
start local 5 4: goto 8
5: StackMap locals: java.util.Collection java.util.Collection com.oracle.truffle.tools.profiler.ProfilerNode java.util.Iterator com.oracle.truffle.tools.profiler.ProfilerNode java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 4
6: aload 4
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
aload 2
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.equals:(Ljava/lang/Object;)Z
ifeq 8
aload 4
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getRootName:()Ljava/lang/String;
aload 2
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getRootName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
7: goto 9
8: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
9: StackMap locals:
StackMap stack:
ldc "Profile taken later in execution is not superset of earlier one"
aload 4
ifnull 10
iconst_1
goto 11
StackMap locals:
StackMap stack: java.lang.String
10: iconst_0
StackMap locals: java.util.Collection java.util.Collection com.oracle.truffle.tools.profiler.ProfilerNode java.util.Iterator com.oracle.truffle.tools.profiler.ProfilerNode java.util.Iterator
StackMap stack: java.lang.String int
11: invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
12: ldc "Profile taken later in execution is not superset of earlier one"
aload 2
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getPayload:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.CPUSampler$Payload
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler$Payload.getSelfHitCount:()I
aload 4
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getPayload:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.CPUSampler$Payload
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler$Payload.getSelfHitCount:()I
if_icmpgt 13
iconst_1
goto 14
StackMap locals:
StackMap stack: java.lang.String
13: iconst_0
StackMap locals: java.util.Collection java.util.Collection com.oracle.truffle.tools.profiler.ProfilerNode java.util.Iterator com.oracle.truffle.tools.profiler.ProfilerNode java.util.Iterator
StackMap stack: java.lang.String int
14: invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
15: aload 2
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
aload 4
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.isSuperset:(Ljava/util/Collection;Ljava/util/Collection;)V
end local 5 end local 4 end local 2 16: StackMap locals: java.util.Collection java.util.Collection top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
17: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 firstRootNodes Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
0 18 1 secondRootNodes Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
2 16 2 firstNode Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
3 16 4 secondNode Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
4 16 5 iterator Ljava/util/Iterator<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
Signature: (Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;)V
MethodParameters:
Name Flags
firstRootNodes
secondRootNodes
public void testNegativePeriod();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokedynamic run()Ljava/lang/Runnable;
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:
()V
com/oracle/truffle/tools/profiler/test/CPUSamplerTest.lambda$0()V (6)
()V
invokedynamic run()Ljava/lang/Runnable;
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:
()V
com/oracle/truffle/tools/profiler/test/CPUSamplerTest.lambda$1()V (6)
()V
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.expectProfilerException:(Ljava/lang/Runnable;Ljava/lang/Runnable;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/tools/profiler/test/CPUSamplerTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testNegativeDelay();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokedynamic run()Ljava/lang/Runnable;
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:
()V
com/oracle/truffle/tools/profiler/test/CPUSamplerTest.lambda$2()V (6)
()V
invokedynamic run()Ljava/lang/Runnable;
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:
()V
com/oracle/truffle/tools/profiler/test/CPUSamplerTest.lambda$3()V (6)
()V
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.expectProfilerException:(Ljava/lang/Runnable;Ljava/lang/Runnable;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/tools/profiler/test/CPUSamplerTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testStackLimit();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokedynamic run()Ljava/lang/Runnable;
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:
()V
com/oracle/truffle/tools/profiler/test/CPUSamplerTest.lambda$4()V (6)
()V
invokedynamic run()Ljava/lang/Runnable;
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:
()V
com/oracle/truffle/tools/profiler/test/CPUSamplerTest.lambda$5()V (6)
()V
invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.expectProfilerException:(Ljava/lang/Runnable;Ljava/lang/Runnable;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/tools/profiler/test/CPUSamplerTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testClosedConfig();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokedynamic run()Ljava/lang/Runnable;
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:
()V
com/oracle/truffle/tools/profiler/test/CPUSamplerTest.lambda$6()V (6)
()V
1: invokedynamic run()Ljava/lang/Runnable;
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:
()V
com/oracle/truffle/tools/profiler/test/CPUSamplerTest.lambda$7()V (6)
()V
2: invokestatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.expectProfilerException:(Ljava/lang/Runnable;Ljava/lang/Runnable;)V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/tools/profiler/test/CPUSamplerTest;
RuntimeVisibleAnnotations:
org.junit.Test()
private static void lambda$0();
descriptor: ()V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=0, args_size=0
0: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
ldc -1
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setPeriod:(J)V
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$1();
descriptor: ()V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=0, args_size=0
0: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
iconst_1
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setCollecting:(Z)V
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$2();
descriptor: ()V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=0, args_size=0
0: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
ldc -1
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setDelay:(J)V
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$3();
descriptor: ()V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=0, args_size=0
0: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
iconst_1
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setCollecting:(Z)V
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$4();
descriptor: ()V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=0, args_size=0
0: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
iconst_m1
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setStackLimit:(I)V
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$5();
descriptor: ()V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=0, args_size=0
0: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
iconst_1
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setCollecting:(Z)V
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$6();
descriptor: ()V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=0, args_size=0
0: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.close:()V
1: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
lconst_1
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setDelay:(J)V
2: return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$7();
descriptor: ()V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=0, args_size=0
0: getstatic com.oracle.truffle.tools.profiler.test.CPUSamplerTest.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
iconst_1
invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setCollecting:(Z)V
return
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "CPUSamplerTest.java"
NestMembers:
com.oracle.truffle.tools.profiler.test.CPUSamplerTest$1 com.oracle.truffle.tools.profiler.test.CPUSamplerTest$2 com.oracle.truffle.tools.profiler.test.CPUSamplerTest$3 com.oracle.truffle.tools.profiler.test.CPUSamplerTest$4 com.oracle.truffle.tools.profiler.test.CPUSamplerTest$RecreateShadowStackTestLanguage com.oracle.truffle.tools.profiler.test.CPUSamplerTest$RecreateShadowStackTestLanguage$CallNode com.oracle.truffle.tools.profiler.test.CPUSamplerTest$RecreateShadowStackTestLanguage$DummyNode com.oracle.truffle.tools.profiler.test.CPUSamplerTest$RecreateShadowStackTestLanguage$RootNode com.oracle.truffle.tools.profiler.test.CPUSamplerTest$RecreateShadowStackTestLanguage$SRootNode com.oracle.truffle.tools.profiler.test.CPUSamplerTest$RecreateShadowStackTestLanguage$SamplerTestInstrumentableNode com.oracle.truffle.tools.profiler.test.CPUSamplerTest$RecreateShadowStackTestLanguage$SamplerTestNode com.oracle.truffle.tools.profiler.test.CPUSamplerTest$RecreateShadowStackTestLanguage$SleepNode com.oracle.truffle.tools.profiler.test.CPUSamplerTest$RecreateShadowStackTestLanguage$StartSamplerNode com.oracle.truffle.tools.profiler.test.CPUSamplerTest$RecreateShadowStackTestLanguage$StatementNode
InnerClasses:
public final Mode = com.oracle.truffle.tools.profiler.CPUSampler$Mode of com.oracle.truffle.tools.profiler.CPUSampler
public final Payload = com.oracle.truffle.tools.profiler.CPUSampler$Payload of com.oracle.truffle.tools.profiler.CPUSampler
com.oracle.truffle.tools.profiler.test.CPUSamplerTest$1
com.oracle.truffle.tools.profiler.test.CPUSamplerTest$2
com.oracle.truffle.tools.profiler.test.CPUSamplerTest$3
com.oracle.truffle.tools.profiler.test.CPUSamplerTest$4
public RecreateShadowStackTestLanguage = com.oracle.truffle.tools.profiler.test.CPUSamplerTest$RecreateShadowStackTestLanguage of com.oracle.truffle.tools.profiler.test.CPUSamplerTest
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public Builder = org.graalvm.polyglot.Source$Builder of org.graalvm.polyglot.Source