public class org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest extends org.graalvm.compiler.truffle.test.PartialEvaluationTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest
super_class: org.graalvm.compiler.truffle.test.PartialEvaluationTest
{
private static final java.lang.String VAR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "var"
private com.oracle.truffle.api.test.polyglot.ProxyLanguage language;
descriptor: Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.truffle.test.PartialEvaluationTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/truffle/test/NodeLibraryCompilerTest;
public void setup();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest.setupContext:(Lorg/graalvm/polyglot/Context$Builder;)V
1: aload 0
invokevirtual org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest.getContext:()Lorg/graalvm/polyglot/Context;
ldc "proxyLanguage"
invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
pop
2: aload 0
invokevirtual org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest.getContext:()Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
invokestatic org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest.doInstrument:(Lorg/graalvm/polyglot/Engine;)V
3: aload 0
invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.getCurrentLanguage:()Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
putfield org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest.language:Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/truffle/test/NodeLibraryCompilerTest;
RuntimeVisibleAnnotations:
org.junit.Before()
public void testScopeRead();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: new com.oracle.truffle.api.frame.FrameDescriptor
dup
invokespecial com.oracle.truffle.api.frame.FrameDescriptor.<init>:()V
astore 1
start local 1 1: aload 1
ldc "var"
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.addFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
astore 2
start local 2 2: aload 1
aload 2
getstatic com.oracle.truffle.api.frame.FrameSlotKind.Long:Lcom/oracle/truffle/api/frame/FrameSlotKind;
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.setFrameSlotKind:(Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameSlotKind;)V
3: aload 0
aload 1
new org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest$ReadVarNode
dup
aload 2
invokespecial org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest$ReadVarNode.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;)V
aload 2
iconst_0
invokevirtual org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest.createRoot:(Lcom/oracle/truffle/api/frame/FrameDescriptor;Lorg/graalvm/compiler/truffle/test/NodeLibraryCompilerTest$InstrumentationCompilerTestScopeNode;Lcom/oracle/truffle/api/frame/FrameSlot;Z)Lcom/oracle/truffle/api/nodes/RootNode;
astore 3
start local 3 4: aload 0
aload 1
new org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest$DummyInstrumentableNode
dup
aload 2
invokespecial org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest$DummyInstrumentableNode.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;)V
aload 2
iconst_1
invokevirtual org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest.createRoot:(Lcom/oracle/truffle/api/frame/FrameDescriptor;Lorg/graalvm/compiler/truffle/test/NodeLibraryCompilerTest$InstrumentationCompilerTestScopeNode;Lcom/oracle/truffle/api/frame/FrameSlot;Z)Lcom/oracle/truffle/api/nodes/RootNode;
astore 4
start local 4 5: aload 0
aload 3
aload 4
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest.assertPartialEvalEquals:(Lcom/oracle/truffle/api/nodes/RootNode;Lcom/oracle/truffle/api/nodes/RootNode;[Ljava/lang/Object;)V
6: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/truffle/test/NodeLibraryCompilerTest;
1 7 1 frameDescriptor Lcom/oracle/truffle/api/frame/FrameDescriptor;
2 7 2 varSlot Lcom/oracle/truffle/api/frame/FrameSlot;
4 7 3 expectedRootNode Lcom/oracle/truffle/api/nodes/RootNode;
5 7 4 instrumentedRootNode Lcom/oracle/truffle/api/nodes/RootNode;
RuntimeVisibleAnnotations:
org.junit.Test()
private com.oracle.truffle.api.nodes.RootNode createRoot(com.oracle.truffle.api.frame.FrameDescriptor, org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest$InstrumentationCompilerTestScopeNode, com.oracle.truffle.api.frame.FrameSlot, boolean);
descriptor: (Lcom/oracle/truffle/api/frame/FrameDescriptor;Lorg/graalvm/compiler/truffle/test/NodeLibraryCompilerTest$InstrumentationCompilerTestScopeNode;Lcom/oracle/truffle/api/frame/FrameSlot;Z)Lcom/oracle/truffle/api/nodes/RootNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest$1
dup
aload 0
aload 0
getfield org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest.language:Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
aload 1
aload 2
iload 4
aload 3
invokespecial org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest$1.<init>:(Lorg/graalvm/compiler/truffle/test/NodeLibraryCompilerTest;Lcom/oracle/truffle/api/TruffleLanguage;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lorg/graalvm/compiler/truffle/test/NodeLibraryCompilerTest$InstrumentationCompilerTestScopeNode;ZLcom/oracle/truffle/api/frame/FrameSlot;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/truffle/test/NodeLibraryCompilerTest;
0 1 1 frameDescriptor Lcom/oracle/truffle/api/frame/FrameDescriptor;
0 1 2 node Lorg/graalvm/compiler/truffle/test/NodeLibraryCompilerTest$InstrumentationCompilerTestScopeNode;
0 1 3 varSlot Lcom/oracle/truffle/api/frame/FrameSlot;
0 1 4 allowInstrumentation Z
MethodParameters:
Name Flags
frameDescriptor
node
varSlot
allowInstrumentation
private static void doInstrument(org.graalvm.polyglot.Engine);
descriptor: (Lorg/graalvm/polyglot/Engine;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new com.oracle.truffle.api.test.polyglot.ProxyInstrument
dup
invokespecial com.oracle.truffle.api.test.polyglot.ProxyInstrument.<init>:()V
astore 1
start local 1 1: aload 1
invokestatic com.oracle.truffle.api.test.polyglot.ProxyInstrument.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;)Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;
pop
2: aload 1
invokedynamic accept()Ljava/util/function/Consumer;
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;)V
org/graalvm/compiler/truffle/test/NodeLibraryCompilerTest.lambda$0(Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)V (6)
(Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)V
invokevirtual com.oracle.truffle.api.test.polyglot.ProxyInstrument.setOnCreate:(Ljava/util/function/Consumer;)V
3: aload 0
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "proxyInstrument"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
ldc Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument$Initialize;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
pop
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 engine Lorg/graalvm/polyglot/Engine;
1 5 1 instrument Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;
MethodParameters:
Name Flags
engine
private static void lambda$0(com.oracle.truffle.api.instrumentation.TruffleInstrument$Env);
descriptor: (Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
1: 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$ExpressionTag;
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: invokedynamic create()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;
org/graalvm/compiler/truffle/test/NodeLibraryCompilerTest.lambda$1(Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode; (6)
(Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
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: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 env Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
private static com.oracle.truffle.api.instrumentation.ExecutionEventNode lambda$1(com.oracle.truffle.api.instrumentation.EventContext);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest$ReadVarExecNode
dup
aload 0
invokespecial org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest$ReadVarExecNode.<init>:(Lcom/oracle/truffle/api/instrumentation/EventContext;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lcom/oracle/truffle/api/instrumentation/EventContext;
}
SourceFile: "NodeLibraryCompilerTest.java"
NestMembers:
org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest$1 org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest$DummyInstrumentableNode org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest$InstrumentationCompilerTestScopeNode org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest$ReadVarExecNode org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest$ReadVarNode org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest$ScopeVariables
InnerClasses:
public final Builder = com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder of com.oracle.truffle.api.instrumentation.SourceSectionFilter
public final ExpressionTag = com.oracle.truffle.api.instrumentation.StandardTags$ExpressionTag of com.oracle.truffle.api.instrumentation.StandardTags
public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument
public abstract Initialize = com.oracle.truffle.api.test.polyglot.ProxyInstrument$Initialize of com.oracle.truffle.api.test.polyglot.ProxyInstrument
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest$1
final DummyInstrumentableNode = org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest$DummyInstrumentableNode of org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest
abstract InstrumentationCompilerTestScopeNode = org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest$InstrumentationCompilerTestScopeNode of org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest
private final ReadVarExecNode = org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest$ReadVarExecNode of org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest
final ReadVarNode = org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest$ReadVarNode of org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest
final ScopeVariables = org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest$ScopeVariables of org.graalvm.compiler.truffle.test.NodeLibraryCompilerTest
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context