public class com.oracle.truffle.js.test.instrumentation.FullExecutionTracerInstrument extends com.oracle.truffle.api.instrumentation.TruffleInstrument
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.test.instrumentation.FullExecutionTracerInstrument
super_class: com.oracle.truffle.api.instrumentation.TruffleInstrument
{
public static final java.lang.String ID;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "FullExecutionTracerInstrument"
private com.oracle.truffle.api.instrumentation.TruffleInstrument$Env environment;
descriptor: Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
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 com.oracle.truffle.api.instrumentation.TruffleInstrument.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/test/instrumentation/FullExecutionTracerInstrument;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: iconst_0
anewarray java.lang.String
invokestatic com.oracle.truffle.js.test.instrumentation.TestUtil.newContextBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 3
start local 3 2: aload 3
invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "FullExecutionTracerInstrument"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
ldc Lcom/oracle/truffle/js/test/instrumentation/FullExecutionTracerInstrument;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
pop
3: aload 3
ldc "js"
new java.io.File
dup
aload 0
iconst_0
aaload
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/io/File;)Lorg/graalvm/polyglot/Source$Builder;
invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
4: aload 3
ifnull 10
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 10
StackMap locals: java.lang.String[] java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
5: astore 1
aload 3
ifnull 6
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 3 StackMap locals:
StackMap stack:
6: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 2
aload 1
ifnonnull 8
aload 2
astore 1
goto 9
StackMap locals:
StackMap stack:
8: aload 1
aload 2
if_acmpeq 9
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
9: aload 1
athrow
10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 args [Ljava/lang/String;
2 6 3 c Lorg/graalvm/polyglot/Context;
Exception table:
from to target type
2 4 5 any
1 7 7 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
args
public static void trace(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: iconst_0
anewarray java.lang.String
invokestatic com.oracle.truffle.js.test.instrumentation.TestUtil.newContextBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 3
start local 3 2: aload 3
invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "FullExecutionTracerInstrument"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
ldc Lcom/oracle/truffle/js/test/instrumentation/FullExecutionTracerInstrument;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
pop
3: aload 3
ldc "js"
aload 0
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
4: aload 3
ifnull 10
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 10
StackMap locals: java.lang.String java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
5: astore 1
aload 3
ifnull 6
aload 3
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 3 StackMap locals:
StackMap stack:
6: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 2
aload 1
ifnonnull 8
aload 2
astore 1
goto 9
StackMap locals:
StackMap stack:
8: aload 1
aload 2
if_acmpeq 9
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
9: aload 1
athrow
10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 code Ljava/lang/String;
2 6 3 c Lorg/graalvm/polyglot/Context;
Exception table:
from to target type
2 4 5 any
1 7 7 any
MethodParameters:
Name Flags
code
protected void onCreate(com.oracle.truffle.api.instrumentation.TruffleInstrument$Env);
descriptor: (Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.oracle.truffle.js.test.instrumentation.FullExecutionTracerInstrument.environment:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
1: aload 1
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.registerService:(Ljava/lang/Object;)V
2: invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
getstatic com.oracle.truffle.js.nodes.instrumentation.JSTags.ALL:[Ljava/lang/Class;
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;
astore 2
start local 2 3: invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
iconst_3
anewarray java.lang.Class
dup
iconst_0
4: ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$ExpressionTag;
aastore
dup
iconst_1
5: ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;
aastore
dup
iconst_2
6: ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$InputNodeTag;
aastore
7: invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.tagIs:([Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
8: invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
9: astore 3
start local 3 10: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
aload 2
aload 3
invokestatic com.oracle.truffle.js.test.instrumentation.FullExecutionTracerInstrument.getFactory:()Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;
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;
pop
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/js/test/instrumentation/FullExecutionTracerInstrument;
0 12 1 env Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
3 12 2 sourceSectionFilter Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
10 12 3 inputGeneratingObjects Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
MethodParameters:
Name Flags
env
private static com.oracle.truffle.api.instrumentation.ExecutionEventNodeFactory getFactory();
descriptor: ()Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: new com.oracle.truffle.js.test.instrumentation.FullExecutionTracerInstrument$1
dup
invokespecial com.oracle.truffle.js.test.instrumentation.FullExecutionTracerInstrument$1.<init>:()V
astore 0
start local 0 1: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 2 0 factory Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;
public com.oracle.truffle.api.instrumentation.TruffleInstrument$Env getEnvironment();
descriptor: ()Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FullExecutionTracerInstrument.environment:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/test/instrumentation/FullExecutionTracerInstrument;
}
SourceFile: "FullExecutionTracerInstrument.java"
NestMembers:
com.oracle.truffle.js.test.instrumentation.FullExecutionTracerInstrument$1 com.oracle.truffle.js.test.instrumentation.FullExecutionTracerInstrument$1$1
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 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
public abstract Registration = com.oracle.truffle.api.instrumentation.TruffleInstrument$Registration of com.oracle.truffle.api.instrumentation.TruffleInstrument
public final InputNodeTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$InputNodeTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
com.oracle.truffle.js.test.instrumentation.FullExecutionTracerInstrument$1
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context
public Builder = org.graalvm.polyglot.Source$Builder of org.graalvm.polyglot.Source
RuntimeVisibleAnnotations:
com.oracle.truffle.api.instrumentation.TruffleInstrument$Registration(id = "FullExecutionTracerInstrument", services = {Lcom/oracle/truffle/js/test/instrumentation/FullExecutionTracerInstrument;})