public class com.oracle.truffle.tools.profiler.impl.CPUTracerInstrument 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.tools.profiler.impl.CPUTracerInstrument
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: "cputracer"
static final java.lang.String VERSION;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "0.3.0"
private boolean enabled;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.tools.profiler.CPUTracer tracer;
descriptor: Lcom/oracle/truffle/tools/profiler/CPUTracer;
flags: (0x0002) ACC_PRIVATE
private static com.oracle.truffle.tools.profiler.impl.ProfilerToolFactory<com.oracle.truffle.tools.profiler.CPUTracer> factory;
descriptor: Lcom/oracle/truffle/tools/profiler/impl/ProfilerToolFactory;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Lcom/oracle/truffle/tools/profiler/impl/ProfilerToolFactory<Lcom/oracle/truffle/tools/profiler/CPUTracer;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/tools/profiler/CPUTracer;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
iconst_1
ldc Lcom/oracle/truffle/tools/profiler/CPUTracer;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
pop
1: goto 4
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
2: pop
3: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
0 1 2 Class java.lang.ClassNotFoundException
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
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/tools/profiler/impl/CPUTracerInstrument;
public static void setFactory(com.oracle.truffle.tools.profiler.impl.ProfilerToolFactory<com.oracle.truffle.tools.profiler.CPUTracer>);
descriptor: (Lcom/oracle/truffle/tools/profiler/impl/ProfilerToolFactory;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "com.oracle.truffle.tools.profiler"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Wrong factory: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
putstatic com.oracle.truffle.tools.profiler.impl.CPUTracerInstrument.factory:Lcom/oracle/truffle/tools/profiler/impl/ProfilerToolFactory;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 factory Lcom/oracle/truffle/tools/profiler/impl/ProfilerToolFactory<Lcom/oracle/truffle/tools/profiler/CPUTracer;>;
Signature: (Lcom/oracle/truffle/tools/profiler/impl/ProfilerToolFactory<Lcom/oracle/truffle/tools/profiler/CPUTracer;>;)V
MethodParameters:
Name Flags
factory
public static com.oracle.truffle.tools.profiler.CPUTracer getTracer(org.graalvm.polyglot.Engine);
descriptor: (Lorg/graalvm/polyglot/Engine;)Lcom/oracle/truffle/tools/profiler/CPUTracer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "cputracer"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new java.lang.IllegalStateException
dup
ldc "Tracer is not installed."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.graalvm.polyglot.Instrument
StackMap stack:
aload 1
ldc Lcom/oracle/truffle/tools/profiler/CPUTracer;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.CPUTracer
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 engine Lorg/graalvm/polyglot/Engine;
1 4 1 instrument Lorg/graalvm/polyglot/Instrument;
MethodParameters:
Name Flags
engine
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=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getstatic com.oracle.truffle.tools.profiler.impl.CPUTracerInstrument.factory:Lcom/oracle/truffle/tools/profiler/impl/ProfilerToolFactory;
aload 1
invokeinterface com.oracle.truffle.tools.profiler.impl.ProfilerToolFactory.create:(Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.CPUTracer
putfield com.oracle.truffle.tools.profiler.impl.CPUTracerInstrument.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
1: aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.tools.profiler.impl.CPUTracerCLI.ENABLED:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
putfield com.oracle.truffle.tools.profiler.impl.CPUTracerInstrument.enabled:Z
2: aload 0
getfield com.oracle.truffle.tools.profiler.impl.CPUTracerInstrument.enabled:Z
ifeq 12
3: aload 0
getfield com.oracle.truffle.tools.profiler.impl.CPUTracerInstrument.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
aload 1
invokestatic com.oracle.truffle.tools.profiler.impl.CPUTracerInstrument.getSourceSectionFilter:(Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
invokevirtual com.oracle.truffle.tools.profiler.CPUTracer.setFilter:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
4: goto 11
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
5: astore 2
start local 2 6: new java.io.PrintStream
dup
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.err:()Ljava/io/OutputStream;
invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
new java.lang.StringBuilder
dup
ldc "cputracer error: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: aload 0
iconst_0
putfield com.oracle.truffle.tools.profiler.impl.CPUTracerInstrument.enabled:Z
8: aload 0
getfield com.oracle.truffle.tools.profiler.impl.CPUTracerInstrument.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
iconst_0
invokevirtual com.oracle.truffle.tools.profiler.CPUTracer.setCollecting:(Z)V
9: aload 1
aload 0
getfield com.oracle.truffle.tools.profiler.impl.CPUTracerInstrument.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.registerService:(Ljava/lang/Object;)V
10: return
end local 2 11: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.profiler.impl.CPUTracerInstrument.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
iconst_1
invokevirtual com.oracle.truffle.tools.profiler.CPUTracer.setCollecting:(Z)V
12: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield com.oracle.truffle.tools.profiler.impl.CPUTracerInstrument.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.registerService:(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/tools/profiler/impl/CPUTracerInstrument;
0 14 1 env Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
6 11 2 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
3 4 5 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
env
private static com.oracle.truffle.api.instrumentation.SourceSectionFilter getSourceSectionFilter(com.oracle.truffle.api.instrumentation.TruffleInstrument$Env);
descriptor: (Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=9, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.tools.profiler.impl.CPUTracerCLI.TRACE_ROOTS:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.tools.profiler.impl.CPUTracerCLI.TRACE_STATEMENTS:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 2
start local 2 2: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.tools.profiler.impl.CPUTracerCLI.TRACE_CALLS:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 3
start local 3 3: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.tools.profiler.impl.CPUTracerCLI.TRACE_INTERNAL:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 4
start local 4 4: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.tools.profiler.impl.CPUTracerCLI.FILTER_ROOT:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.Object[]
astore 5
start local 5 5: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.tools.profiler.impl.CPUTracerCLI.FILTER_FILE:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.Object[]
astore 6
start local 6 6: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.tools.profiler.impl.CPUTracerCLI.FILTER_MIME_TYPE:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 7: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.tools.profiler.impl.CPUTracerCLI.FILTER_LANGUAGE:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.String
astore 8
start local 8 8: iload 1
iload 2
iload 3
iload 4
aload 5
aload 6
aload 7
aload 8
invokestatic com.oracle.truffle.tools.profiler.impl.CPUTracerCLI.buildFilter:(ZZZZ[Ljava/lang/Object;[Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
areturn
end local 8 end local 7 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 9 0 env Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
1 9 1 roots Z
2 9 2 statements Z
3 9 3 calls Z
4 9 4 internals Z
5 9 5 filterRootName [Ljava/lang/Object;
6 9 6 filterFile [Ljava/lang/Object;
7 9 7 filterMimeType Ljava/lang/String;
8 9 8 filterLanguage Ljava/lang/String;
MethodParameters:
Name Flags
env
protected org.graalvm.options.OptionDescriptors getOptionDescriptors();
descriptor: ()Lorg/graalvm/options/OptionDescriptors;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tCPUTracerCLIOptionDescriptors cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/tools/profiler/impl/CPUTracerInstrument;
protected void onDispose(com.oracle.truffle.api.instrumentation.TruffleInstrument$Env);
descriptor: (Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.tools.profiler.impl.CPUTracerInstrument.enabled:Z
ifeq 3
1: aload 1
aload 0
getfield com.oracle.truffle.tools.profiler.impl.CPUTracerInstrument.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
invokestatic com.oracle.truffle.tools.profiler.impl.CPUTracerCLI.handleOutput:(Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;Lcom/oracle/truffle/tools/profiler/CPUTracer;)V
2: aload 0
getfield com.oracle.truffle.tools.profiler.impl.CPUTracerInstrument.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
invokevirtual com.oracle.truffle.tools.profiler.CPUTracer.close:()V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/tools/profiler/impl/CPUTracerInstrument;
0 4 1 env Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
MethodParameters:
Name Flags
env
}
SourceFile: "CPUTracerInstrument.java"
InnerClasses:
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
RuntimeVisibleAnnotations:
com.oracle.truffle.api.instrumentation.TruffleInstrument$Registration(id = "cputracer", name = "CPU Tracer", version = "0.3.0", services = {Lcom/oracle/truffle/tools/profiler/CPUTracer;})