public class com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest
super_class: java.lang.Object
{
private static java.util.function.Function<com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateLanguage, com.oracle.truffle.api.nodes.RootNode> run;
descriptor: Ljava/util/function/Function;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/function/Function<Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;Lcom/oracle/truffle/api/nodes/RootNode;>;
private org.graalvm.polyglot.Context context;
descriptor: Lorg/graalvm/polyglot/Context;
flags: (0x0002) ACC_PRIVATE
private final java.util.List<com.oracle.truffle.api.instrumentation.EventContext> executionEvents;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/oracle/truffle/api/instrumentation/EventContext;>;
private final java.util.List<com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent> loadEvents;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;>;
private com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateLanguage language;
descriptor: Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.instrumentation.TruffleInstrument$Env instrumentEnv;
descriptor: Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.instrumentation.EventBinding<?> eventBinding;
descriptor: Lcom/oracle/truffle/api/instrumentation/EventBinding;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.executionEvents:Ljava/util/List;
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.loadEvents:Ljava/util/List;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest;
public void setup();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "InstrumentationUpdateLanguage"
aastore
invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.context:Lorg/graalvm/polyglot/Context;
1: aload 0
invokedynamic apply(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest;)Ljava/util/function/Function;
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;
com/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest.lambda$0(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;)Lcom/oracle/truffle/api/nodes/RootNode; (7)
(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;)Lcom/oracle/truffle/api/nodes/RootNode;
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.run:Ljava/util/function/Function;
2: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.context:Lorg/graalvm/polyglot/Context;
ldc "InstrumentationUpdateLanguage"
ldc ""
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
3: aload 0
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.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 "InstrumentationUpdateInstrument"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
ldc Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.TruffleInstrument$Env
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest;
RuntimeVisibleAnnotations:
org.junit.Before()
public void teardown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.close:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest;
RuntimeVisibleAnnotations:
org.junit.After()
public void testNotWithinRootSourceSection();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
bipush 6
iconst_5
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.indexIn:(II)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.setEventFilter:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
1: aload 0
aload 0
invokedynamic apply(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest;)Ljava/util/function/Function;
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;
com/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest.lambda$1(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;)Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$MyRoot; (7)
(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;)Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$MyRoot;
2: ldc "root1, root2"
3: invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.eval:(Ljava/util/function/Function;Ljava/lang/String;)Lcom/oracle/truffle/api/nodes/RootNode;
checkcast com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot
astore 1
start local 1 4: aload 0
iconst_1
anewarray com.oracle.truffle.api.nodes.Node
dup
iconst_0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getChild:()Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.assertLoaded:([Lcom/oracle/truffle/api/nodes/Node;)V
5: aload 0
iconst_1
anewarray com.oracle.truffle.api.nodes.Node
dup
iconst_0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getChild:()Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.assertExecuted:([Lcom/oracle/truffle/api/nodes/Node;)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/InstrumentationUpdateTest;
4 7 1 evalRoot Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$MyRoot;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testInsertInstrumentableNode();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
bipush 6
iconst_5
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.indexIn:(II)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.setEventFilter:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
1: aload 0
aload 0
invokedynamic apply(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest;)Ljava/util/function/Function;
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;
com/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest.lambda$2(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;)Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$MyRoot; (7)
(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;)Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$MyRoot;
2: ldc "root1, root2"
3: invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.eval:(Ljava/util/function/Function;Ljava/lang/String;)Lcom/oracle/truffle/api/nodes/RootNode;
checkcast com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot
astore 1
start local 1 4: aload 1
new com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateNode
dup
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
bipush 6
iconst_5
invokevirtual com.oracle.truffle.api.source.Source.createSection:(II)Lcom/oracle/truffle/api/source/SourceSection;
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateNode.<init>:(Lcom/oracle/truffle/api/source/SourceSection;)V
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.setChild:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;)V
5: aload 0
iconst_0
anewarray com.oracle.truffle.api.nodes.Node
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.assertLoaded:([Lcom/oracle/truffle/api/nodes/Node;)V
6: aload 0
iconst_0
anewarray com.oracle.truffle.api.nodes.Node
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.assertExecuted:([Lcom/oracle/truffle/api/nodes/Node;)V
7: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getCallTarget:()Lcom/oracle/truffle/api/RootCallTarget;
iconst_0
anewarray java.lang.Object
invokeinterface com.oracle.truffle.api.RootCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 0
iconst_0
anewarray com.oracle.truffle.api.nodes.Node
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.assertLoaded:([Lcom/oracle/truffle/api/nodes/Node;)V
9: aload 0
iconst_0
anewarray com.oracle.truffle.api.nodes.Node
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.assertExecuted:([Lcom/oracle/truffle/api/nodes/Node;)V
10: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.notifyChildInsert:()V
11: aload 0
iconst_1
anewarray com.oracle.truffle.api.nodes.Node
dup
iconst_0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getChild:()Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.assertLoaded:([Lcom/oracle/truffle/api/nodes/Node;)V
12: aload 0
iconst_0
anewarray com.oracle.truffle.api.nodes.Node
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.assertExecuted:([Lcom/oracle/truffle/api/nodes/Node;)V
13: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getCallTarget:()Lcom/oracle/truffle/api/RootCallTarget;
iconst_0
anewarray java.lang.Object
invokeinterface com.oracle.truffle.api.RootCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
14: aload 0
iconst_1
anewarray com.oracle.truffle.api.nodes.Node
dup
iconst_0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getChild:()Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.assertLoaded:([Lcom/oracle/truffle/api/nodes/Node;)V
15: aload 0
iconst_1
anewarray com.oracle.truffle.api.nodes.Node
dup
iconst_0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getChild:()Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.assertExecuted:([Lcom/oracle/truffle/api/nodes/Node;)V
16: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest;
4 17 1 evalRoot Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$MyRoot;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testInsertInstrumentableNodes();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
iconst_0
bipush 6
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.indexIn:(II)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.setEventFilter:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
1: aload 0
aload 0
invokedynamic apply(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest;)Ljava/util/function/Function;
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;
com/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest.lambda$3(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;)Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$MyRoot; (7)
(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;)Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$MyRoot;
2: ldc "abcdef"
3: invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.eval:(Ljava/util/function/Function;Ljava/lang/String;)Lcom/oracle/truffle/api/nodes/RootNode;
checkcast com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot
astore 1
start local 1 4: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getCallTarget:()Lcom/oracle/truffle/api/RootCallTarget;
iconst_0
anewarray java.lang.Object
invokeinterface com.oracle.truffle.api.RootCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
5: aload 0
iconst_0
anewarray com.oracle.truffle.api.nodes.Node
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.assertLoaded:([Lcom/oracle/truffle/api/nodes/Node;)V
6: aload 0
iconst_0
anewarray com.oracle.truffle.api.nodes.Node
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.assertExecuted:([Lcom/oracle/truffle/api/nodes/Node;)V
7: aload 1
new com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateNode
dup
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
iconst_0
iconst_1
invokevirtual com.oracle.truffle.api.source.Source.createSection:(II)Lcom/oracle/truffle/api/source/SourceSection;
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateNode.<init>:(Lcom/oracle/truffle/api/source/SourceSection;)V
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.setChild:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;)V
8: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.notifyChildInsert:()V
9: aload 0
iconst_1
anewarray com.oracle.truffle.api.nodes.Node
dup
iconst_0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getChild:()Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.assertLoaded:([Lcom/oracle/truffle/api/nodes/Node;)V
10: aload 0
iconst_0
anewarray com.oracle.truffle.api.nodes.Node
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.assertExecuted:([Lcom/oracle/truffle/api/nodes/Node;)V
11: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getCallTarget:()Lcom/oracle/truffle/api/RootCallTarget;
iconst_0
anewarray java.lang.Object
invokeinterface com.oracle.truffle.api.RootCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
12: aload 0
iconst_1
anewarray com.oracle.truffle.api.nodes.Node
dup
iconst_0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getChild:()Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.assertLoaded:([Lcom/oracle/truffle/api/nodes/Node;)V
13: aload 0
iconst_1
anewarray com.oracle.truffle.api.nodes.Node
dup
iconst_0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getChild:()Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.assertExecuted:([Lcom/oracle/truffle/api/nodes/Node;)V
14: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.executionEvents:Ljava/util/List;
invokeinterface java.util.List.clear:()V
15: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.loadEvents:Ljava/util/List;
invokeinterface java.util.List.clear:()V
16: aload 1
new com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateNode
dup
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
iconst_1
iconst_2
invokevirtual com.oracle.truffle.api.source.Source.createSection:(II)Lcom/oracle/truffle/api/source/SourceSection;
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateNode.<init>:(Lcom/oracle/truffle/api/source/SourceSection;)V
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.setChild:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;)V
17: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getChild:()Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;
new com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateNode
dup
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
iconst_2
iconst_3
invokevirtual com.oracle.truffle.api.source.Source.createSection:(II)Lcom/oracle/truffle/api/source/SourceSection;
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateNode.<init>:(Lcom/oracle/truffle/api/source/SourceSection;)V
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateNode.setChild:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;)V
18: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.notifyChildInsert:()V
19: aload 0
iconst_2
anewarray com.oracle.truffle.api.nodes.Node
dup
iconst_0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getChild:()Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;
aastore
dup
iconst_1
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getChild:()Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateNode.getChild:()Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.assertLoaded:([Lcom/oracle/truffle/api/nodes/Node;)V
20: aload 0
iconst_0
anewarray com.oracle.truffle.api.nodes.Node
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.assertExecuted:([Lcom/oracle/truffle/api/nodes/Node;)V
21: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getCallTarget:()Lcom/oracle/truffle/api/RootCallTarget;
iconst_0
anewarray java.lang.Object
invokeinterface com.oracle.truffle.api.RootCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
22: aload 0
iconst_2
anewarray com.oracle.truffle.api.nodes.Node
dup
iconst_0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getChild:()Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;
aastore
dup
iconst_1
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getChild:()Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateNode.getChild:()Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.assertLoaded:([Lcom/oracle/truffle/api/nodes/Node;)V
23: aload 0
iconst_2
anewarray com.oracle.truffle.api.nodes.Node
dup
iconst_0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getChild:()Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;
aastore
dup
iconst_1
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.getChild:()Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateNode.getChild:()Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.assertExecuted:([Lcom/oracle/truffle/api/nodes/Node;)V
24: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest;
4 25 1 evalRoot Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$MyRoot;
RuntimeVisibleAnnotations:
org.junit.Test()
private void assertLoaded(com.oracle.truffle.api.nodes.Node[]);
descriptor: ([Lcom/oracle/truffle/api/nodes/Node;)V
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.loadEvents:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
start local 2 1: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 6
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest com.oracle.truffle.api.nodes.Node[] java.util.Iterator top int int com.oracle.truffle.api.nodes.Node[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 2
invokeinterface java.util.Iterator.hasNext:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
4: aload 3
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent
invokevirtual com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent.getNode:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 3 5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 5
if_icmplt 2
7: aload 2
invokeinterface java.util.Iterator.hasNext:()Z
invokestatic org.junit.Assert.assertFalse:(Z)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/InstrumentationUpdateTest;
0 9 1 children [Lcom/oracle/truffle/api/nodes/Node;
1 9 2 loadIterator Ljava/util/Iterator<Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;>;
3 5 3 loadedChild Lcom/oracle/truffle/api/nodes/Node;
MethodParameters:
Name Flags
children
private void assertExecuted(com.oracle.truffle.api.nodes.Node[]);
descriptor: ([Lcom/oracle/truffle/api/nodes/Node;)V
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.executionEvents:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
start local 2 1: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 6
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest com.oracle.truffle.api.nodes.Node[] java.util.Iterator top int int com.oracle.truffle.api.nodes.Node[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 2
invokeinterface java.util.Iterator.hasNext:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
4: aload 3
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.EventContext
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedNode:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 3 5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 5
if_icmplt 2
7: aload 2
invokeinterface java.util.Iterator.hasNext:()Z
invokestatic org.junit.Assert.assertFalse:(Z)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/InstrumentationUpdateTest;
0 9 1 children [Lcom/oracle/truffle/api/nodes/Node;
1 9 2 executeIterator Ljava/util/Iterator<Lcom/oracle/truffle/api/instrumentation/EventContext;>;
3 5 3 loadedChild Lcom/oracle/truffle/api/nodes/Node;
MethodParameters:
Name Flags
children
private void setEventFilter(com.oracle.truffle.api.instrumentation.SourceSectionFilter);
descriptor: (Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.eventBinding:Lcom/oracle/truffle/api/instrumentation/EventBinding;
astore 2
start local 2 1: aload 0
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
aload 1
new com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$1
dup
aload 0
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$1.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest;)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;
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.eventBinding:Lcom/oracle/truffle/api/instrumentation/EventBinding;
2: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
aload 1
new com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$2
dup
aload 0
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$2.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest;)V
3: iconst_1
4: invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceSectionListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
5: aload 2
ifnull 7
6: aload 2
invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
7: StackMap locals: com.oracle.truffle.api.instrumentation.EventBinding
StackMap stack:
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/InstrumentationUpdateTest;
0 8 1 filter Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
1 8 2 old Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
MethodParameters:
Name Flags
filter
private <T extends com.oracle.truffle.api.nodes.RootNode> T eval(java.util.function.Function<com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateLanguage, T>, java.lang.String);
descriptor: (Ljava/util/function/Function;Ljava/lang/String;)Lcom/oracle/truffle/api/nodes/RootNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.executionEvents:Ljava/util/List;
invokeinterface java.util.List.clear:()V
1: iconst_1
anewarray com.oracle.truffle.api.nodes.RootNode
astore 3
start local 3 2: aload 1
aload 3
invokedynamic apply(Ljava/util/function/Function;[Lcom/oracle/truffle/api/nodes/RootNode;)Ljava/util/function/Function;
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;
com/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest.lambda$4(Ljava/util/function/Function;[Lcom/oracle/truffle/api/nodes/RootNode;Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;)Lcom/oracle/truffle/api/nodes/RootNode; (6)
(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;)Lcom/oracle/truffle/api/nodes/RootNode;
putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.run:Ljava/util/function/Function;
3: ldc "InstrumentationUpdateLanguage"
aload 2
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 4
start local 4 4: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.context:Lorg/graalvm/polyglot/Context;
aload 4
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
5: aload 3
iconst_0
aaload
areturn
end local 4 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/InstrumentationUpdateTest;
0 6 1 target Ljava/util/function/Function<Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;TT;>;
0 6 2 source Ljava/lang/String;
2 6 3 roots [Lcom/oracle/truffle/api/nodes/RootNode;
4 6 4 src Lorg/graalvm/polyglot/Source;
Signature: <T:Lcom/oracle/truffle/api/nodes/RootNode;>(Ljava/util/function/Function<Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;TT;>;Ljava/lang/String;)TT;
MethodParameters:
Name Flags
target
source
private com.oracle.truffle.api.nodes.RootNode lambda$0(com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateLanguage);
descriptor: (Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;)Lcom/oracle/truffle/api/nodes/RootNode;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.language:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;
1: bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic com.oracle.truffle.api.nodes.RootNode.createConstantNode:(Ljava/lang/Object;)Lcom/oracle/truffle/api/nodes/RootNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest;
0 2 1 lang Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;
private com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot lambda$1(com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateLanguage);
descriptor: (Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;)Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$MyRoot;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot
dup
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.language:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.language:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateLanguage.request:Lcom/oracle/truffle/api/TruffleLanguage$ParsingRequest;
invokevirtual com.oracle.truffle.api.TruffleLanguage$ParsingRequest.getSource:()Lcom/oracle/truffle/api/source/Source;
iconst_0
iconst_5
invokevirtual com.oracle.truffle.api.source.Source.createSection:(II)Lcom/oracle/truffle/api/source/SourceSection;
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.<init>:(Lcom/oracle/truffle/api/TruffleLanguage;Lcom/oracle/truffle/api/source/SourceSection;)V
astore 2
start local 2 1: aload 2
new com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateNode
dup
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.language:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateLanguage.request:Lcom/oracle/truffle/api/TruffleLanguage$ParsingRequest;
invokevirtual com.oracle.truffle.api.TruffleLanguage$ParsingRequest.getSource:()Lcom/oracle/truffle/api/source/Source;
bipush 6
iconst_5
invokevirtual com.oracle.truffle.api.source.Source.createSection:(II)Lcom/oracle/truffle/api/source/SourceSection;
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateNode.<init>:(Lcom/oracle/truffle/api/source/SourceSection;)V
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.child:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest;
0 3 1 lang Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;
1 3 2 root Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$MyRoot;
private com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot lambda$2(com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateLanguage);
descriptor: (Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;)Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$MyRoot;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot
dup
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.language:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.language:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateLanguage.request:Lcom/oracle/truffle/api/TruffleLanguage$ParsingRequest;
invokevirtual com.oracle.truffle.api.TruffleLanguage$ParsingRequest.getSource:()Lcom/oracle/truffle/api/source/Source;
iconst_0
iconst_5
invokevirtual com.oracle.truffle.api.source.Source.createSection:(II)Lcom/oracle/truffle/api/source/SourceSection;
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.<init>:(Lcom/oracle/truffle/api/TruffleLanguage;Lcom/oracle/truffle/api/source/SourceSection;)V
astore 2
start local 2 1: aload 2
new com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateNode
dup
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.language:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateLanguage.request:Lcom/oracle/truffle/api/TruffleLanguage$ParsingRequest;
invokevirtual com.oracle.truffle.api.TruffleLanguage$ParsingRequest.getSource:()Lcom/oracle/truffle/api/source/Source;
iconst_0
iconst_5
invokevirtual com.oracle.truffle.api.source.Source.createSection:(II)Lcom/oracle/truffle/api/source/SourceSection;
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateNode.<init>:(Lcom/oracle/truffle/api/source/SourceSection;)V
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.child:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateNode;
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest;
0 3 1 lang Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;
1 3 2 root Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$MyRoot;
private com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot lambda$3(com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateLanguage);
descriptor: (Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;)Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$MyRoot;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot
dup
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.language:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest.language:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateLanguage.request:Lcom/oracle/truffle/api/TruffleLanguage$ParsingRequest;
invokevirtual com.oracle.truffle.api.TruffleLanguage$ParsingRequest.getSource:()Lcom/oracle/truffle/api/source/Source;
iconst_0
iconst_5
invokevirtual com.oracle.truffle.api.source.Source.createSection:(II)Lcom/oracle/truffle/api/source/SourceSection;
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot.<init>:(Lcom/oracle/truffle/api/TruffleLanguage;Lcom/oracle/truffle/api/source/SourceSection;)V
astore 2
start local 2 1: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest;
0 2 1 lang Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;
1 2 2 root Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$MyRoot;
private static com.oracle.truffle.api.nodes.RootNode lambda$4(java.util.function.Function, com.oracle.truffle.api.nodes.RootNode[], com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateLanguage);
descriptor: (Ljava/util/function/Function;[Lcom/oracle/truffle/api/nodes/RootNode;Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;)Lcom/oracle/truffle/api/nodes/RootNode;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=4, args_size=3
start local 2 0: aload 0
aload 2
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.nodes.RootNode
astore 3
start local 3 1: aload 1
iconst_0
aload 3
aastore
2: aload 3
areturn
end local 3 end local 2 LocalVariableTable:
Start End Slot Name Signature
0 3 2 lang Lcom/oracle/truffle/api/instrumentation/test/InstrumentationUpdateTest$InstrumentationUpdateLanguage;
1 3 3 root TT;
}
SourceFile: "InstrumentationUpdateTest.java"
NestMembers:
com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$1 com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$2 com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateInstrument com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateLanguage com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateNode com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot
InnerClasses:
public final ParsingRequest = com.oracle.truffle.api.TruffleLanguage$ParsingRequest of com.oracle.truffle.api.TruffleLanguage
public final Builder = com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder of com.oracle.truffle.api.instrumentation.SourceSectionFilter
public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument
com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$1
com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$2
public InstrumentationUpdateInstrument = com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateInstrument of com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest
public InstrumentationUpdateLanguage = com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateLanguage of com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest
public InstrumentationUpdateNode = com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$InstrumentationUpdateNode of com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest
private MyRoot = com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest$MyRoot of com.oracle.truffle.api.instrumentation.test.InstrumentationUpdateTest
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles