public final class com.oracle.truffle.tools.coverage.test.CoverageTest
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.tools.coverage.test.CoverageTest
super_class: java.lang.Object
{
private static final java.lang.String defaultSourceString;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "ROOT(\nDEFINE(foo,ROOT(SLEEP(1))),\nDEFINE(bar,ROOT(BLOCK(STATEMENT,LOOP(10, CALL(foo))))),\nDEFINE(neverCalled,ROOT(BLOCK(STATEMENT,LOOP(10, CALL(bar))))),\nCALL(bar)\n)"
private static final org.graalvm.polyglot.Source defaultSource;
descriptor: Lorg/graalvm/polyglot/Source;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.io.ByteArrayOutputStream out;
descriptor: Ljava/io/ByteArrayOutputStream;
flags: (0x0002) ACC_PRIVATE
private java.io.ByteArrayOutputStream err;
descriptor: Ljava/io/ByteArrayOutputStream;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "ROOT(\nDEFINE(foo,ROOT(SLEEP(1))),\nDEFINE(bar,ROOT(BLOCK(STATEMENT,LOOP(10, CALL(foo))))),\nDEFINE(neverCalled,ROOT(BLOCK(STATEMENT,LOOP(10, CALL(bar))))),\nCALL(bar)\n)"
invokestatic com.oracle.truffle.tools.coverage.test.CoverageTest.makeSource:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
putstatic com.oracle.truffle.tools.coverage.test.CoverageTest.defaultSource:Lorg/graalvm/polyglot/Source;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/tools/coverage/test/CoverageTest;
private static org.graalvm.polyglot.Source makeSource(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: ldc "instrumentation-test-language"
aload 0
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;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/lang/String;
MethodParameters:
Name Flags
s
private static void assertCoverage(com.oracle.truffle.tools.coverage.RootCoverage, int, int, java.lang.String, boolean);
descriptor: (Lcom/oracle/truffle/tools/coverage/RootCoverage;IILjava/lang/String;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: ldc "Wrong root name!"
aload 3
aload 0
invokevirtual com.oracle.truffle.tools.coverage.RootCoverage.getName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
1: new java.lang.StringBuilder
dup
ldc "Unexpected \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" root coverage"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 4
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 0
invokevirtual com.oracle.truffle.tools.coverage.RootCoverage.isCovered:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
2: aload 0
invokevirtual com.oracle.truffle.tools.coverage.RootCoverage.getSectionCoverage:()[Lcom/oracle/truffle/tools/coverage/SectionCoverage;
astore 5
start local 5 3: ldc "Unexpected number of statements loaded "
iload 1
i2l
aload 5
arraylength
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
4: ldc "Unexpected number of statements covered"
iload 2
i2l
aload 5
invokestatic com.oracle.truffle.tools.coverage.test.CoverageTest.countCovered:([Lcom/oracle/truffle/tools/coverage/SectionCoverage;)I
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
5: 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 6 0 root Lcom/oracle/truffle/tools/coverage/RootCoverage;
0 6 1 expectedLoaded I
0 6 2 expectedCovered I
0 6 3 name Ljava/lang/String;
0 6 4 covered Z
3 6 5 sectionCoverage [Lcom/oracle/truffle/tools/coverage/SectionCoverage;
MethodParameters:
Name Flags
root
expectedLoaded
expectedCovered
name
covered
private static int countCovered(com.oracle.truffle.tools.coverage.SectionCoverage[]);
descriptor: ([Lcom/oracle/truffle/tools/coverage/SectionCoverage;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 6
StackMap locals: com.oracle.truffle.tools.coverage.SectionCoverage[] int top int int com.oracle.truffle.tools.coverage.SectionCoverage[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: aload 2
invokevirtual com.oracle.truffle.tools.coverage.SectionCoverage.isCovered:()Z
ifeq 5
4: iinc 1 1
end local 2 5: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 4
if_icmplt 2
7: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 sectionCoverage [Lcom/oracle/truffle/tools/coverage/SectionCoverage;
1 8 1 count I
3 5 2 coverage Lcom/oracle/truffle/tools/coverage/SectionCoverage;
MethodParameters:
Name Flags
sectionCoverage
private static com.oracle.truffle.tools.coverage.SourceCoverage[] execInServiceAndGetCoverage(org.graalvm.polyglot.Context, java.util.concurrent.ExecutorService, com.oracle.truffle.tools.coverage.CoverageTracker);
descriptor: (Lorg/graalvm/polyglot/Context;Ljava/util/concurrent/ExecutorService;Lcom/oracle/truffle/tools/coverage/CoverageTracker;)[Lcom/oracle/truffle/tools/coverage/SourceCoverage;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
iconst_2
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 1: aload 3
aload 1
aload 0
invokedynamic call(Lorg/graalvm/polyglot/Context;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/tools/coverage/test/CoverageTest.lambda$0(Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value; (6)
()Lorg/graalvm/polyglot/Value;
invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 5
StackMap locals: org.graalvm.polyglot.Context java.util.concurrent.ExecutorService com.oracle.truffle.tools.coverage.CoverageTracker java.util.List top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.concurrent.Future
astore 4
start local 4 4: aload 4
invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
pop
end local 4 5: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 2
invokevirtual com.oracle.truffle.tools.coverage.CoverageTracker.getCoverage:()[Lcom/oracle/truffle/tools/coverage/SourceCoverage;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 context Lorg/graalvm/polyglot/Context;
0 7 1 executorService Ljava/util/concurrent/ExecutorService;
0 7 2 tracker Lcom/oracle/truffle/tools/coverage/CoverageTracker;
1 7 3 tasks Ljava/util/List<Ljava/util/concurrent/Future<Lorg/graalvm/polyglot/Value;>;>;
4 5 4 task Ljava/util/concurrent/Future<Lorg/graalvm/polyglot/Value;>;
Exceptions:
throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
MethodParameters:
Name Flags
context
executorService
tracker
public void setUp();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
putfield com.oracle.truffle.tools.coverage.test.CoverageTest.out:Ljava/io/ByteArrayOutputStream;
1: aload 0
new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
putfield com.oracle.truffle.tools.coverage.test.CoverageTest.err:Ljava/io/ByteArrayOutputStream;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/tools/coverage/test/CoverageTest;
RuntimeVisibleAnnotations:
org.junit.Before()
public void testBasic();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
getstatic java.lang.System.in:Ljava/io/InputStream;
invokevirtual org.graalvm.polyglot.Context$Builder.in:(Ljava/io/InputStream;)Lorg/graalvm/polyglot/Context$Builder;
aload 0
getfield com.oracle.truffle.tools.coverage.test.CoverageTest.out:Ljava/io/ByteArrayOutputStream;
invokevirtual org.graalvm.polyglot.Context$Builder.out:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context$Builder;
aload 0
getfield com.oracle.truffle.tools.coverage.test.CoverageTest.err:Ljava/io/ByteArrayOutputStream;
invokevirtual org.graalvm.polyglot.Context$Builder.err:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context$Builder;
ldc "coverage"
ldc "true"
invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 3
start local 3 2: aload 3
getstatic com.oracle.truffle.tools.coverage.test.CoverageTest.defaultSource:Lorg/graalvm/polyglot/Source;
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
3: aload 3
invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
invokestatic com.oracle.truffle.tools.coverage.impl.CoverageInstrument.getTracker:(Lorg/graalvm/polyglot/Engine;)Lcom/oracle/truffle/tools/coverage/CoverageTracker;
astore 4
start local 4 4: aload 4
invokevirtual com.oracle.truffle.tools.coverage.CoverageTracker.getCoverage:()[Lcom/oracle/truffle/tools/coverage/SourceCoverage;
astore 5
start local 5 5: ldc "Unexpected number of sources in coverage"
lconst_1
aload 5
arraylength
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
6: ldc "Unexpected number of roots in coverage"
ldc 4
aload 5
iconst_0
aaload
invokevirtual com.oracle.truffle.tools.coverage.SourceCoverage.getRoots:()[Lcom/oracle/truffle/tools/coverage/RootCoverage;
arraylength
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
7: aload 5
iconst_0
aaload
invokevirtual com.oracle.truffle.tools.coverage.SourceCoverage.getRoots:()[Lcom/oracle/truffle/tools/coverage/RootCoverage;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 22
StackMap locals: com.oracle.truffle.tools.coverage.test.CoverageTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context com.oracle.truffle.tools.coverage.CoverageTracker com.oracle.truffle.tools.coverage.SourceCoverage[] top int int com.oracle.truffle.tools.coverage.RootCoverage[]
StackMap stack:
8: aload 9
iload 7
aaload
astore 6
start local 6 9: aload 6
invokevirtual com.oracle.truffle.tools.coverage.RootCoverage.getName:()Ljava/lang/String;
dup
astore 10
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 4
-1257962199: 10
0: 11
97299: 12
101574: 13
default: 21
}
StackMap locals: com.oracle.truffle.tools.coverage.test.CoverageTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context com.oracle.truffle.tools.coverage.CoverageTracker com.oracle.truffle.tools.coverage.SourceCoverage[] com.oracle.truffle.tools.coverage.RootCoverage int int com.oracle.truffle.tools.coverage.RootCoverage[] java.lang.String
StackMap stack:
10: aload 10
ldc "neverCalled"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
goto 21
StackMap locals:
StackMap stack:
11: aload 10
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 20
goto 21
StackMap locals:
StackMap stack:
12: aload 10
ldc "bar"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 16
goto 21
StackMap locals:
StackMap stack:
13: aload 10
ldc "foo"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 14
goto 21
14: StackMap locals:
StackMap stack:
aload 6
iconst_0
iconst_0
ldc "foo"
iconst_1
invokestatic com.oracle.truffle.tools.coverage.test.CoverageTest.assertCoverage:(Lcom/oracle/truffle/tools/coverage/RootCoverage;IILjava/lang/String;Z)V
15: goto 21
16: StackMap locals:
StackMap stack:
aload 6
iconst_1
iconst_1
ldc "bar"
iconst_1
invokestatic com.oracle.truffle.tools.coverage.test.CoverageTest.assertCoverage:(Lcom/oracle/truffle/tools/coverage/RootCoverage;IILjava/lang/String;Z)V
17: goto 21
18: StackMap locals:
StackMap stack:
aload 6
iconst_1
iconst_0
ldc "neverCalled"
iconst_0
invokestatic com.oracle.truffle.tools.coverage.test.CoverageTest.assertCoverage:(Lcom/oracle/truffle/tools/coverage/RootCoverage;IILjava/lang/String;Z)V
19: goto 21
20: StackMap locals:
StackMap stack:
aload 6
iconst_0
iconst_0
ldc ""
iconst_1
invokestatic com.oracle.truffle.tools.coverage.test.CoverageTest.assertCoverage:(Lcom/oracle/truffle/tools/coverage/RootCoverage;IILjava/lang/String;Z)V
end local 6 21: StackMap locals: com.oracle.truffle.tools.coverage.test.CoverageTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context com.oracle.truffle.tools.coverage.CoverageTracker com.oracle.truffle.tools.coverage.SourceCoverage[] top int int com.oracle.truffle.tools.coverage.RootCoverage[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
22: iload 7
iload 8
if_icmplt 8
end local 5 end local 4 23: aload 3
ifnull 29
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 29
StackMap locals: com.oracle.truffle.tools.coverage.test.CoverageTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
24: astore 1
aload 3
ifnull 25
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 3 StackMap locals:
StackMap stack:
25: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
26: astore 2
aload 1
ifnonnull 27
aload 2
astore 1
goto 28
StackMap locals:
StackMap stack:
27: aload 1
aload 2
if_acmpeq 28
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
28: aload 1
athrow
29: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/oracle/truffle/tools/coverage/test/CoverageTest;
2 25 3 context Lorg/graalvm/polyglot/Context;
4 23 4 tracker Lcom/oracle/truffle/tools/coverage/CoverageTracker;
5 23 5 coverage [Lcom/oracle/truffle/tools/coverage/SourceCoverage;
9 21 6 root Lcom/oracle/truffle/tools/coverage/RootCoverage;
Exception table:
from to target type
2 23 24 any
1 26 26 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testMultiThreaded();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
getstatic java.lang.System.in:Ljava/io/InputStream;
invokevirtual org.graalvm.polyglot.Context$Builder.in:(Ljava/io/InputStream;)Lorg/graalvm/polyglot/Context$Builder;
aload 0
getfield com.oracle.truffle.tools.coverage.test.CoverageTest.out:Ljava/io/ByteArrayOutputStream;
invokevirtual org.graalvm.polyglot.Context$Builder.out:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context$Builder;
aload 0
getfield com.oracle.truffle.tools.coverage.test.CoverageTest.err:Ljava/io/ByteArrayOutputStream;
invokevirtual org.graalvm.polyglot.Context$Builder.err:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 3
start local 3 2: iconst_2
invokestatic java.util.concurrent.Executors.newFixedThreadPool:(I)Ljava/util/concurrent/ExecutorService;
astore 4
start local 4 3: aload 3
invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
invokestatic com.oracle.truffle.tools.coverage.impl.CoverageInstrument.getTracker:(Lorg/graalvm/polyglot/Engine;)Lcom/oracle/truffle/tools/coverage/CoverageTracker;
astore 5
start local 5 4: lconst_0
aload 3
aload 4
aload 5
invokestatic com.oracle.truffle.tools.coverage.test.CoverageTest.execInServiceAndGetCoverage:(Lorg/graalvm/polyglot/Context;Ljava/util/concurrent/ExecutorService;Lcom/oracle/truffle/tools/coverage/CoverageTracker;)[Lcom/oracle/truffle/tools/coverage/SourceCoverage;
arraylength
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
5: aload 5
new com.oracle.truffle.tools.coverage.CoverageTracker$Config
dup
getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
iconst_1
invokespecial com.oracle.truffle.tools.coverage.CoverageTracker$Config.<init>:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Z)V
invokevirtual com.oracle.truffle.tools.coverage.CoverageTracker.start:(Lcom/oracle/truffle/tools/coverage/CoverageTracker$Config;)V
6: aload 3
aload 4
aload 5
invokestatic com.oracle.truffle.tools.coverage.test.CoverageTest.execInServiceAndGetCoverage:(Lorg/graalvm/polyglot/Context;Ljava/util/concurrent/ExecutorService;Lcom/oracle/truffle/tools/coverage/CoverageTracker;)[Lcom/oracle/truffle/tools/coverage/SourceCoverage;
astore 6
start local 6 7: lconst_1
aload 6
arraylength
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
8: aload 3
aload 4
aload 5
invokestatic com.oracle.truffle.tools.coverage.test.CoverageTest.execInServiceAndGetCoverage:(Lorg/graalvm/polyglot/Context;Ljava/util/concurrent/ExecutorService;Lcom/oracle/truffle/tools/coverage/CoverageTracker;)[Lcom/oracle/truffle/tools/coverage/SourceCoverage;
astore 7
start local 7 9: lconst_1
aload 7
arraylength
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
10: aload 7
iconst_0
aaload
invokevirtual com.oracle.truffle.tools.coverage.SourceCoverage.getRoots:()[Lcom/oracle/truffle/tools/coverage/RootCoverage;
iconst_0
aaload
invokevirtual com.oracle.truffle.tools.coverage.RootCoverage.getCount:()J
aload 6
iconst_0
aaload
invokevirtual com.oracle.truffle.tools.coverage.SourceCoverage.getRoots:()[Lcom/oracle/truffle/tools/coverage/RootCoverage;
iconst_0
aaload
invokevirtual com.oracle.truffle.tools.coverage.RootCoverage.getCount:()J
lcmp
iflt 11
iconst_1
goto 12
StackMap locals: com.oracle.truffle.tools.coverage.test.CoverageTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context java.util.concurrent.ExecutorService com.oracle.truffle.tools.coverage.CoverageTracker com.oracle.truffle.tools.coverage.SourceCoverage[] com.oracle.truffle.tools.coverage.SourceCoverage[]
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: invokestatic org.junit.Assert.assertTrue:(Z)V
13: aload 5
invokevirtual com.oracle.truffle.tools.coverage.CoverageTracker.end:()V
14: aload 3
aload 4
aload 5
invokestatic com.oracle.truffle.tools.coverage.test.CoverageTest.execInServiceAndGetCoverage:(Lorg/graalvm/polyglot/Context;Ljava/util/concurrent/ExecutorService;Lcom/oracle/truffle/tools/coverage/CoverageTracker;)[Lcom/oracle/truffle/tools/coverage/SourceCoverage;
astore 8
start local 8 15: aload 3
aload 4
aload 5
invokestatic com.oracle.truffle.tools.coverage.test.CoverageTest.execInServiceAndGetCoverage:(Lorg/graalvm/polyglot/Context;Ljava/util/concurrent/ExecutorService;Lcom/oracle/truffle/tools/coverage/CoverageTracker;)[Lcom/oracle/truffle/tools/coverage/SourceCoverage;
astore 9
start local 9 16: aload 8
iconst_0
aaload
invokevirtual com.oracle.truffle.tools.coverage.SourceCoverage.getRoots:()[Lcom/oracle/truffle/tools/coverage/RootCoverage;
iconst_0
aaload
invokevirtual com.oracle.truffle.tools.coverage.RootCoverage.getCount:()J
aload 9
iconst_0
aaload
invokevirtual com.oracle.truffle.tools.coverage.SourceCoverage.getRoots:()[Lcom/oracle/truffle/tools/coverage/RootCoverage;
iconst_0
aaload
invokevirtual com.oracle.truffle.tools.coverage.RootCoverage.getCount:()J
invokestatic org.junit.Assert.assertEquals:(JJ)V
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 17: aload 3
ifnull 23
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 23
StackMap locals: com.oracle.truffle.tools.coverage.test.CoverageTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
18: astore 1
aload 3
ifnull 19
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 3 StackMap locals:
StackMap stack:
19: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 2
aload 1
ifnonnull 21
aload 2
astore 1
goto 22
StackMap locals:
StackMap stack:
21: aload 1
aload 2
if_acmpeq 22
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
22: aload 1
athrow
23: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/oracle/truffle/tools/coverage/test/CoverageTest;
2 19 3 context Lorg/graalvm/polyglot/Context;
3 17 4 executorService Ljava/util/concurrent/ExecutorService;
4 17 5 tracker Lcom/oracle/truffle/tools/coverage/CoverageTracker;
7 17 6 initial [Lcom/oracle/truffle/tools/coverage/SourceCoverage;
9 17 7 grown [Lcom/oracle/truffle/tools/coverage/SourceCoverage;
15 17 8 afterEnd [Lcom/oracle/truffle/tools/coverage/SourceCoverage;
16 17 9 afterEnd2 [Lcom/oracle/truffle/tools/coverage/SourceCoverage;
Exception table:
from to target type
2 17 18 any
1 20 20 any
Exceptions:
throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testRootAndStatementInDifferentSources();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
getstatic java.lang.System.in:Ljava/io/InputStream;
invokevirtual org.graalvm.polyglot.Context$Builder.in:(Ljava/io/InputStream;)Lorg/graalvm/polyglot/Context$Builder;
aload 0
getfield com.oracle.truffle.tools.coverage.test.CoverageTest.out:Ljava/io/ByteArrayOutputStream;
invokevirtual org.graalvm.polyglot.Context$Builder.out:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context$Builder;
aload 0
getfield com.oracle.truffle.tools.coverage.test.CoverageTest.err:Ljava/io/ByteArrayOutputStream;
invokevirtual org.graalvm.polyglot.Context$Builder.err:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 3
start local 3 2: aload 3
invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
invokestatic com.oracle.truffle.tools.coverage.impl.CoverageInstrument.getTracker:(Lorg/graalvm/polyglot/Engine;)Lcom/oracle/truffle/tools/coverage/CoverageTracker;
astore 4
start local 4 3: aload 4
new com.oracle.truffle.tools.coverage.CoverageTracker$Config
dup
getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
iconst_0
invokespecial com.oracle.truffle.tools.coverage.CoverageTracker$Config.<init>:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Z)V
invokevirtual com.oracle.truffle.tools.coverage.CoverageTracker.start:(Lcom/oracle/truffle/tools/coverage/CoverageTracker$Config;)V
4: aload 3
ldc "RootAndStatementInDifferentSources"
ldc ""
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
5: aload 4
invokevirtual com.oracle.truffle.tools.coverage.CoverageTracker.getCoverage:()[Lcom/oracle/truffle/tools/coverage/SourceCoverage;
astore 5
start local 5 6: ldc 2
aload 5
arraylength
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
7: aload 5
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 22
StackMap locals: com.oracle.truffle.tools.coverage.test.CoverageTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context com.oracle.truffle.tools.coverage.CoverageTracker com.oracle.truffle.tools.coverage.SourceCoverage[] top int int com.oracle.truffle.tools.coverage.SourceCoverage[]
StackMap stack:
8: aload 9
iload 7
aaload
astore 6
start local 6 9: aload 6
invokevirtual com.oracle.truffle.tools.coverage.SourceCoverage.getSource:()Lcom/oracle/truffle/api/source/Source;
getstatic com.oracle.truffle.tools.coverage.test.CoverageTest$RootAndStatementInDifferentSources.rootSource:Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.equals:(Ljava/lang/Object;)Z
ifeq 14
10: lconst_1
aload 6
invokevirtual com.oracle.truffle.tools.coverage.SourceCoverage.getRoots:()[Lcom/oracle/truffle/tools/coverage/RootCoverage;
arraylength
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
11: aload 6
invokevirtual com.oracle.truffle.tools.coverage.SourceCoverage.getRoots:()[Lcom/oracle/truffle/tools/coverage/RootCoverage;
iconst_0
aaload
astore 10
start local 10 12: aload 10
invokevirtual com.oracle.truffle.tools.coverage.RootCoverage.isCovered:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
13: lconst_0
aload 10
invokevirtual com.oracle.truffle.tools.coverage.RootCoverage.getSectionCoverage:()[Lcom/oracle/truffle/tools/coverage/SectionCoverage;
arraylength
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
end local 10 14: StackMap locals: com.oracle.truffle.tools.coverage.test.CoverageTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context com.oracle.truffle.tools.coverage.CoverageTracker com.oracle.truffle.tools.coverage.SourceCoverage[] com.oracle.truffle.tools.coverage.SourceCoverage int int com.oracle.truffle.tools.coverage.SourceCoverage[]
StackMap stack:
aload 6
invokevirtual com.oracle.truffle.tools.coverage.SourceCoverage.getSource:()Lcom/oracle/truffle/api/source/Source;
getstatic com.oracle.truffle.tools.coverage.test.CoverageTest$RootAndStatementInDifferentSources.statementSource:Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.equals:(Ljava/lang/Object;)Z
ifeq 21
15: lconst_1
aload 6
invokevirtual com.oracle.truffle.tools.coverage.SourceCoverage.getRoots:()[Lcom/oracle/truffle/tools/coverage/RootCoverage;
arraylength
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
16: aload 6
invokevirtual com.oracle.truffle.tools.coverage.SourceCoverage.getRoots:()[Lcom/oracle/truffle/tools/coverage/RootCoverage;
iconst_0
aaload
astore 10
start local 10 17: aload 10
invokevirtual com.oracle.truffle.tools.coverage.RootCoverage.isCovered:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
18: lconst_1
aload 10
invokevirtual com.oracle.truffle.tools.coverage.RootCoverage.getSectionCoverage:()[Lcom/oracle/truffle/tools/coverage/SectionCoverage;
arraylength
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
19: aload 10
invokevirtual com.oracle.truffle.tools.coverage.RootCoverage.getSectionCoverage:()[Lcom/oracle/truffle/tools/coverage/SectionCoverage;
iconst_0
aaload
astore 11
start local 11 20: aload 11
invokevirtual com.oracle.truffle.tools.coverage.SectionCoverage.isCovered:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
end local 11 end local 10 end local 6 21: StackMap locals: com.oracle.truffle.tools.coverage.test.CoverageTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context com.oracle.truffle.tools.coverage.CoverageTracker com.oracle.truffle.tools.coverage.SourceCoverage[] top int int com.oracle.truffle.tools.coverage.SourceCoverage[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
22: iload 7
iload 8
if_icmplt 8
end local 5 23: aload 4
ifnull 26
aload 4
invokevirtual com.oracle.truffle.tools.coverage.CoverageTracker.close:()V
goto 26
StackMap locals: com.oracle.truffle.tools.coverage.test.CoverageTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context com.oracle.truffle.tools.coverage.CoverageTracker
StackMap stack: java.lang.Throwable
24: astore 1
aload 4
ifnull 25
aload 4
invokevirtual com.oracle.truffle.tools.coverage.CoverageTracker.close:()V
end local 4 StackMap locals:
StackMap stack:
25: aload 1
athrow
StackMap locals:
StackMap stack:
26: aload 3
ifnull 34
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 34
StackMap locals:
StackMap stack: java.lang.Throwable
27: astore 2
aload 1
ifnonnull 28
aload 2
astore 1
goto 29
StackMap locals:
StackMap stack:
28: aload 1
aload 2
if_acmpeq 29
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
29: aload 3
ifnull 30
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 3 StackMap locals:
StackMap stack:
30: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
31: astore 2
aload 1
ifnonnull 32
aload 2
astore 1
goto 33
StackMap locals:
StackMap stack:
32: aload 1
aload 2
if_acmpeq 33
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
33: aload 1
athrow
34: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lcom/oracle/truffle/tools/coverage/test/CoverageTest;
2 30 3 c Lorg/graalvm/polyglot/Context;
3 25 4 tracker Lcom/oracle/truffle/tools/coverage/CoverageTracker;
6 23 5 coverage [Lcom/oracle/truffle/tools/coverage/SourceCoverage;
9 21 6 sourceCoverage Lcom/oracle/truffle/tools/coverage/SourceCoverage;
12 14 10 rootCoverage Lcom/oracle/truffle/tools/coverage/RootCoverage;
17 21 10 rootCoverage Lcom/oracle/truffle/tools/coverage/RootCoverage;
20 21 11 sectionCoverage Lcom/oracle/truffle/tools/coverage/SectionCoverage;
Exception table:
from to target type
3 23 24 any
2 26 27 any
1 31 31 any
RuntimeVisibleAnnotations:
org.junit.Test()
public void testResetCoverage();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=13, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
getstatic java.lang.System.in:Ljava/io/InputStream;
invokevirtual org.graalvm.polyglot.Context$Builder.in:(Ljava/io/InputStream;)Lorg/graalvm/polyglot/Context$Builder;
aload 0
getfield com.oracle.truffle.tools.coverage.test.CoverageTest.out:Ljava/io/ByteArrayOutputStream;
invokevirtual org.graalvm.polyglot.Context$Builder.out:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context$Builder;
aload 0
getfield com.oracle.truffle.tools.coverage.test.CoverageTest.err:Ljava/io/ByteArrayOutputStream;
invokevirtual org.graalvm.polyglot.Context$Builder.err:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context$Builder;
ldc "coverage"
ldc "true"
invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 3
start local 3 2: aload 3
invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
invokestatic com.oracle.truffle.tools.coverage.impl.CoverageInstrument.getTracker:(Lorg/graalvm/polyglot/Engine;)Lcom/oracle/truffle/tools/coverage/CoverageTracker;
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 43
5: StackMap locals: com.oracle.truffle.tools.coverage.test.CoverageTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context com.oracle.truffle.tools.coverage.CoverageTracker int
StackMap stack:
aload 3
getstatic com.oracle.truffle.tools.coverage.test.CoverageTest.defaultSource:Lorg/graalvm/polyglot/Source;
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
6: aload 4
invokevirtual com.oracle.truffle.tools.coverage.CoverageTracker.resetCoverage:()[Lcom/oracle/truffle/tools/coverage/SourceCoverage;
astore 6
start local 6 7: ldc "Unexpected number of sources in coverage"
lconst_1
aload 6
arraylength
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
8: ldc "Unexpected number of roots in coverage"
ldc 4
aload 6
iconst_0
aaload
invokevirtual com.oracle.truffle.tools.coverage.SourceCoverage.getRoots:()[Lcom/oracle/truffle/tools/coverage/RootCoverage;
arraylength
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
9: aload 6
iconst_0
aaload
invokevirtual com.oracle.truffle.tools.coverage.SourceCoverage.getRoots:()[Lcom/oracle/truffle/tools/coverage/RootCoverage;
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 24
StackMap locals: com.oracle.truffle.tools.coverage.test.CoverageTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context com.oracle.truffle.tools.coverage.CoverageTracker int com.oracle.truffle.tools.coverage.SourceCoverage[] top int int com.oracle.truffle.tools.coverage.RootCoverage[]
StackMap stack:
10: aload 10
iload 8
aaload
astore 7
start local 7 11: aload 7
invokevirtual com.oracle.truffle.tools.coverage.RootCoverage.getName:()Ljava/lang/String;
dup
astore 11
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 4
-1257962199: 12
0: 13
97299: 14
101574: 15
default: 23
}
StackMap locals: com.oracle.truffle.tools.coverage.test.CoverageTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context com.oracle.truffle.tools.coverage.CoverageTracker int com.oracle.truffle.tools.coverage.SourceCoverage[] com.oracle.truffle.tools.coverage.RootCoverage int int com.oracle.truffle.tools.coverage.RootCoverage[] java.lang.String
StackMap stack:
12: aload 11
ldc "neverCalled"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 20
goto 23
StackMap locals:
StackMap stack:
13: aload 11
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
goto 23
StackMap locals:
StackMap stack:
14: aload 11
ldc "bar"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
goto 23
StackMap locals:
StackMap stack:
15: aload 11
ldc "foo"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 16
goto 23
16: StackMap locals:
StackMap stack:
aload 7
iconst_0
iconst_0
ldc "foo"
iconst_1
invokestatic com.oracle.truffle.tools.coverage.test.CoverageTest.assertCoverage:(Lcom/oracle/truffle/tools/coverage/RootCoverage;IILjava/lang/String;Z)V
17: goto 23
18: StackMap locals:
StackMap stack:
aload 7
iconst_1
iconst_1
ldc "bar"
iconst_1
invokestatic com.oracle.truffle.tools.coverage.test.CoverageTest.assertCoverage:(Lcom/oracle/truffle/tools/coverage/RootCoverage;IILjava/lang/String;Z)V
19: goto 23
20: StackMap locals:
StackMap stack:
aload 7
iconst_1
iconst_0
ldc "neverCalled"
iconst_0
invokestatic com.oracle.truffle.tools.coverage.test.CoverageTest.assertCoverage:(Lcom/oracle/truffle/tools/coverage/RootCoverage;IILjava/lang/String;Z)V
21: goto 23
22: StackMap locals:
StackMap stack:
aload 7
iconst_0
iconst_0
ldc ""
iconst_1
invokestatic com.oracle.truffle.tools.coverage.test.CoverageTest.assertCoverage:(Lcom/oracle/truffle/tools/coverage/RootCoverage;IILjava/lang/String;Z)V
end local 7 23: StackMap locals: com.oracle.truffle.tools.coverage.test.CoverageTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context com.oracle.truffle.tools.coverage.CoverageTracker int com.oracle.truffle.tools.coverage.SourceCoverage[] top int int com.oracle.truffle.tools.coverage.RootCoverage[]
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
24: iload 8
iload 9
if_icmplt 10
25: aload 4
invokevirtual com.oracle.truffle.tools.coverage.CoverageTracker.getCoverage:()[Lcom/oracle/truffle/tools/coverage/SourceCoverage;
astore 7
start local 7 26: aload 7
iconst_0
aaload
invokevirtual com.oracle.truffle.tools.coverage.SourceCoverage.getRoots:()[Lcom/oracle/truffle/tools/coverage/RootCoverage;
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 41
StackMap locals: com.oracle.truffle.tools.coverage.test.CoverageTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context com.oracle.truffle.tools.coverage.CoverageTracker int com.oracle.truffle.tools.coverage.SourceCoverage[] com.oracle.truffle.tools.coverage.SourceCoverage[] top int int com.oracle.truffle.tools.coverage.RootCoverage[]
StackMap stack:
27: aload 11
iload 9
aaload
astore 8
start local 8 28: aload 8
invokevirtual com.oracle.truffle.tools.coverage.RootCoverage.getName:()Ljava/lang/String;
dup
astore 12
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 4
-1257962199: 29
0: 30
97299: 31
101574: 32
default: 40
}
StackMap locals: com.oracle.truffle.tools.coverage.test.CoverageTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context com.oracle.truffle.tools.coverage.CoverageTracker int com.oracle.truffle.tools.coverage.SourceCoverage[] com.oracle.truffle.tools.coverage.SourceCoverage[] com.oracle.truffle.tools.coverage.RootCoverage int int com.oracle.truffle.tools.coverage.RootCoverage[] java.lang.String
StackMap stack:
29: aload 12
ldc "neverCalled"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 37
goto 40
StackMap locals:
StackMap stack:
30: aload 12
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 39
goto 40
StackMap locals:
StackMap stack:
31: aload 12
ldc "bar"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 35
goto 40
StackMap locals:
StackMap stack:
32: aload 12
ldc "foo"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 33
goto 40
33: StackMap locals:
StackMap stack:
aload 8
iconst_0
iconst_0
ldc "foo"
iconst_0
invokestatic com.oracle.truffle.tools.coverage.test.CoverageTest.assertCoverage:(Lcom/oracle/truffle/tools/coverage/RootCoverage;IILjava/lang/String;Z)V
34: goto 40
35: StackMap locals:
StackMap stack:
aload 8
iconst_1
iconst_0
ldc "bar"
iconst_0
invokestatic com.oracle.truffle.tools.coverage.test.CoverageTest.assertCoverage:(Lcom/oracle/truffle/tools/coverage/RootCoverage;IILjava/lang/String;Z)V
36: goto 40
37: StackMap locals:
StackMap stack:
aload 8
iconst_1
iconst_0
ldc "neverCalled"
iconst_0
invokestatic com.oracle.truffle.tools.coverage.test.CoverageTest.assertCoverage:(Lcom/oracle/truffle/tools/coverage/RootCoverage;IILjava/lang/String;Z)V
38: goto 40
39: StackMap locals:
StackMap stack:
aload 8
iconst_0
iconst_0
ldc ""
iconst_0
invokestatic com.oracle.truffle.tools.coverage.test.CoverageTest.assertCoverage:(Lcom/oracle/truffle/tools/coverage/RootCoverage;IILjava/lang/String;Z)V
end local 8 40: StackMap locals: com.oracle.truffle.tools.coverage.test.CoverageTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context com.oracle.truffle.tools.coverage.CoverageTracker int com.oracle.truffle.tools.coverage.SourceCoverage[] com.oracle.truffle.tools.coverage.SourceCoverage[] top int int com.oracle.truffle.tools.coverage.RootCoverage[]
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
41: iload 9
iload 10
if_icmplt 27
end local 7 end local 6 42: iinc 5 1
StackMap locals: com.oracle.truffle.tools.coverage.test.CoverageTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context com.oracle.truffle.tools.coverage.CoverageTracker int
StackMap stack:
43: iload 5
bipush 10
if_icmplt 5
end local 5 44: aload 4
ifnull 47
aload 4
invokevirtual com.oracle.truffle.tools.coverage.CoverageTracker.close:()V
goto 47
StackMap locals: com.oracle.truffle.tools.coverage.test.CoverageTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context com.oracle.truffle.tools.coverage.CoverageTracker
StackMap stack: java.lang.Throwable
45: astore 1
aload 4
ifnull 46
aload 4
invokevirtual com.oracle.truffle.tools.coverage.CoverageTracker.close:()V
end local 4 StackMap locals:
StackMap stack:
46: aload 1
athrow
StackMap locals:
StackMap stack:
47: aload 3
ifnull 55
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 55
StackMap locals:
StackMap stack: java.lang.Throwable
48: astore 2
aload 1
ifnonnull 49
aload 2
astore 1
goto 50
StackMap locals:
StackMap stack:
49: aload 1
aload 2
if_acmpeq 50
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
50: aload 3
ifnull 51
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 3 StackMap locals:
StackMap stack:
51: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
52: astore 2
aload 1
ifnonnull 53
aload 2
astore 1
goto 54
StackMap locals:
StackMap stack:
53: aload 1
aload 2
if_acmpeq 54
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
54: aload 1
athrow
55: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 56 0 this Lcom/oracle/truffle/tools/coverage/test/CoverageTest;
2 51 3 context Lorg/graalvm/polyglot/Context;
3 46 4 tracker Lcom/oracle/truffle/tools/coverage/CoverageTracker;
4 44 5 i I
7 42 6 coverage [Lcom/oracle/truffle/tools/coverage/SourceCoverage;
11 23 7 root Lcom/oracle/truffle/tools/coverage/RootCoverage;
26 42 7 resetCoverage [Lcom/oracle/truffle/tools/coverage/SourceCoverage;
28 40 8 root Lcom/oracle/truffle/tools/coverage/RootCoverage;
Exception table:
from to target type
3 44 45 any
2 47 48 any
1 52 52 any
RuntimeVisibleAnnotations:
org.junit.Test()
private static org.graalvm.polyglot.Value lambda$0(org.graalvm.polyglot.Context);
descriptor: (Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
0: aload 0
getstatic com.oracle.truffle.tools.coverage.test.CoverageTest.defaultSource:Lorg/graalvm/polyglot/Source;
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
}
SourceFile: "CoverageTest.java"
NestMembers:
com.oracle.truffle.tools.coverage.test.CoverageTest$RootAndStatementInDifferentSources com.oracle.truffle.tools.coverage.test.CoverageTest$RootAndStatementInDifferentSources$1 com.oracle.truffle.tools.coverage.test.CoverageTest$RootAndStatementInDifferentSources$SuperclassNode com.oracle.truffle.tools.coverage.test.CoverageTest$RootAndStatementInDifferentSources$TestRootNode com.oracle.truffle.tools.coverage.test.CoverageTest$RootAndStatementInDifferentSources$TestStatementNode
InnerClasses:
public Config = com.oracle.truffle.tools.coverage.CoverageTracker$Config of com.oracle.truffle.tools.coverage.CoverageTracker
public RootAndStatementInDifferentSources = com.oracle.truffle.tools.coverage.test.CoverageTest$RootAndStatementInDifferentSources of com.oracle.truffle.tools.coverage.test.CoverageTest
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context
public Builder = org.graalvm.polyglot.Source$Builder of org.graalvm.polyglot.Source