public class com.oracle.truffle.api.instrumentation.test.InstrumentationTest extends com.oracle.truffle.api.instrumentation.test.AbstractInstrumentationTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.instrumentation.test.InstrumentationTest
super_class: com.oracle.truffle.api.instrumentation.test.AbstractInstrumentationTest
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.api.instrumentation.test.AbstractInstrumentationTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
public void testMetadata();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "testMetadataType1"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 1
start local 1 1: ldc "name"
aload 1
invokevirtual org.graalvm.polyglot.Instrument.getName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
2: ldc "version"
aload 1
invokevirtual org.graalvm.polyglot.Instrument.getVersion:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: ldc "testMetadataType1"
aload 1
invokevirtual org.graalvm.polyglot.Instrument.getId:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.isInitialized:(Lorg/graalvm/polyglot/Instrument;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
5: aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.isCreated:(Lorg/graalvm/polyglot/Instrument;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 7 1 instrumentHandle1 Lorg/graalvm/polyglot/Instrument;
RuntimeVisibleAnnotations:
org.junit.Test()
public void forgetsToRegisterADeclaredService();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "testBrokenRegistration"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 1
start local 1 1: aload 1
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
2: aload 1
ldc Ljava/lang/Runnable;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.lang.Runnable
astore 2
start local 2 3: ldc "The service isn't there"
aload 2
invokestatic org.junit.Assert.assertNull:(Ljava/lang/String;Ljava/lang/Object;)V
4: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.err:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
ldc "declares service java.lang.Runnable but doesn't register it"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 6
5: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.err:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
6: StackMap locals: org.graalvm.polyglot.Instrument java.lang.Runnable
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 7 1 handle Lorg/graalvm/polyglot/Instrument;
3 7 2 r Ljava/lang/Runnable;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void queryInstrumentsBeforeUseAndObtainSpecialService();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
invokestatic org.graalvm.polyglot.Engine.newBuilder:()Lorg/graalvm/polyglot/Engine$Builder;
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.err:Ljava/io/ByteArrayOutputStream;
invokevirtual org.graalvm.polyglot.Engine$Builder.err:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Engine$Builder;
invokevirtual org.graalvm.polyglot.Engine$Builder.build:()Lorg/graalvm/polyglot/Engine;
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.enter:()V
2: aconst_null
astore 1
start local 1 3: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 10
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest java.lang.Runnable top java.util.Iterator
StackMap stack:
4: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 2
start local 2 5: aload 2
ldc Ljava/lang/Runnable;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.lang.Runnable
astore 4
start local 4 6: aload 4
ifnull 10
7: aload 4
astore 1
8: aload 1
invokeinterface java.lang.Runnable.run:()V
9: new java.lang.StringBuilder
dup
ldc "Now enabled: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 0
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.isCreated:(Lorg/graalvm/polyglot/Instrument;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
end local 4 end local 2 10: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
11: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.leave:()V
12: ldc "At least one Runnable found"
aload 1
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
3 14 1 start Ljava/lang/Runnable;
5 10 2 instr Lorg/graalvm/polyglot/Instrument;
6 10 4 r Ljava/lang/Runnable;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void queryInstrumentsAfterDisposeDoesnotEnable();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
invokestatic org.graalvm.polyglot.Engine.newBuilder:()Lorg/graalvm/polyglot/Engine$Builder;
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.err:Ljava/io/ByteArrayOutputStream;
invokevirtual org.graalvm.polyglot.Engine$Builder.err:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Engine$Builder;
invokevirtual org.graalvm.polyglot.Engine$Builder.build:()Lorg/graalvm/polyglot/Engine;
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.close:()V
2: aconst_null
astore 1
start local 1 3: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 12
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest java.lang.Runnable top java.util.Iterator
StackMap stack:
4: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 2
start local 2 5: ldc "Instrument is disabled"
aload 0
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.isInitialized:(Lorg/graalvm/polyglot/Instrument;)Z
invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
6: aload 2
ldc Ljava/lang/Runnable;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.lang.Runnable
astore 4
start local 4 7: aload 4
ifnull 11
8: aload 4
astore 1
9: aload 1
invokeinterface java.lang.Runnable.run:()V
10: new java.lang.StringBuilder
dup
ldc "Now enabled: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 0
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.isCreated:(Lorg/graalvm/polyglot/Instrument;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
11: StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest java.lang.Runnable org.graalvm.polyglot.Instrument java.util.Iterator java.lang.Runnable
StackMap stack:
ldc "Instrument left disabled"
aload 0
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.isInitialized:(Lorg/graalvm/polyglot/Instrument;)Z
invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
end local 4 end local 2 12: StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest java.lang.Runnable top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
13: ldc "No Runnable found"
aload 1
invokestatic org.junit.Assert.assertNull:(Ljava/lang/String;Ljava/lang/Object;)V
14: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
3 15 1 start Ljava/lang/Runnable;
5 12 2 instr Lorg/graalvm/polyglot/Instrument;
7 12 4 r Ljava/lang/Runnable;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test(expected = Ljava/lang/IllegalStateException;)
public void testDefaultId();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$MetadataInstrument2;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 1
start local 1 1: ldc ""
aload 1
invokevirtual org.graalvm.polyglot.Instrument.getName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
2: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getVersion:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.polyglot.Instrument.getVersion:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$MetadataInstrument2;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.polyglot.Instrument.getId:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.isInitialized:(Lorg/graalvm/polyglot/Instrument;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 6 1 descriptor1 Lorg/graalvm/polyglot/Instrument;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testMultipleInstruments();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
ldc ""
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
1: iconst_0
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument.onCreateCounter:I
2: iconst_0
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument.onFinalizeCounter:I
3: iconst_0
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument.onDisposeCounter:I
4: iconst_0
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument.constructor:I
5: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "testMultipleInstruments"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 1
start local 1 6: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.cleanup:()V
7: lconst_0
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument.constructor:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
8: lconst_0
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument.onCreateCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
9: lconst_0
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument.onFinalizeCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
10: lconst_0
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument.onDisposeCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
11: aload 0
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.getEngine:()Lorg/graalvm/polyglot/Engine;
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
12: iconst_0
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument.onCreateCounter:I
13: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "testMultipleInstruments"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 1
14: aload 1
ldc Ljava/lang/Object;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
pop
15: lconst_1
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument.constructor:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
16: lconst_1
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument.onCreateCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
17: lconst_0
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument.onFinalizeCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
18: lconst_0
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument.onDisposeCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
19: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "testMultipleInstruments"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 2
start local 2 20: aload 2
ldc Ljava/lang/Object;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
pop
21: lconst_1
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument.constructor:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
22: lconst_1
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument.onCreateCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
23: lconst_0
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument.onFinalizeCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
24: lconst_0
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument.onDisposeCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
25: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.close:()V
26: aload 0
aconst_null
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
27: lconst_1
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument.constructor:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
28: lconst_1
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument.onCreateCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
29: lconst_1
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument.onFinalizeCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
30: lconst_1
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument.onDisposeCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
31: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
6 32 1 instrument1 Lorg/graalvm/polyglot/Instrument;
20 32 2 instrument2 Lorg/graalvm/polyglot/Instrument;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testLanguageInstrumentationAndExceptions();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: iconst_0
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLanguageInstrumentationLanguage.installInstrumentsCounter:I
1: iconst_0
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLanguageInstrumentationLanguage.createContextCounter:I
2: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
ldc "test-language-instrumentation-language"
ldc "ROOT(EXPRESSION)"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
3: ldc "expected exception"
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
4: goto 7
StackMap locals:
StackMap stack: org.graalvm.polyglot.PolyglotException
5: astore 1
start local 1 6: ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$MyLanguageException;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 1 7: StackMap locals:
StackMap stack:
lconst_1
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLanguageInstrumentationLanguage.installInstrumentsCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
8: lconst_1
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLanguageInstrumentationLanguage.createContextCounter:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
9: aload 0
ldc "STATEMENT"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
10: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
6 7 1 ex Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
2 4 5 Class org.graalvm.polyglot.PolyglotException
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testInstrumentException1();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$OnCreateExcInstrument
dup
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$OnCreateExcInstrument.<init>:()V
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;)V
1: invokestatic org.junit.Assert.fail:()V
2: goto 5
StackMap locals:
StackMap stack: org.graalvm.polyglot.PolyglotException
3: astore 1
start local 1 4: aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
ldc "MyLanguageException"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
end local 1 5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
4 5 1 e Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
0 2 3 Class org.graalvm.polyglot.PolyglotException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testInstrumentException2();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=1
start local 0 0: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
astore 1
start local 1 1: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage.EXPRESSION:Ljava/lang/Class;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.tagIs:([Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$1
dup
aload 0
aload 2
aload 1
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$1.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger;)V
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
3: aload 0
ldc "ROOT(EXPRESSION)"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
4: ldc "No exception was thrown."
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
5: goto 8
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest java.util.concurrent.atomic.AtomicInteger java.util.concurrent.atomic.AtomicInteger
StackMap stack: org.graalvm.polyglot.PolyglotException
6: astore 3
start local 3 7: aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
ldc "MyLanguageException"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
end local 3 8: StackMap locals:
StackMap stack:
lconst_1
aload 1
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
9: lconst_0
aload 2
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 11 1 returnedExceptional Ljava/util/concurrent/atomic/AtomicInteger;
2 11 2 returnedValue Ljava/util/concurrent/atomic/AtomicInteger;
7 8 3 ex Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
3 5 6 Class org.graalvm.polyglot.PolyglotException
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testInstrumentException3();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=1
start local 0 0: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
astore 1
start local 1 1: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage.EXPRESSION:Ljava/lang/Class;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.tagIs:([Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$2
dup
aload 0
aload 1
aload 2
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$2.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger;)V
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
3: aload 0
ldc "ROOT(EXPRESSION)"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
4: ldc "No exception was thrown."
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
5: goto 8
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest java.util.concurrent.atomic.AtomicInteger java.util.concurrent.atomic.AtomicInteger
StackMap stack: org.graalvm.polyglot.PolyglotException
6: astore 3
start local 3 7: aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
ldc "MyLanguageException"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
end local 3 8: StackMap locals:
StackMap stack:
lconst_0
aload 1
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
9: lconst_1
aload 2
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 11 1 returnedExceptional Ljava/util/concurrent/atomic/AtomicInteger;
2 11 2 onEnter Ljava/util/concurrent/atomic/AtomicInteger;
7 8 3 ex Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
3 5 6 Class org.graalvm.polyglot.PolyglotException
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testInstrumentException4();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
invokestatic com.oracle.truffle.api.instrumentation.SourceFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceFilter$Builder;
invokedynamic test()Ljava/util/function/Predicate;
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;)Z
com/oracle/truffle/api/instrumentation/test/InstrumentationTest.lambda$0(Lcom/oracle/truffle/api/source/Source;)Z (6)
(Lcom/oracle/truffle/api/source/Source;)Z
invokevirtual com.oracle.truffle.api.instrumentation.SourceFilter$Builder.sourceIs:(Ljava/util/function/Predicate;)Lcom/oracle/truffle/api/instrumentation/SourceFilter$Builder;
1: invokevirtual com.oracle.truffle.api.instrumentation.SourceFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceFilter;
new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$3
dup
aload 0
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$3.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;)V
2: iconst_1
3: invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
4: aload 0
ldc "ROOT(EXPRESSION)"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
5: ldc "No exception was thrown."
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
6: goto 9
StackMap locals:
StackMap stack: org.graalvm.polyglot.PolyglotException
7: astore 1
start local 1 8: aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
ldc "MyLanguageException"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
end local 1 9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
8 9 1 ex Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
4 6 7 Class org.graalvm.polyglot.PolyglotException
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testInstrumentException5();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokedynamic test()Ljava/util/function/Predicate;
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;)Z
com/oracle/truffle/api/instrumentation/test/InstrumentationTest.lambda$1(Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.rootNameIs:(Ljava/util/function/Predicate;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
1: invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$4
dup
aload 0
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$4.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;)V
2: invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
3: aload 0
ldc "ROOT(EXPRESSION)"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
4: ldc "No exception was thrown."
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
5: goto 8
StackMap locals:
StackMap stack: org.graalvm.polyglot.PolyglotException
6: astore 1
start local 1 7: aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
ldc "MyLanguageException"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
end local 1 8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
7 8 1 ex Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
3 5 6 Class org.graalvm.polyglot.PolyglotException
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testLazyProbe1();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.close:()V
1: aload 0
aconst_null
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
2: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1
dup
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1.<init>:()V
astore 1
start local 1 3: aload 0
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.newContext:()Lorg/graalvm/polyglot/Context;
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;)V
4: aload 0
ldc "ROOT(DEFINE(foo, EXPRESSION))"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
5: aload 0
ldc "ROOT(DEFINE(bar, ROOT(EXPRESSION,EXPRESSION)))"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
6: lconst_0
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1.createCalls:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
7: lconst_0
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1.onEnter:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
8: lconst_0
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1.onReturnValue:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
9: lconst_0
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1.onReturnExceptional:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
10: aload 0
ldc "ROOT(CALL(foo))"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
11: lconst_1
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1.createCalls:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
12: lconst_1
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1.onEnter:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
13: lconst_1
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1.onReturnValue:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
14: lconst_0
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1.onReturnExceptional:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
15: aload 0
ldc "ROOT(CALL(bar))"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
16: ldc 3
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1.createCalls:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
17: ldc 3
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1.onEnter:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
18: ldc 3
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1.onReturnValue:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
19: lconst_0
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1.onReturnExceptional:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
20: aload 0
ldc "ROOT(CALL(bar))"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
21: ldc 3
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1.createCalls:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
22: ldc 5
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1.onEnter:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
23: ldc 5
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1.onReturnValue:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
24: lconst_0
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1.onReturnExceptional:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
25: aload 0
ldc "ROOT(CALL(foo))"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
26: ldc 3
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1.createCalls:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
27: ldc 6
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1.onEnter:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
28: ldc 6
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1.onReturnValue:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
29: lconst_0
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1.onReturnExceptional:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
30: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
3 31 1 instrument Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestLazyProbe1;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testEnvParse1();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.close:()V
1: aload 0
aconst_null
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
2: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParse1
dup
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParse1.<init>:()V
astore 1
start local 1 3: aload 0
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.newContext:()Lorg/graalvm/polyglot/Context;
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;)V
4: aload 0
ldc "STATEMENT"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
5: lconst_1
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParse1.onExpression:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
6: lconst_1
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParse1.onStatement:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
7: aload 0
ldc "STATEMENT"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
8: ldc 2
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParse1.onExpression:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
9: ldc 2
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParse1.onStatement:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
3 11 1 instrument Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestEnvParse1;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testEnvParseInline();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.close:()V
1: aload 0
aconst_null
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
2: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParseInline
dup
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParseInline.<init>:()V
astore 1
start local 1 3: aload 0
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.newContext:()Lorg/graalvm/polyglot/Context;
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;)V
4: aload 0
ldc "STATEMENT"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
5: lconst_1
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParseInline.onExpression:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
6: lconst_1
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParseInline.onStatement:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
7: aload 0
ldc "STATEMENT"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
8: ldc 2
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParseInline.onExpression:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
9: ldc 2
aload 1
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParseInline.onStatement:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
3 11 1 instrument Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestEnvParseInline;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testParseInlineDefault();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: ldc "testNoParseInline-lang"
ldc "STATEMENT"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage.STATEMENT:Ljava/lang/Class;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.tagIs:([Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$5
dup
aload 0
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$5.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;)V
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventFactory:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
2: aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Lorg/graalvm/polyglot/Source;)Ljava/lang/String;
pop
3: aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Lorg/graalvm/polyglot/Source;)Ljava/lang/String;
pop
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 5 1 source Lorg/graalvm/polyglot/Source;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testLegacyReceiver();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$ReceiverLegacyTester
dup
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$ReceiverLegacyTester.<init>:(Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)V
astore 1
start local 1 1: ldc "instrumentation-test-language"
2: ldc "ROOT(DEFINE(foo1, ROOT(STATEMENT)),DEFINE(foo2, ROOT(CALL(foo1), STATEMENT)),CALL(foo1),CALL_WITH(foo2, 42),CALL_WITH(foo1, 43))"
3: invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 2
start local 2 4: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.tagIs:([Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
5: aload 0
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Lorg/graalvm/polyglot/Source;)Ljava/lang/String;
pop
6: aload 1
iconst_4
anewarray java.lang.String
dup
iconst_0
aconst_null
aastore
dup
iconst_1
aconst_null
aastore
dup
iconst_2
ldc "42"
aastore
dup
iconst_3
ldc "43"
aastore
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest$ReceiverLegacyTester.assertReceivers:([Ljava/lang/String;)V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 8 1 tester Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$ReceiverLegacyTester;
4 8 2 source Lorg/graalvm/polyglot/Source;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testReceiver();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$ReceiverTester
dup
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$ReceiverTester.<init>:(Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)V
astore 1
start local 1 1: ldc "instrumentation-test-language"
2: ldc "ROOT(DEFINE(foo1, ROOT(STATEMENT)),DEFINE(foo2, ROOT(CALL(foo1), STATEMENT)),CALL(foo1),CALL_WITH(foo2, 42),CALL_WITH(foo1, 43))"
3: invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 2
start local 2 4: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.tagIs:([Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
5: aload 0
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Lorg/graalvm/polyglot/Source;)Ljava/lang/String;
pop
6: aload 1
iconst_4
anewarray java.lang.String
dup
iconst_0
aconst_null
aastore
dup
iconst_1
aconst_null
aastore
dup
iconst_2
ldc "42"
aastore
dup
iconst_3
ldc "43"
aastore
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest$ReceiverTester.assertReceivers:([Ljava/lang/String;)V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 8 1 tester Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$ReceiverTester;
4 8 2 source Lorg/graalvm/polyglot/Source;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testNearestExecutionNode();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$NearestExecutionNodeTester
dup
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$NearestExecutionNodeTester.<init>:()V
astore 1
start local 1 1: ldc "instrumentation-test-language"
2: ldc "ROOT(DEFINE(foo1, ROOT(STATEMENT, VARIABLE(a, 10), STATEMENT, EXPRESSION)),DEFINE(foo2, ROOT(EXPRESSION, CALL(foo1), STATEMENT, STATEMENT(EXPRESSION))))"
3: invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 2
start local 2 4: aload 1
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;
invokedynamic apply()Ljava/util/function/BiFunction;
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;Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/api/instrumentation/test/InstrumentationTest.lambda$2(Ljava/lang/Integer;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Boolean; (6)
(Ljava/lang/Integer;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Boolean;
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest$NearestExecutionNodeTester.set:(Ljava/lang/Class;Ljava/util/function/BiFunction;)V
5: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$6
dup
aload 0
aload 1
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$6.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$NearestExecutionNodeTester;)V
6: iconst_1
7: invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecuteSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
8: aload 0
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Lorg/graalvm/polyglot/Source;)Ljava/lang/String;
pop
9: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest$NearestExecutionNodeTester.getFailures:()Ljava/lang/String;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 11 1 tester Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$NearestExecutionNodeTester;
4 11 2 source Lorg/graalvm/polyglot/Source;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testInstrumentAll();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$7
dup
aload 0
aload 1
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$7.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;Ljava/util/concurrent/atomic/AtomicInteger;)V
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
2: aload 0
ldc "STATEMENT"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
3: ldc 2
aload 1
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 5 1 onStatement Ljava/util/concurrent/atomic/AtomicInteger;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testInstrumentNonInstrumentable();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$8
dup
aload 0
aload 1
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$8.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;Ljava/util/concurrent/atomic/AtomicInteger;)V
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
2: aload 0
ldc "DEFINE(foo, ROOT())"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
3: lconst_1
aload 1
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 5 1 onStatement Ljava/util/concurrent/atomic/AtomicInteger;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testOutputConsumer();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
ldc "PRINT(OUT, InitialToStdOut)"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: ldc "InitialToStdOut"
aload 1
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
2: aload 0
ldc "PRINT(ERR, InitialToStdErr)"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
3: ldc "InitialToStdErr"
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.err:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.err:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.reset:()V
5: aload 0
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "testOutputConsumerArray"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.assureEnabled:(Lorg/graalvm/polyglot/Instrument;)V
6: aload 0
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "testOutputConsumerPiped"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.assureEnabled:(Lorg/graalvm/polyglot/Instrument;)V
7: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "PRINT(OUT, OutputToStdOut)"
aastore
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest.lines:([Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
8: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "PRINT(ERR, OutputToStdErr)"
aastore
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest.lines:([Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
9: ldc "OutputToStdOut"
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.getOut:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
10: ldc "OutputToStdOut"
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerArray.getOut:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
11: ldc "OutputToStdErr"
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.getErr:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
12: ldc "OutputToStdErr"
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerArray.getErr:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
13: bipush 100
invokestatic java.nio.CharBuffer.allocate:(I)Ljava/nio/CharBuffer;
astore 2
start local 2 14: getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerPiped.fromOut:Ljava/io/Reader;
aload 2
invokevirtual java.io.Reader.read:(Ljava/nio/CharBuffer;)I
pop
15: aload 2
invokevirtual java.nio.CharBuffer.flip:()Ljava/nio/CharBuffer;
pop
16: ldc "OutputToStdOut"
aload 2
invokevirtual java.nio.CharBuffer.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
17: aload 2
invokevirtual java.nio.CharBuffer.rewind:()Ljava/nio/CharBuffer;
pop
18: getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerPiped.fromErr:Ljava/io/Reader;
aload 2
invokevirtual java.io.Reader.read:(Ljava/nio/CharBuffer;)I
pop
19: aload 2
invokevirtual java.nio.CharBuffer.flip:()Ljava/nio/CharBuffer;
pop
20: ldc "OutputToStdErr"
aload 2
invokevirtual java.nio.CharBuffer.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
21: aload 2
invokevirtual java.nio.CharBuffer.rewind:()Ljava/nio/CharBuffer;
pop
22: getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerPiped.fromErr:Ljava/io/Reader;
invokevirtual java.io.Reader.close:()V
23: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "PRINT(OUT, MoreOutputToStdOut)"
aastore
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest.lines:([Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
24: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "PRINT(ERR, MoreOutputToStdErr)"
aastore
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest.lines:([Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
25: ldc "OutputToStdOutMoreOutputToStdOut"
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.out:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
26: ldc "OutputToStdOutMoreOutputToStdOut"
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerArray.getOut:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
27: ldc "java.lang.Exception: Output operation write(B[II) failed for java.io.PipedOutputStream"
astore 3
start local 3 28: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.err:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.err:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
new java.lang.StringBuilder
dup
ldc "OutputToStdErr"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
29: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.err:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.err:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
ldc "MoreOutputToStdErr"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
30: ldc "OutputToStdErrMoreOutputToStdErr"
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerArray.getErr:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
31: aload 2
aload 2
invokevirtual java.nio.CharBuffer.capacity:()I
invokevirtual java.nio.CharBuffer.limit:(I)Ljava/nio/CharBuffer;
pop
32: getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerPiped.fromOut:Ljava/io/Reader;
aload 2
invokevirtual java.io.Reader.read:(Ljava/nio/CharBuffer;)I
pop
33: aload 2
invokevirtual java.nio.CharBuffer.flip:()Ljava/nio/CharBuffer;
pop
34: ldc "MoreOutputToStdOut"
aload 2
invokevirtual java.nio.CharBuffer.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
35: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.out:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.reset:()V
36: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.err:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.reset:()V
37: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "PRINT(ERR, EvenMoreOutputToStdErr)"
aastore
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest.lines:([Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
38: ldc "EvenMoreOutputToStdErr"
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.err:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
39: ldc "OutputToStdErrMoreOutputToStdErrEvenMoreOutputToStdErr"
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerArray.getErr:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
40: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.teardown:()V
41: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.setup:()V
42: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.out:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.reset:()V
43: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.err:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.reset:()V
44: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "PRINT(OUT, FinalOutputToStdOut)"
aastore
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest.lines:([Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
45: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "PRINT(ERR, FinalOutputToStdErr)"
aastore
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest.lines:([Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
46: ldc "FinalOutputToStdOut"
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.out:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
47: ldc "FinalOutputToStdErr"
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.err:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
48: ldc "OutputToStdOutMoreOutputToStdOut"
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerArray.getOut:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
49: ldc "OutputToStdErrMoreOutputToStdErrEvenMoreOutputToStdErr"
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerArray.getErr:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 3 end local 2 end local 1 50: goto 59
StackMap locals:
StackMap stack: java.lang.Throwable
51: astore 4
52: new java.io.PipedOutputStream
dup
invokespecial java.io.PipedOutputStream.<init>:()V
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerPiped.out:Ljava/io/PipedOutputStream;
53: aconst_null
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerPiped.fromOut:Ljava/io/Reader;
54: new java.io.PipedOutputStream
dup
invokespecial java.io.PipedOutputStream.<init>:()V
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerPiped.err:Ljava/io/PipedOutputStream;
55: aconst_null
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerPiped.fromErr:Ljava/io/Reader;
56: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerArray.out:Ljava/io/ByteArrayOutputStream;
57: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerArray.err:Ljava/io/ByteArrayOutputStream;
58: aload 4
athrow
59: StackMap locals:
StackMap stack:
new java.io.PipedOutputStream
dup
invokespecial java.io.PipedOutputStream.<init>:()V
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerPiped.out:Ljava/io/PipedOutputStream;
60: aconst_null
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerPiped.fromOut:Ljava/io/Reader;
61: new java.io.PipedOutputStream
dup
invokespecial java.io.PipedOutputStream.<init>:()V
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerPiped.err:Ljava/io/PipedOutputStream;
62: aconst_null
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerPiped.fromErr:Ljava/io/Reader;
63: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerArray.out:Ljava/io/ByteArrayOutputStream;
64: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerArray.err:Ljava/io/ByteArrayOutputStream;
65: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 66 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 50 1 rout Ljava/lang/String;
14 50 2 buff Ljava/nio/CharBuffer;
28 50 3 errorMsg Ljava/lang/String;
Exception table:
from to target type
0 51 51 any
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testKillExceptionOnEnter();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$9
dup
aload 0
aload 1
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$9.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;Ljava/util/concurrent/atomic/AtomicInteger;)V
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
2: aload 0
ldc "STATEMENT"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
3: ldc "KillException in onEnter() cancels engine execution"
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
4: goto 7
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest java.util.concurrent.atomic.AtomicInteger
StackMap stack: org.graalvm.polyglot.PolyglotException
5: astore 2
start local 2 6: aload 2
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 2
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$MyKillException;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
end local 2 7: StackMap locals:
StackMap stack:
ldc "KillException is not an execution event"
lconst_0
aload 1
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 9 1 returnExceptionalCount Ljava/util/concurrent/atomic/AtomicInteger;
6 7 2 ex Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
2 4 5 Class org.graalvm.polyglot.PolyglotException
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testKillExceptionOnReturnValue();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$10
dup
aload 0
aload 1
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$10.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;Ljava/util/concurrent/atomic/AtomicInteger;)V
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
2: aload 0
ldc "STATEMENT"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
3: ldc "KillException in onReturnValue() cancels engine execution"
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
4: goto 7
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest java.util.concurrent.atomic.AtomicInteger
StackMap stack: org.graalvm.polyglot.PolyglotException
5: astore 2
start local 2 6: aload 2
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
aload 2
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$MyKillException;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
end local 2 7: StackMap locals:
StackMap stack:
ldc "KillException is not an execution event"
lconst_0
aload 1
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 9 1 returnExceptionalCount Ljava/util/concurrent/atomic/AtomicInteger;
6 7 2 ex Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
2 4 5 Class org.graalvm.polyglot.PolyglotException
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testUsedTagNotRequired1();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "testUsedTagNotRequired1"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.assureEnabled:(Lorg/graalvm/polyglot/Instrument;)V
1: aload 0
ldc "ROOT()"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
org.junit.Ignore()
public void testQueryTags1();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "testIsNodeTaggedWith1"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 1
start local 1 1: aload 1
ldc Lcom/oracle/truffle/api/instrumentation/Instrumenter;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.Instrumenter
astore 2
start local 2 2: aconst_null
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1.expressionNode:Lcom/oracle/truffle/api/nodes/Node;
3: aconst_null
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1.statementNode:Lcom/oracle/truffle/api/nodes/Node;
4: aload 2
new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$11
dup
aload 0
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$11.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;)V
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.queryTags:(Lcom/oracle/truffle/api/nodes/Node;)Ljava/util/Set;
5: invokeinterface java.util.Set.isEmpty:()Z
6: invokestatic org.junit.Assert.assertTrue:(Z)V
7: aload 0
ldc "STATEMENT(EXPRESSION)"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
8: aload 2
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1.expressionNode:Lcom/oracle/truffle/api/nodes/Node;
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.queryTags:(Lcom/oracle/truffle/api/nodes/Node;)Ljava/util/Set;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage.EXPRESSION:Ljava/lang/Class;
aastore
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest.assertTags:(Ljava/util/Set;[Ljava/lang/Class;)V
9: aload 2
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1.statementNode:Lcom/oracle/truffle/api/nodes/Node;
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.queryTags:(Lcom/oracle/truffle/api/nodes/Node;)Ljava/util/Set;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage.STATEMENT:Ljava/lang/Class;
aastore
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest.assertTags:(Ljava/util/Set;[Ljava/lang/Class;)V
10: aload 2
aconst_null
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.queryTags:(Lcom/oracle/truffle/api/nodes/Node;)Ljava/util/Set;
pop
11: invokestatic org.junit.Assert.fail:()V
12: goto 14
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest org.graalvm.polyglot.Instrument com.oracle.truffle.api.instrumentation.Instrumenter
StackMap stack: java.lang.NullPointerException
13: pop
14: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 15 1 instrument Lorg/graalvm/polyglot/Instrument;
2 15 2 instrumenter Lcom/oracle/truffle/api/instrumentation/Instrumenter;
Exception table:
from to target type
10 12 13 Class java.lang.NullPointerException
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
private static void assertTags(java.util.Set<java.lang.Class<?>>, java.lang.Class<?>[]);
descriptor: (Ljava/util/Set;[Ljava/lang/Class;)V
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
arraylength
i2l
aload 0
invokeinterface java.util.Set.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
1: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: java.util.Set java.lang.Class[] top int int java.lang.Class[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: new java.lang.StringBuilder
dup
ldc "Tag: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 0
aload 2
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
end local 2 4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 2
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 tags Ljava/util/Set<Ljava/lang/Class<*>;>;
0 7 1 expectedTags [Ljava/lang/Class;
3 4 2 clazz Ljava/lang/Class<*>;
Signature: (Ljava/util/Set<Ljava/lang/Class<*>;>;[Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
tags
expectedTags
public void testQueryTags2();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "testIsNodeTaggedWith1"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 1
start local 1 1: aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.assureEnabled:(Lorg/graalvm/polyglot/Instrument;)V
2: aconst_null
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1.expressionNode:Lcom/oracle/truffle/api/nodes/Node;
3: aconst_null
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1.statementNode:Lcom/oracle/truffle/api/nodes/Node;
4: aconst_null
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1Language.instrumenter:Lcom/oracle/truffle/api/instrumentation/Instrumenter;
5: ldc "testIsNodeTaggedWith1-lang"
ldc "STATEMENT(EXPRESSION)"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 2
start local 2 6: aload 0
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Lorg/graalvm/polyglot/Source;)Ljava/lang/String;
pop
7: getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1Language.instrumenter:Lcom/oracle/truffle/api/instrumentation/Instrumenter;
astore 3
start local 3 8: getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1.expressionNode:Lcom/oracle/truffle/api/nodes/Node;
astore 4
start local 4 9: getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1.statementNode:Lcom/oracle/truffle/api/nodes/Node;
astore 5
start local 5 10: aload 3
aload 4
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.queryTags:(Lcom/oracle/truffle/api/nodes/Node;)Ljava/util/Set;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage.EXPRESSION:Ljava/lang/Class;
aastore
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest.assertTags:(Ljava/util/Set;[Ljava/lang/Class;)V
11: aload 3
aload 5
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.queryTags:(Lcom/oracle/truffle/api/nodes/Node;)Ljava/util/Set;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage.STATEMENT:Ljava/lang/Class;
aastore
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest.assertTags:(Ljava/util/Set;[Ljava/lang/Class;)V
12: aconst_null
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1.expressionNode:Lcom/oracle/truffle/api/nodes/Node;
13: aconst_null
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1.statementNode:Lcom/oracle/truffle/api/nodes/Node;
14: aload 0
ldc "EXPRESSION"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
15: getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1.expressionNode:Lcom/oracle/truffle/api/nodes/Node;
astore 6
start local 6 16: aload 3
aload 6
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.queryTags:(Lcom/oracle/truffle/api/nodes/Node;)Ljava/util/Set;
pop
17: invokestatic org.junit.Assert.fail:()V
18: goto 20
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest org.graalvm.polyglot.Instrument org.graalvm.polyglot.Source com.oracle.truffle.api.instrumentation.Instrumenter com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.nodes.Node
StackMap stack: java.lang.IllegalArgumentException
19: pop
20: StackMap locals:
StackMap stack:
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/api/instrumentation/test/InstrumentationTest;
1 21 1 instrument Lorg/graalvm/polyglot/Instrument;
6 21 2 otherLanguageSource Lorg/graalvm/polyglot/Source;
8 21 3 instrumenter Lcom/oracle/truffle/api/instrumentation/Instrumenter;
9 21 4 languageExpression Lcom/oracle/truffle/api/nodes/Node;
10 21 5 languageStatement Lcom/oracle/truffle/api/nodes/Node;
16 21 6 otherLanguageExpression Lcom/oracle/truffle/api/nodes/Node;
Exception table:
from to target type
16 18 19 Class java.lang.IllegalArgumentException
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testInstrumentsWhenForked();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "testIsNodeTaggedWith1"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 1
start local 1 1: aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.assureEnabled:(Lorg/graalvm/polyglot/Instrument;)V
2: aload 1
ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestIsNodeTaggedWith1;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1
astore 2
start local 2 3: lconst_1
aload 2
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1.onCreateCalls:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
4: ldc "testIsNodeTaggedWith1-lang"
ldc "STATEMENT(EXPRESSION)"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 3
start local 3 5: aload 0
aload 3
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Lorg/graalvm/polyglot/Source;)Ljava/lang/String;
pop
6: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.newContext:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 7: lconst_1
aload 2
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1.onCreateCalls:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
8: aload 4
invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
astore 5
start local 5 9: aload 1
aload 5
ldc "testIsNodeTaggedWith1"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
10: aload 2
aload 5
ldc "testIsNodeTaggedWith1"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestIsNodeTaggedWith1;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
11: aload 5
invokeinterface java.util.Map.size:()I
i2l
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
invokeinterface java.util.Map.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
12: aload 5
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 15
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest org.graalvm.polyglot.Instrument com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1 org.graalvm.polyglot.Source org.graalvm.polyglot.Context java.util.Map top java.util.Iterator
StackMap stack:
13: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 14: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
aload 5
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 6 15: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
16: lconst_0
aload 2
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1.onDisposeCalls:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
17: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.cleanup:()V
18: lconst_0
aload 2
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1.onDisposeCalls:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
19: aload 4
invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.close:()V
20: lconst_1
aload 2
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1.onDisposeCalls:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
21: aload 0
aconst_null
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
22: 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 23 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 23 1 instrument Lorg/graalvm/polyglot/Instrument;
3 23 2 service Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestIsNodeTaggedWith1;
5 23 3 otherLanguageSource Lorg/graalvm/polyglot/Source;
7 23 4 forked Lorg/graalvm/polyglot/Context;
9 23 5 instruments Ljava/util/Map<Ljava/lang/String;+Lorg/graalvm/polyglot/Instrument;>;
14 15 6 key Ljava/lang/String;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testNullEventNode();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=1
start local 0 0: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
astore 1
start local 1 1: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
iconst_2
anewarray java.lang.Class
dup
iconst_0
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage.STATEMENT:Ljava/lang/Class;
aastore
dup
iconst_1
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage.EXPRESSION:Ljava/lang/Class;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.tagIs:([Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
3: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$12
dup
aload 0
aload 1
aload 2
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$12.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger;)V
4: invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventFactory:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
5: lconst_0
aload 1
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
6: lconst_0
aload 2
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
7: aload 0
ldc "STATEMENT(EXPRESSION)"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
8: aload 1
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
aload 1
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
iconst_2
if_icmplt 9
iconst_1
goto 10
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest java.util.concurrent.atomic.AtomicInteger java.util.concurrent.atomic.AtomicInteger
StackMap stack: java.lang.String
9: iconst_0
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest java.util.concurrent.atomic.AtomicInteger java.util.concurrent.atomic.AtomicInteger
StackMap stack: java.lang.String int
10: invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
11: lconst_1
aload 2
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
12: aload 1
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
13: aload 2
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
14: aload 0
ldc "ROOT(STATEMENT(), EXPRESSION(), STATEMENT(), EXPRESSION())"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
15: aload 1
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
aload 1
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
iconst_4
if_icmplt 16
iconst_1
goto 17
StackMap locals:
StackMap stack: java.lang.String
16: iconst_0
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest java.util.concurrent.atomic.AtomicInteger java.util.concurrent.atomic.AtomicInteger
StackMap stack: java.lang.String int
17: invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
18: ldc 2
aload 2
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
19: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 20 1 onNodeCreateCalls Ljava/util/concurrent/atomic/AtomicInteger;
2 20 2 onNodeEnterCalls Ljava/util/concurrent/atomic/AtomicInteger;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testRootBodies();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$RootTag;
aastore
dup
iconst_1
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$RootBodyTag;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.tagIs:([Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
2: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$13
dup
aload 0
aload 1
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$13.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;Ljava/lang/StringBuilder;)V
3: invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventFactory:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
4: ldc ""
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
5: aload 0
ldc "ROOT(STATEMENT())"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
6: ldc "InRBOutBR"
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: aload 1
iconst_0
aload 1
invokevirtual java.lang.StringBuilder.length:()I
invokevirtual java.lang.StringBuilder.delete:(II)Ljava/lang/StringBuilder;
pop
8: aload 0
ldc "ROOT(STATEMENT(), ROOT_BODY(EXPRESSION()), EXPRESSION())"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
9: ldc "InRInBOutBOutR"
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 11 1 tags Ljava/lang/StringBuilder;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
private void setupEngine(com.oracle.truffle.api.test.polyglot.ProxyInstrument, org.graalvm.polyglot.Source, boolean);
descriptor: (Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;Lorg/graalvm/polyglot/Source;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.teardown:()V
1: getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage.envConfig:Ljava/util/Map;
ldc "initSource"
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage.envConfig:Ljava/util/Map;
ldc "runInitAfterExec"
iload 3
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 0
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.newContext:()Lorg/graalvm/polyglot/Context;
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
0 5 1 instrument Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;
0 5 2 initSource Lorg/graalvm/polyglot/Source;
0 5 3 runInitAfterExec Z
MethodParameters:
Name Flags
instrument
initSource
runInitAfterExec
public void testAccessInstruments();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "testAccessInstruments"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 1
start local 1 1: aload 1
ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestAccessInstruments;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstruments
astore 2
start local 2 2: aload 2
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstruments.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstruments:()Ljava/util/Map;
ldc "testAccessInstruments"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.InstrumentInfo
astore 3
start local 3 3: aload 3
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
4: ldc "testAccessInstruments"
aload 3
invokevirtual com.oracle.truffle.api.InstrumentInfo.getId:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
5: ldc "name"
aload 3
invokevirtual com.oracle.truffle.api.InstrumentInfo.getName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: ldc "version"
aload 3
invokevirtual com.oracle.truffle.api.InstrumentInfo.getVersion:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: aload 2
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstruments.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
aload 3
ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestAccessInstruments;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.lookup:(Lcom/oracle/truffle/api/InstrumentInfo;Ljava/lang/Class;)Ljava/lang/Object;
pop
8: invokestatic org.junit.Assert.fail:()V
9: goto 11
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest org.graalvm.polyglot.Instrument com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstruments com.oracle.truffle.api.InstrumentInfo
StackMap stack: java.lang.IllegalArgumentException
10: pop
11: StackMap locals:
StackMap stack:
iconst_0
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstrumentsOther.initializedCount:I
12: aload 2
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstruments.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstruments:()Ljava/util/Map;
ldc "testAccessInstrumentsOther"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.InstrumentInfo
astore 4
start local 4 13: aload 4
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
14: ldc "testAccessInstrumentsOther"
aload 4
invokevirtual com.oracle.truffle.api.InstrumentInfo.getId:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
15: ldc "otherName"
aload 4
invokevirtual com.oracle.truffle.api.InstrumentInfo.getName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
16: ldc "otherVersion"
aload 4
invokevirtual com.oracle.truffle.api.InstrumentInfo.getVersion:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
17: lconst_0
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstrumentsOther.initializedCount:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
18: aload 2
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstruments.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
aload 4
ldc Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.lookup:(Lcom/oracle/truffle/api/InstrumentInfo;Ljava/lang/Class;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
19: lconst_0
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstrumentsOther.initializedCount:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
20: aload 2
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstruments.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
aload 4
ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestAccessInstrumentsOther;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.lookup:(Lcom/oracle/truffle/api/InstrumentInfo;Ljava/lang/Class;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
21: lconst_1
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstrumentsOther.initializedCount:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
22: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 5
start local 5 23: aload 1
ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestAccessInstruments;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstruments
aload 5
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstruments.onCallsLogger:Ljava/lang/StringBuilder;
24: aload 2
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstruments.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
aload 4
ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestAccessInstrumentsOther;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.lookup:(Lcom/oracle/truffle/api/InstrumentInfo;Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstrumentsOther
aload 5
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstrumentsOther.onCallsLogger:Ljava/lang/StringBuilder;
25: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.teardown:()V
26: ldc "FFDD"
aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
27: 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 28 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 28 1 instrument Lorg/graalvm/polyglot/Instrument;
2 28 2 access Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestAccessInstruments;
3 28 3 info Lcom/oracle/truffle/api/InstrumentInfo;
13 28 4 other Lcom/oracle/truffle/api/InstrumentInfo;
23 28 5 onCallsLogger Ljava/lang/StringBuilder;
Exception table:
from to target type
7 9 10 Class java.lang.IllegalArgumentException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testAccessLanguages();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "testAccessInstruments"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 1
start local 1 1: aload 1
ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestAccessInstruments;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstruments
astore 2
start local 2 2: aload 2
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstruments.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getLanguages:()Ljava/util/Map;
ldc "instrumentation-test-language"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.nodes.LanguageInfo
astore 3
start local 3 3: aload 3
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
4: ldc "instrumentation-test-language"
aload 3
invokevirtual com.oracle.truffle.api.nodes.LanguageInfo.getId:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
5: ldc "2.0"
aload 3
invokevirtual com.oracle.truffle.api.nodes.LanguageInfo.getVersion:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.enter:()V
7: aload 2
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstruments.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
aload 3
ldc Lcom/oracle/truffle/api/instrumentation/test/SpecialService;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.lookup:(Lcom/oracle/truffle/api/nodes/LanguageInfo;Ljava/lang/Class;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
8: ldc ".titl"
aload 2
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstruments.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
aload 3
ldc Lcom/oracle/truffle/api/instrumentation/test/SpecialService;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.lookup:(Lcom/oracle/truffle/api/nodes/LanguageInfo;Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.SpecialService
invokeinterface com.oracle.truffle.api.instrumentation.test.SpecialService.fileExtension:()Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.leave:()V
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 11 1 instrument Lorg/graalvm/polyglot/Instrument;
2 11 2 access Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestAccessInstruments;
3 11 3 info Lcom/oracle/truffle/api/nodes/LanguageInfo;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testAccessInternalInstruments();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "testAccessInstruments"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 1
start local 1 1: aload 1
ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestAccessInstruments;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstruments
astore 2
start local 2 2: aload 2
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstruments.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstruments:()Ljava/util/Map;
ldc "testAccessInternalInstruments"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.InstrumentInfo
astore 3
start local 3 3: aload 3
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
4: aload 2
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstruments.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
aload 3
ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestAccessInternalInstruments;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.lookup:(Lcom/oracle/truffle/api/InstrumentInfo;Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInternalInstruments
astore 4
start local 4 5: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.teardown:()V
6: ldc "CFD"
aload 4
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInternalInstruments.onCallsLogger:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 8 1 instrument Lorg/graalvm/polyglot/Instrument;
2 8 2 access Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestAccessInstruments;
3 8 3 internalInfo Lcom/oracle/truffle/api/InstrumentInfo;
5 8 4 internal Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestAccessInternalInstruments;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testAccessInstrumentFromLanguage();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
ldc "instrumentation-test-language"
invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
pop
1: invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage.currentEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
astore 1
start local 1 2: aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInternalLanguages:()Ljava/util/Map;
ldc "instrumentation-test-language"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.nodes.LanguageInfo
astore 2
start local 2 3: aload 2
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
4: ldc "instrumentation-test-language"
aload 2
invokevirtual com.oracle.truffle.api.nodes.LanguageInfo.getId:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
5: ldc "2.0"
aload 2
invokevirtual com.oracle.truffle.api.nodes.LanguageInfo.getVersion:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInstruments:()Ljava/util/Map;
ldc "testAccessInstruments"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.InstrumentInfo
astore 3
start local 3 7: aload 3
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
8: ldc "testAccessInstruments"
aload 3
invokevirtual com.oracle.truffle.api.InstrumentInfo.getId:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: ldc "name"
aload 3
invokevirtual com.oracle.truffle.api.InstrumentInfo.getName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
10: ldc "version"
aload 3
invokevirtual com.oracle.truffle.api.InstrumentInfo.getVersion:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
11: aload 1
aload 3
ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestAccessInstruments;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.lookup:(Lcom/oracle/truffle/api/InstrumentInfo;Ljava/lang/Class;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
12: aload 1
aload 3
ldc Lcom/oracle/truffle/api/instrumentation/test/SpecialService;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.lookup:(Lcom/oracle/truffle/api/InstrumentInfo;Ljava/lang/Class;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
13: aload 1
aload 2
ldc Lcom/oracle/truffle/api/instrumentation/test/SpecialService;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.lookup:(Lcom/oracle/truffle/api/nodes/LanguageInfo;Ljava/lang/Class;)Ljava/lang/Object;
pop
14: invokestatic org.junit.Assert.fail:()V
15: goto 17
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest com.oracle.truffle.api.TruffleLanguage$Env com.oracle.truffle.api.nodes.LanguageInfo com.oracle.truffle.api.InstrumentInfo
StackMap stack: java.lang.Exception
16: pop
17: StackMap locals:
StackMap stack:
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/api/instrumentation/test/InstrumentationTest;
2 18 1 env Lcom/oracle/truffle/api/TruffleLanguage$Env;
3 18 2 langInfo Lcom/oracle/truffle/api/nodes/LanguageInfo;
7 18 3 instrInfo Lcom/oracle/truffle/api/InstrumentInfo;
Exception table:
from to target type
13 15 16 Class java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void testLanguageInitializedOrNot();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: ldc "instrumentation-test-language"
ldc "STATEMENT(EXPRESSION, EXPRESSION)"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 1
start local 1 1: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLangInitialized
dup
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLangInitialized.<init>:()V
astore 2
start local 2 2: aload 0
aload 2
aload 1
iconst_0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.setupEngine:(Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;Lorg/graalvm/polyglot/Source;Z)V
3: aload 2
iconst_1
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLangInitialized.initializationEvents:Z
4: aload 0
ldc "LOOP(2, STATEMENT())"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
5: ldc "[FunctionRootNode, false, StatementNode, false, ExpressionNode, false, ExpressionNode, false, FunctionRootNode, true, WhileLoopNode, true, StatementNode, true, StatementNode, true]"
6: aload 2
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLangInitialized.getEnteredNodes:()Ljava/lang/String;
7: invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 9 1 initSource Lorg/graalvm/polyglot/Source;
2 9 2 instrument Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestLangInitialized;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void testLanguageInitializedOnly();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: ldc "instrumentation-test-language"
ldc "STATEMENT(EXPRESSION, EXPRESSION)"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 1
start local 1 1: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLangInitialized
dup
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLangInitialized.<init>:()V
astore 2
start local 2 2: aload 0
aload 2
aload 1
iconst_0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.setupEngine:(Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;Lorg/graalvm/polyglot/Source;Z)V
3: aload 2
iconst_0
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLangInitialized.initializationEvents:Z
4: aload 0
ldc "LOOP(2, STATEMENT())"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
5: ldc "[FunctionRootNode, true, WhileLoopNode, true, StatementNode, true, StatementNode, true]"
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLangInitialized.getEnteredNodes:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 7 1 initSource Lorg/graalvm/polyglot/Source;
2 7 2 instrument Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestLangInitialized;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void testLanguageInitializedOrNotAppend();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: ldc "instrumentation-test-language"
ldc "STATEMENT(EXPRESSION, EXPRESSION)"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 1
start local 1 1: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLangInitialized
dup
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLangInitialized.<init>:()V
astore 2
start local 2 2: aload 0
aload 2
aload 1
iconst_1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.setupEngine:(Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;Lorg/graalvm/polyglot/Source;Z)V
3: aload 2
iconst_1
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLangInitialized.initializationEvents:Z
4: aload 0
ldc "LOOP(2, STATEMENT())"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
5: ldc "[FunctionRootNode, false, StatementNode, false, ExpressionNode, false, ExpressionNode, false, FunctionRootNode, true, WhileLoopNode, true, StatementNode, true, StatementNode, true, FunctionRootNode, true, StatementNode, true, ExpressionNode, true, ExpressionNode, true]"
6: aload 2
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLangInitialized.getEnteredNodes:()Ljava/lang/String;
7: invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 9 1 initSource Lorg/graalvm/polyglot/Source;
2 9 2 instrument Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestLangInitialized;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void testLanguageInitializedOnlyAppend();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: ldc "instrumentation-test-language"
ldc "STATEMENT(EXPRESSION, EXPRESSION)"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 1
start local 1 1: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLangInitialized
dup
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLangInitialized.<init>:()V
astore 2
start local 2 2: aload 0
aload 2
aload 1
iconst_1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.setupEngine:(Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;Lorg/graalvm/polyglot/Source;Z)V
3: aload 2
iconst_0
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLangInitialized.initializationEvents:Z
4: aload 0
ldc "LOOP(2, STATEMENT())"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
5: ldc "[FunctionRootNode, true, WhileLoopNode, true, StatementNode, true, StatementNode, true, FunctionRootNode, true, StatementNode, true, ExpressionNode, true, ExpressionNode, true]"
6: aload 2
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLangInitialized.getEnteredNodes:()Ljava/lang/String;
7: invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 9 1 initSource Lorg/graalvm/polyglot/Source;
2 9 2 instrument Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestLangInitialized;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void testErrorPropagationCreate();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: ldc "instrumentation-test-language"
ldc "EXPRESSION"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$14
dup
aload 0
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$14.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;)V
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventFactory:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
2: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
3: invokestatic org.junit.Assert.fail:()V
4: goto 10
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest org.graalvm.polyglot.Source
StackMap stack: org.graalvm.polyglot.PolyglotException
5: astore 2
start local 2 6: aload 2
invokevirtual org.graalvm.polyglot.PolyglotException.isInternalError:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
7: ldc "java.lang.IllegalStateException: Error propagation is not supported in ExecutionEventNodeFactory.create(EventContext). Errors propagated in this method may result in an AST that never stabilizes. Propagate the error in one of the execution event node events like onEnter, onInputValue, onReturn or onReturnExceptional to resolve this problem."
8: aload 2
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
9: invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 2 10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 11 1 source Lorg/graalvm/polyglot/Source;
6 10 2 e Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
2 4 5 Class org.graalvm.polyglot.PolyglotException
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void testErrorPropagationOnEnter();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: ldc "instrumentation-test-language"
ldc "EXPRESSION"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$15
dup
aload 0
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$15.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;)V
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
3: invokestatic org.junit.Assert.fail:()V
4: goto 9
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest org.graalvm.polyglot.Source com.oracle.truffle.api.instrumentation.EventBinding
StackMap stack: org.graalvm.polyglot.PolyglotException
5: astore 3
start local 3 6: aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.toString:()Ljava/lang/String;
aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.isInternalError:()Z
invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
7: ldc "test"
aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: aload 1
invokevirtual org.graalvm.polyglot.Source.getCharacters:()Ljava/lang/CharSequence;
aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.getSourceLocation:()Lorg/graalvm/polyglot/SourceSection;
invokevirtual org.graalvm.polyglot.SourceSection.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 3 9: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 11 1 source Lorg/graalvm/polyglot/Source;
2 11 2 b Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
6 9 3 e Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
2 4 5 Class org.graalvm.polyglot.PolyglotException
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void testErrorPropagationOnReturn();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: ldc "instrumentation-test-language"
ldc "EXPRESSION"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$16
dup
aload 0
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$16.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;)V
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
3: invokestatic org.junit.Assert.fail:()V
4: goto 9
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest org.graalvm.polyglot.Source com.oracle.truffle.api.instrumentation.EventBinding
StackMap stack: org.graalvm.polyglot.PolyglotException
5: astore 3
start local 3 6: aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.toString:()Ljava/lang/String;
aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.isInternalError:()Z
invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
7: ldc "test"
aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: aload 1
invokevirtual org.graalvm.polyglot.Source.getCharacters:()Ljava/lang/CharSequence;
aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.getSourceLocation:()Lorg/graalvm/polyglot/SourceSection;
invokevirtual org.graalvm.polyglot.SourceSection.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 3 9: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 11 1 source Lorg/graalvm/polyglot/Source;
2 11 2 b Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
6 9 3 e Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
2 4 5 Class org.graalvm.polyglot.PolyglotException
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void testErrorPropagationOnReturnExceptional();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: ldc "instrumentation-test-language"
ldc "EXPRESSION(THROW(test, test))"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$17
dup
aload 0
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$17.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;)V
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
3: invokestatic org.junit.Assert.fail:()V
4: goto 9
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest org.graalvm.polyglot.Source com.oracle.truffle.api.instrumentation.EventBinding
StackMap stack: org.graalvm.polyglot.PolyglotException
5: astore 3
start local 3 6: aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.toString:()Ljava/lang/String;
aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.isInternalError:()Z
invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
7: ldc "test"
aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: aload 1
invokevirtual org.graalvm.polyglot.Source.getCharacters:()Ljava/lang/CharSequence;
aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.getSourceLocation:()Lorg/graalvm/polyglot/SourceSection;
invokevirtual org.graalvm.polyglot.SourceSection.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 3 9: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 11 1 source Lorg/graalvm/polyglot/Source;
2 11 2 b Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
6 9 3 e Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
2 4 5 Class org.graalvm.polyglot.PolyglotException
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void testErrorPropagationOnInputValue();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: ldc "instrumentation-test-language"
ldc "EXPRESSION(EXPRESSION)"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
aload 0
invokedynamic create(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;
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:
(Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
com/oracle/truffle/api/instrumentation/test/InstrumentationTest.lambda$3(Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode; (7)
(Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventFactory:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
3: invokestatic org.junit.Assert.fail:()V
4: goto 9
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest org.graalvm.polyglot.Source com.oracle.truffle.api.instrumentation.EventBinding
StackMap stack: org.graalvm.polyglot.PolyglotException
5: astore 3
start local 3 6: aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.toString:()Ljava/lang/String;
aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.isInternalError:()Z
invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
7: ldc "test"
aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: aload 1
invokevirtual org.graalvm.polyglot.Source.getCharacters:()Ljava/lang/CharSequence;
aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.getSourceLocation:()Lorg/graalvm/polyglot/SourceSection;
invokevirtual org.graalvm.polyglot.SourceSection.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 3 9: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 11 1 source Lorg/graalvm/polyglot/Source;
2 11 2 b Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
6 9 3 e Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
2 4 5 Class org.graalvm.polyglot.PolyglotException
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void testErrorPropagationOnUnwind();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: ldc "instrumentation-test-language"
ldc "EXPRESSION"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
aload 0
invokedynamic create(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;
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:
(Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
com/oracle/truffle/api/instrumentation/test/InstrumentationTest.lambda$4(Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode; (7)
(Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventFactory:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
3: invokestatic org.junit.Assert.fail:()V
4: goto 9
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest org.graalvm.polyglot.Source com.oracle.truffle.api.instrumentation.EventBinding
StackMap stack: org.graalvm.polyglot.PolyglotException
5: astore 3
start local 3 6: aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.toString:()Ljava/lang/String;
aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.isInternalError:()Z
invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
7: ldc "test"
aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: aload 1
invokevirtual org.graalvm.polyglot.Source.getCharacters:()Ljava/lang/CharSequence;
aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.getSourceLocation:()Lorg/graalvm/polyglot/SourceSection;
invokevirtual org.graalvm.polyglot.SourceSection.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 3 9: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 11 1 source Lorg/graalvm/polyglot/Source;
2 11 2 b Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
6 9 3 e Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
2 4 5 Class org.graalvm.polyglot.PolyglotException
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void testErrorPropagationOnReturnSuppressed();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: ldc "instrumentation-test-language"
ldc "EXPRESSION"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
aload 0
invokedynamic create(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;
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:
(Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
com/oracle/truffle/api/instrumentation/test/InstrumentationTest.lambda$5(Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode; (7)
(Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventFactory:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
aload 0
invokedynamic create(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;
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:
(Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
com/oracle/truffle/api/instrumentation/test/InstrumentationTest.lambda$6(Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode; (7)
(Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventFactory:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
astore 3
start local 3 3: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
4: invokestatic org.junit.Assert.fail:()V
5: goto 11
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest org.graalvm.polyglot.Source com.oracle.truffle.api.instrumentation.EventBinding com.oracle.truffle.api.instrumentation.EventBinding
StackMap stack: org.graalvm.polyglot.PolyglotException
6: astore 4
start local 4 7: aload 4
invokevirtual org.graalvm.polyglot.PolyglotException.toString:()Ljava/lang/String;
aload 4
invokevirtual org.graalvm.polyglot.PolyglotException.isInternalError:()Z
invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
8: ldc "test"
aload 4
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: aload 1
invokevirtual org.graalvm.polyglot.Source.getCharacters:()Ljava/lang/CharSequence;
aload 4
invokevirtual org.graalvm.polyglot.PolyglotException.getSourceLocation:()Lorg/graalvm/polyglot/SourceSection;
invokevirtual org.graalvm.polyglot.SourceSection.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
10: aload 4
invokevirtual org.graalvm.polyglot.PolyglotException.getSuppressed:()[Ljava/lang/Throwable;
pop
end local 4 11: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
12: aload 3
invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
13: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 14 1 source Lorg/graalvm/polyglot/Source;
2 14 2 b0 Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
3 14 3 b1 Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
7 11 4 e Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
3 5 6 Class org.graalvm.polyglot.PolyglotException
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void testAllocation();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAllocation
dup
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAllocation.<init>:()V
astore 1
start local 1 1: aload 0
iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;)V
2: aload 0
ldc "LOOP(3, VARIABLE(a, 10))"
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Ljava/lang/String;)Ljava/lang/String;
pop
3: ldc "[W 4 null, A 4 10, W 4 null, A 4 10, W 4 null, A 4 10]"
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAllocation.getAllocations:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 5 1 allocation Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestAllocation;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void testPolyglotBindings();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "bindings-test-instrument"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 1
start local 1 1: aload 1
ldc Ljava/util/function/Supplier;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.util.function.Supplier
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
astore 2
start local 2 2: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:()Lcom/oracle/truffle/api/interop/InteropLibrary;
astore 3
start local 3 3: aload 3
aload 2
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
4: aload 3
aload 2
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
5: aload 3
aload 2
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isExecutable:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
6: aload 3
aload 2
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isInstantiable:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
7: aload 3
aload 2
ldc "member1"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberExisting:(Ljava/lang/Object;Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
8: aload 3
aload 2
ldc "member2"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberExisting:(Ljava/lang/Object;Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
9: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
ldc "member1"
invokevirtual org.graalvm.polyglot.Value.hasMember:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
10: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
ldc "member2"
invokevirtual org.graalvm.polyglot.Value.hasMember:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
11: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
ldc "member1"
bipush 10
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
12: aload 3
aload 2
ldc "member1"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberExisting:(Ljava/lang/Object;Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
13: bipush 10
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 3
aload 2
ldc "member1"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
14: aload 3
aload 2
ldc "member1"
bipush 11
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.writeMember:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
15: aload 3
aload 2
ldc "member2"
bipush 20
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.writeMember:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
16: ldc 11
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
ldc "member1"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asInt:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
17: ldc 20
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
ldc "member2"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asInt:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
18: aload 3
aload 2
ldc "member1"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.removeMember:(Ljava/lang/Object;Ljava/lang/String;)V
19: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
ldc "member2"
invokevirtual org.graalvm.polyglot.Value.removeMember:(Ljava/lang/String;)Z
pop
20: aload 3
aload 2
ldc "member1"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberExisting:(Ljava/lang/Object;Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
21: aload 3
aload 2
ldc "member2"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberExisting:(Ljava/lang/Object;Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
22: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
ldc "member1"
invokevirtual org.graalvm.polyglot.Value.hasMember:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
23: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
ldc "member2"
invokevirtual org.graalvm.polyglot.Value.hasMember:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
24: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 25 1 bindingsTestInstrument Lorg/graalvm/polyglot/Instrument;
2 25 2 bindingsObject Ljava/lang/Object;
3 25 3 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void testAsynchronousStacks1();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: ldc Lcom/oracle/truffle/api/TruffleLanguage;
ldc "getAsynchronousStackDepth"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 1
start local 1 1: aload 1
iconst_1
invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
2: iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.language:Lcom/oracle/truffle/api/TruffleLanguage;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
iconst_2
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.setAsynchronousStackDepth:(I)V
4: iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.language:Lcom/oracle/truffle/api/TruffleLanguage;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 6 1 getAsynchronousStackDepthMethod Ljava/lang/reflect/Method;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void testAsynchronousStacks2();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$22
dup
aload 0
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.language:Lcom/oracle/truffle/api/TruffleLanguage;
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$22.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;Lcom/oracle/truffle/api/TruffleLanguage;)V
astore 1
start local 1 1: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 1
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
pop
2: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
iconst_0
anewarray java.lang.Object
aload 1
invokevirtual com.oracle.truffle.api.nodes.RootNode.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
invokeinterface com.oracle.truffle.api.TruffleRuntime.createMaterializedFrame:([Ljava/lang/Object;Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/api/frame/MaterializedFrame;
astore 2
start local 2 3: aload 1
invokevirtual com.oracle.truffle.api.nodes.RootNode.getCallTarget:()Lcom/oracle/truffle/api/RootCallTarget;
aload 2
invokestatic com.oracle.truffle.api.TruffleStackTrace.getAsynchronousStackTrace:(Lcom/oracle/truffle/api/CallTarget;Lcom/oracle/truffle/api/frame/Frame;)Ljava/util/List;
astore 3
start local 3 4: aload 3
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 6 1 root Lcom/oracle/truffle/api/nodes/RootNode;
3 6 2 frame Lcom/oracle/truffle/api/frame/Frame;
4 6 3 stack Ljava/util/List<Lcom/oracle/truffle/api/TruffleStackTraceElement;>;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testAsynchronousStacks3();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$23
dup
aload 0
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$23.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;)V
invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
pop
1: new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
astore 1
start local 1 2: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$24
dup
aload 0
aload 1
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$24.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;Ljava/util/concurrent/atomic/AtomicReference;)V
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
3: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.context:Lorg/graalvm/polyglot/Context;
ldc "proxyLanguage"
ldc ""
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asInt:()I
istore 2
start local 2 4: ldc 42
iload 2
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
5: aload 1
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast java.util.List
astore 3
start local 3 6: bipush 10
istore 4
start local 4 7: iconst_1
istore 5
start local 5 8: goto 15
9: StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTest java.util.concurrent.atomic.AtomicReference int java.util.List int int
StackMap stack:
lconst_1
aload 3
invokeinterface java.util.List.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
10: aload 3
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.TruffleStackTraceElement
astore 6
start local 6 11: iload 5
i2l
aload 6
invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getLocation:()Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.api.instrumentation.test.InstrumentationTest$AsyncNode
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest$AsyncNode.getLevel:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
12: iload 5
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
aload 6
invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getTarget:()Lcom/oracle/truffle/api/RootCallTarget;
invokeinterface com.oracle.truffle.api.RootCallTarget.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
invokevirtual com.oracle.truffle.api.nodes.RootNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
13: aload 6
invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getTarget:()Lcom/oracle/truffle/api/RootCallTarget;
aload 6
invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getFrame:()Lcom/oracle/truffle/api/frame/Frame;
invokestatic com.oracle.truffle.api.TruffleStackTrace.getAsynchronousStackTrace:(Lcom/oracle/truffle/api/CallTarget;Lcom/oracle/truffle/api/frame/Frame;)Ljava/util/List;
astore 3
end local 6 14: iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
iload 4
if_icmplt 9
end local 5 16: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
2 17 1 asyncStack Ljava/util/concurrent/atomic/AtomicReference<Ljava/util/List<Lcom/oracle/truffle/api/TruffleStackTraceElement;>;>;
4 17 2 ret I
6 17 3 stack Ljava/util/List<Lcom/oracle/truffle/api/TruffleStackTraceElement;>;
7 17 4 numTestLevels I
8 16 5 i I
11 14 6 element Lcom/oracle/truffle/api/TruffleStackTraceElement;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testAsynchronousStacks4();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: ldc "ROOT(DEFINE(af11, ROOT(STATEMENT)),DEFINE(af12, ROOT(CALL(af11))),DEFINE(af13, ROOT(CALL(af12))),DEFINE(af14, ROOT(CALL(af13))),DEFINE(af21, ROOT(STATEMENT, SPAWN(af14))),DEFINE(af22, ROOT(CALL(af21))),DEFINE(af23, ROOT(CALL(af22))),DEFINE(af24, ROOT(CALL(af23))),DEFINE(f1, ROOT(STATEMENT, SPAWN(af24))),DEFINE(f2, ROOT(CALL(f1))),DEFINE(f3, ROOT(CALL(f2))),DEFINE(f4, ROOT(CALL(f3))),CALL(f4))"
astore 1
start local 1 1: ldc "instrumentation-test-language"
aload 1
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 2
start local 2 2: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.teardown:()V
3: new java.util.concurrent.CountDownLatch
dup
iconst_1
invokespecial java.util.concurrent.CountDownLatch.<init>:(I)V
astore 3
start local 3 4: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
invokestatic org.graalvm.polyglot.Engine.create:()Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
iconst_1
invokevirtual org.graalvm.polyglot.Context$Builder.allowCreateThread:(Z)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 5: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$AsynchronousStacksInstrument
dup
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$AsynchronousStacksInstrument.<init>:()V
astore 5
start local 5 6: aload 5
aload 3
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest$AsynchronousStacksInstrument.instrumentationFinished:Ljava/util/concurrent/CountDownLatch;
7: aload 0
aload 4
new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$25
dup
aload 0
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$25.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;)V
8: aload 5
9: invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;)V
10: aload 0
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Lorg/graalvm/polyglot/Source;)Ljava/lang/String;
pop
11: aload 3
invokevirtual java.util.concurrent.CountDownLatch.await:()V
12: aload 0
ldc "instrumentation-test-language"
ldc "JOIN()"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationTest.run:(Lorg/graalvm/polyglot/Source;)Ljava/lang/String;
pop
13: 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 14 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
1 14 1 code Ljava/lang/String;
2 14 2 source Lorg/graalvm/polyglot/Source;
4 14 3 instrumentationFinished Ljava/util/concurrent/CountDownLatch;
5 14 4 asyncContext Lorg/graalvm/polyglot/Context;
6 14 5 testInstrument Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$AsynchronousStacksInstrument;
Exceptions:
throws java.io.IOException, java.lang.InterruptedException
RuntimeVisibleAnnotations:
org.junit.Test()
static com.oracle.truffle.api.instrumentation.TruffleInstrument$Env access$0(com.oracle.truffle.api.instrumentation.test.InstrumentationTest);
descriptor: (Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;)Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
areturn
LocalVariableTable:
Start End Slot Name Signature
static com.oracle.truffle.api.TruffleLanguage access$1(com.oracle.truffle.api.instrumentation.test.InstrumentationTest);
descriptor: (Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;)Lcom/oracle/truffle/api/TruffleLanguage;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTest.language:Lcom/oracle/truffle/api/TruffleLanguage;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static boolean lambda$0(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MyLanguageException
dup
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MyLanguageException.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Lcom/oracle/truffle/api/source/Source;
private static boolean lambda$1(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MyLanguageException
dup
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MyLanguageException.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/String;
private static java.lang.Boolean lambda$2(java.lang.Integer, com.oracle.truffle.api.nodes.Node);
descriptor: (Ljava/lang/Integer;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Boolean;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.api.nodes.Node.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
istore 2
start local 2 1: aload 0
invokevirtual java.lang.Integer.intValue:()I
bipush 31
if_icmpgt 4
2: iload 2
bipush 23
if_icmpne 3
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
StackMap locals: int
StackMap stack:
3: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Integer.intValue:()I
bipush 75
if_icmpgt 7
5: iload 2
bipush 51
if_icmpne 6
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
StackMap locals:
StackMap stack:
6: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Integer.intValue:()I
bipush 125
if_icmpgt 10
8: iload 2
bipush 117
if_icmpne 9
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
StackMap locals:
StackMap stack:
9: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
10: StackMap locals:
StackMap stack:
iload 2
sipush 128
if_icmpne 11
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
StackMap locals:
StackMap stack:
11: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 offset Ljava/lang/Integer;
0 12 1 node Lcom/oracle/truffle/api/nodes/Node;
1 12 2 pos I
private com.oracle.truffle.api.instrumentation.ExecutionEventNode lambda$3(com.oracle.truffle.api.instrumentation.EventContext);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$18
dup
aload 0
aload 1
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$18.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;Lcom/oracle/truffle/api/instrumentation/EventContext;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
0 1 1 c Lcom/oracle/truffle/api/instrumentation/EventContext;
private com.oracle.truffle.api.instrumentation.ExecutionEventNode lambda$4(com.oracle.truffle.api.instrumentation.EventContext);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$19
dup
aload 0
aload 1
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$19.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;Lcom/oracle/truffle/api/instrumentation/EventContext;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
0 1 1 c Lcom/oracle/truffle/api/instrumentation/EventContext;
private com.oracle.truffle.api.instrumentation.ExecutionEventNode lambda$5(com.oracle.truffle.api.instrumentation.EventContext);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$20
dup
aload 0
aload 1
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$20.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;Lcom/oracle/truffle/api/instrumentation/EventContext;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
0 1 1 c Lcom/oracle/truffle/api/instrumentation/EventContext;
private com.oracle.truffle.api.instrumentation.ExecutionEventNode lambda$6(com.oracle.truffle.api.instrumentation.EventContext);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$21
dup
aload 0
aload 1
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$21.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;Lcom/oracle/truffle/api/instrumentation/EventContext;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest;
0 1 1 c Lcom/oracle/truffle/api/instrumentation/EventContext;
}
SourceFile: "InstrumentationTest.java"
NestMembers:
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$10 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$11 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$12 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$12$1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$13 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$13$1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$14 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$15 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$16 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$17 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$18 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$19 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$2 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$20 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$21 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$22 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$23 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$23$AsyncRootNode com.oracle.truffle.api.instrumentation.test.InstrumentationTest$24 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$25 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$26 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$27 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$28 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$29 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$3 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$4 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$5 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$5$1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$6 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$6$1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$7 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$8 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$9 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$AsyncNode com.oracle.truffle.api.instrumentation.test.InstrumentationTest$AsynchronousStacksInstrument com.oracle.truffle.api.instrumentation.test.InstrumentationTest$AsynchronousStacksInstrument$1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$AsynchronousStacksInstrument$1$1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$BeforeUseInstrument com.oracle.truffle.api.instrumentation.test.InstrumentationTest$BindingsTestInstrument com.oracle.truffle.api.instrumentation.test.InstrumentationTest$BindingsTestInstrument$1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$BrokenRegistrationInstrument com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MetadataInstrument com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MetadataInstrument2 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MyKillException com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MyLanguageException com.oracle.truffle.api.instrumentation.test.InstrumentationTest$NearestExecutionNodeTester com.oracle.truffle.api.instrumentation.test.InstrumentationTest$OnCreateExcInstrument com.oracle.truffle.api.instrumentation.test.InstrumentationTest$ReceiverLegacyTester com.oracle.truffle.api.instrumentation.test.InstrumentationTest$ReceiverTester com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstruments com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstrumentsOther com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInternalInstruments com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAllocation com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParse1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParse1$1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParse1$1$1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParse1$2 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParseInline com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParseInline$1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParseInline$1$1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParseInline$1$2 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParseInline$2 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestException com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1$1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1$1$1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1$2 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1$2$1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1Language com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1Language$1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLangInitialized com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLanguageInstrumentationLanguage com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLanguageInstrumentationLanguage$1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLanguageInstrumentationLanguage$2 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLanguageInstrumentationLanguage$3 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLanguageNoParseInline com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1$1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1$1$1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOtherLanguageParseInline com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOtherLanguageParseInline$1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOtherLanguageParseInline$2 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerArray com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerPiped com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestUsedTagNotRequired1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestUsedTagNotRequired1$1 com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestUsedTagNotRequired1$Foobar
InnerClasses:
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
public final Builder = com.oracle.truffle.api.instrumentation.SourceFilter$Builder of com.oracle.truffle.api.instrumentation.SourceFilter
public final Builder = com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder of com.oracle.truffle.api.instrumentation.SourceSectionFilter
public final RootBodyTag = com.oracle.truffle.api.instrumentation.StandardTags$RootBodyTag of com.oracle.truffle.api.instrumentation.StandardTags
public final RootTag = com.oracle.truffle.api.instrumentation.StandardTags$RootTag of com.oracle.truffle.api.instrumentation.StandardTags
public final StatementTag = com.oracle.truffle.api.instrumentation.StandardTags$StatementTag of com.oracle.truffle.api.instrumentation.StandardTags
public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$1
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$10
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$11
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$12
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$13
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$14
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$15
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$16
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$17
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$18
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$19
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$2
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$20
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$21
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$22
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$23
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$24
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$25
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$3
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$4
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$5
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$6
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$7
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$8
com.oracle.truffle.api.instrumentation.test.InstrumentationTest$9
AsyncNode = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$AsyncNode of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
public AsynchronousStacksInstrument = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$AsynchronousStacksInstrument of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
public BeforeUseInstrument = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$BeforeUseInstrument of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
public BindingsTestInstrument = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$BindingsTestInstrument of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
public BrokenRegistrationInstrument = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$BrokenRegistrationInstrument of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
public MetadataInstrument = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MetadataInstrument of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
public MetadataInstrument2 = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MetadataInstrument2 of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
public MultipleInstanceInstrument = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MultipleInstanceInstrument of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
private final MyKillException = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MyKillException of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
private MyLanguageException = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$MyLanguageException of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
private final NearestExecutionNodeTester = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$NearestExecutionNodeTester of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
private final OnCreateExcInstrument = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$OnCreateExcInstrument of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
private final ReceiverLegacyTester = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$ReceiverLegacyTester of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
private final ReceiverTester = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$ReceiverTester of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
public TestAccessInstruments = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstruments of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
public TestAccessInstrumentsOther = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInstrumentsOther of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
public TestAccessInternalInstruments = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAccessInternalInstruments of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
private final TestAllocation = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestAllocation of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
private final TestEnvParse1 = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParse1 of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
private final TestEnvParseInline = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestEnvParseInline of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
TestException = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestException of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
public TestIsNodeTaggedWith1 = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1 of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
public TestIsNodeTaggedWith1Language = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestIsNodeTaggedWith1Language of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
private final TestLangInitialized = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLangInitialized of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
public TestLanguageInstrumentationLanguage = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLanguageInstrumentationLanguage of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
public TestLanguageNoParseInline = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLanguageNoParseInline of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
private final TestLazyProbe1 = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestLazyProbe1 of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
public TestOtherLanguageParseInline = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOtherLanguageParseInline of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
public TestOutputConsumerArray = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerArray of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
public TestOutputConsumerPiped = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestOutputConsumerPiped of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
public TestUsedTagNotRequired1 = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestUsedTagNotRequired1 of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
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 final Builder = org.graalvm.polyglot.Engine$Builder of org.graalvm.polyglot.Engine