class com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI extends com.oracle.truffle.tools.profiler.impl.ProfilerCLI
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI
super_class: com.oracle.truffle.tools.profiler.impl.ProfilerCLI
{
static final org.graalvm.options.OptionType<com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$Output> CLI_OUTPUT_TYPE;
descriptor: Lorg/graalvm/options/OptionType;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/options/OptionType<Lcom/oracle/truffle/tools/profiler/impl/MemoryTracerCLI$Output;>;
static final org.graalvm.options.OptionKey<java.lang.Boolean> ENABLED;
descriptor: Lorg/graalvm/options/OptionKey;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/options/OptionKey<Ljava/lang/Boolean;>;
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.Option(name = "", help = "Enable the Memory Tracer (default:false).", category = org.graalvm.options.OptionCategory.USER:Lorg/graalvm/options/OptionCategory;)
static final org.graalvm.options.OptionKey<com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$Output> OUTPUT;
descriptor: Lorg/graalvm/options/OptionKey;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/options/OptionKey<Lcom/oracle/truffle/tools/profiler/impl/MemoryTracerCLI$Output;>;
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.Option(name = "Output", help = "Print a 'typehistogram', 'histogram' or 'calltree' as output (default:histogram).", category = org.graalvm.options.OptionCategory.USER:Lorg/graalvm/options/OptionCategory;)
static final org.graalvm.options.OptionKey<java.lang.Integer> STACK_LIMIT;
descriptor: Lorg/graalvm/options/OptionKey;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/options/OptionKey<Ljava/lang/Integer;>;
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.Option(name = "StackLimit", help = "Maximum number of maximum stack elements.", category = org.graalvm.options.OptionCategory.USER:Lorg/graalvm/options/OptionCategory;)
static final org.graalvm.options.OptionKey<java.lang.Boolean> TRACE_ROOTS;
descriptor: Lorg/graalvm/options/OptionKey;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/options/OptionKey<Ljava/lang/Boolean;>;
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.Option(name = "TraceRoots", help = "Capture roots when tracing (default:true).", category = org.graalvm.options.OptionCategory.USER:Lorg/graalvm/options/OptionCategory;)
static final org.graalvm.options.OptionKey<java.lang.Boolean> TRACE_STATEMENTS;
descriptor: Lorg/graalvm/options/OptionKey;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/options/OptionKey<Ljava/lang/Boolean;>;
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.Option(name = "TraceStatements", help = "Capture statements when tracing (default:false).", category = org.graalvm.options.OptionCategory.USER:Lorg/graalvm/options/OptionCategory;)
static final org.graalvm.options.OptionKey<java.lang.Boolean> TRACE_CALLS;
descriptor: Lorg/graalvm/options/OptionKey;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/options/OptionKey<Ljava/lang/Boolean;>;
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.Option(name = "TraceCalls", help = "Capture calls when tracing (default:false).", category = org.graalvm.options.OptionCategory.USER:Lorg/graalvm/options/OptionCategory;)
static final org.graalvm.options.OptionKey<java.lang.Boolean> TRACE_INTERNAL;
descriptor: Lorg/graalvm/options/OptionKey;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/options/OptionKey<Ljava/lang/Boolean;>;
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.Option(name = "TraceInternal", help = "Capture internal elements (default:false).", category = org.graalvm.options.OptionCategory.INTERNAL:Lorg/graalvm/options/OptionCategory;)
static final org.graalvm.options.OptionKey<java.lang.Object[]> FILTER_ROOT;
descriptor: Lorg/graalvm/options/OptionKey;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/options/OptionKey<[Ljava/lang/Object;>;
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.Option(name = "FilterRootName", help = "Wildcard filter for program roots. (eg. Math.*, default:*).", category = org.graalvm.options.OptionCategory.USER:Lorg/graalvm/options/OptionCategory;)
static final org.graalvm.options.OptionKey<java.lang.Object[]> FILTER_FILE;
descriptor: Lorg/graalvm/options/OptionKey;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/options/OptionKey<[Ljava/lang/Object;>;
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.Option(name = "FilterFile", help = "Wildcard filter for source file paths. (eg. *program*.sl, default:*).", category = org.graalvm.options.OptionCategory.USER:Lorg/graalvm/options/OptionCategory;)
static final org.graalvm.options.OptionKey<java.lang.String> FILTER_MIME_TYPE;
descriptor: Lorg/graalvm/options/OptionKey;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/options/OptionKey<Ljava/lang/String;>;
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.Option(name = "FilterMimeType", help = "Only profile languages with mime-type. (eg. +, default:no filter).", category = org.graalvm.options.OptionCategory.USER:Lorg/graalvm/options/OptionCategory;)
static final org.graalvm.options.OptionKey<java.lang.String> FILTER_LANGUAGE;
descriptor: Lorg/graalvm/options/OptionKey;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/options/OptionKey<Ljava/lang/String;>;
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.Option(name = "FilterLanguage", help = "Only profile languages with given ID. (eg. js, default:no filter).", category = org.graalvm.options.OptionCategory.USER:Lorg/graalvm/options/OptionCategory;)
private static volatile int[] $SWITCH_TABLE$com$oracle$truffle$tools$profiler$impl$MemoryTracerCLI$Output;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: new org.graalvm.options.OptionType
dup
ldc "Format"
1: new com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$1
dup
invokespecial com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$1.<init>:()V
2: new com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$2
dup
invokespecial com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$2.<init>:()V
3: invokespecial org.graalvm.options.OptionType.<init>:(Ljava/lang/String;Ljava/util/function/Function;Ljava/util/function/Consumer;)V
putstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.CLI_OUTPUT_TYPE:Lorg/graalvm/options/OptionType;
4: new org.graalvm.options.OptionKey
dup
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokespecial org.graalvm.options.OptionKey.<init>:(Ljava/lang/Object;)V
putstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.ENABLED:Lorg/graalvm/options/OptionKey;
5: new org.graalvm.options.OptionKey
dup
6: getstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$Output.LOCATION_HISTOGRAM:Lcom/oracle/truffle/tools/profiler/impl/MemoryTracerCLI$Output;
getstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.CLI_OUTPUT_TYPE:Lorg/graalvm/options/OptionType;
7: invokespecial org.graalvm.options.OptionKey.<init>:(Ljava/lang/Object;Lorg/graalvm/options/OptionType;)V
putstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.OUTPUT:Lorg/graalvm/options/OptionKey;
8: new org.graalvm.options.OptionKey
dup
sipush 10000
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial org.graalvm.options.OptionKey.<init>:(Ljava/lang/Object;)V
putstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.STACK_LIMIT:Lorg/graalvm/options/OptionKey;
9: new org.graalvm.options.OptionKey
dup
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokespecial org.graalvm.options.OptionKey.<init>:(Ljava/lang/Object;)V
putstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.TRACE_ROOTS:Lorg/graalvm/options/OptionKey;
10: new org.graalvm.options.OptionKey
dup
11: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
12: invokespecial org.graalvm.options.OptionKey.<init>:(Ljava/lang/Object;)V
putstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.TRACE_STATEMENTS:Lorg/graalvm/options/OptionKey;
13: new org.graalvm.options.OptionKey
dup
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokespecial org.graalvm.options.OptionKey.<init>:(Ljava/lang/Object;)V
putstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.TRACE_CALLS:Lorg/graalvm/options/OptionKey;
14: new org.graalvm.options.OptionKey
dup
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokespecial org.graalvm.options.OptionKey.<init>:(Ljava/lang/Object;)V
putstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.TRACE_INTERNAL:Lorg/graalvm/options/OptionKey;
15: new org.graalvm.options.OptionKey
dup
16: iconst_0
anewarray java.lang.Object
getstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.WILDCARD_FILTER_TYPE:Lorg/graalvm/options/OptionType;
17: invokespecial org.graalvm.options.OptionKey.<init>:(Ljava/lang/Object;Lorg/graalvm/options/OptionType;)V
putstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.FILTER_ROOT:Lorg/graalvm/options/OptionKey;
18: new org.graalvm.options.OptionKey
dup
19: iconst_0
anewarray java.lang.Object
getstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.WILDCARD_FILTER_TYPE:Lorg/graalvm/options/OptionType;
20: invokespecial org.graalvm.options.OptionKey.<init>:(Ljava/lang/Object;Lorg/graalvm/options/OptionType;)V
putstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.FILTER_FILE:Lorg/graalvm/options/OptionKey;
21: new org.graalvm.options.OptionKey
dup
22: ldc ""
23: invokespecial org.graalvm.options.OptionKey.<init>:(Ljava/lang/Object;)V
putstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.FILTER_MIME_TYPE:Lorg/graalvm/options/OptionKey;
24: new org.graalvm.options.OptionKey
dup
25: ldc ""
26: invokespecial org.graalvm.options.OptionKey.<init>:(Ljava/lang/Object;)V
putstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.FILTER_LANGUAGE:Lorg/graalvm/options/OptionKey;
27: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.tools.profiler.impl.ProfilerCLI.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/tools/profiler/impl/MemoryTracerCLI;
static void handleOutput(com.oracle.truffle.api.instrumentation.TruffleInstrument$Env, com.oracle.truffle.tools.profiler.MemoryTracer);
descriptor: (Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;Lcom/oracle/truffle/tools/profiler/MemoryTracer;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new java.io.PrintStream
dup
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.out:()Ljava/io/OutputStream;
invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.tools.profiler.MemoryTracer.hasStackOverflowed:()Z
ifeq 8
2: aload 2
ldc "-------------------------------------------------------------------------------- "
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: aload 2
new java.lang.StringBuilder
dup
ldc "ERROR: Shadow stack has overflowed its capacity of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.STACK_LIMIT:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " during execution!"
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
4: aload 2
ldc "The gathered data is incomplete and incorrect!"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: aload 2
new java.lang.StringBuilder
dup
ldc "Use --memtracer.StackLimit=<"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.STACK_LIMIT:Lorg/graalvm/options/OptionKey;
invokevirtual org.graalvm.options.OptionKey.getType:()Lorg/graalvm/options/OptionType;
invokevirtual org.graalvm.options.OptionType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "> to set stack capacity."
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
6: aload 2
ldc "-------------------------------------------------------------------------------- "
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: return
8: StackMap locals: java.io.PrintStream
StackMap stack:
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.$SWITCH_TABLE$com$oracle$truffle$tools$profiler$impl$MemoryTracerCLI$Output:()[I
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.OUTPUT:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$Output
invokevirtual com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$Output.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 9
2: 11
3: 13
default: 14
}
9: StackMap locals:
StackMap stack:
aload 2
aload 1
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.printMetaObjectHistogram:(Ljava/io/PrintStream;Lcom/oracle/truffle/tools/profiler/MemoryTracer;)V
10: goto 14
11: StackMap locals:
StackMap stack:
aload 2
aload 1
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.printLocationHistogram:(Ljava/io/PrintStream;Lcom/oracle/truffle/tools/profiler/MemoryTracer;)V
12: goto 14
13: StackMap locals:
StackMap stack:
aload 2
aload 1
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.printCallTree:(Ljava/io/PrintStream;Lcom/oracle/truffle/tools/profiler/MemoryTracer;)V
14: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 env Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
0 15 1 tracer Lcom/oracle/truffle/tools/profiler/MemoryTracer;
1 15 2 out Ljava/io/PrintStream;
MethodParameters:
Name Flags
env
tracer
private static java.util.Map<java.lang.String, java.util.List<com.oracle.truffle.tools.profiler.MemoryTracer$AllocationEventInfo>> computeMetaObjectHistogram(com.oracle.truffle.tools.profiler.MemoryTracer);
descriptor: (Lcom/oracle/truffle/tools/profiler/MemoryTracer;)Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.tools.profiler.MemoryTracer.getRootNodes:()Ljava/util/Collection;
aload 1
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.computeMetaObjectHistogramImpl:(Ljava/util/Collection;Ljava/util/Map;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 tracer Lcom/oracle/truffle/tools/profiler/MemoryTracer;
1 3 1 histogram Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lcom/oracle/truffle/tools/profiler/MemoryTracer$AllocationEventInfo;>;>;
Signature: (Lcom/oracle/truffle/tools/profiler/MemoryTracer;)Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lcom/oracle/truffle/tools/profiler/MemoryTracer$AllocationEventInfo;>;>;
MethodParameters:
Name Flags
tracer
private static void computeMetaObjectHistogramImpl(java.util.Collection<com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.MemoryTracer$Payload>>, java.util.Map<java.lang.String, java.util.List<com.oracle.truffle.tools.profiler.MemoryTracer$AllocationEventInfo>>);
descriptor: (Ljava/util/Collection;Ljava/util/Map;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 8
StackMap locals: java.util.Collection java.util.Map top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 2
start local 2 2: aload 2
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getPayload:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.MemoryTracer$Payload
invokevirtual com.oracle.truffle.tools.profiler.MemoryTracer$Payload.getEvents:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 6
StackMap locals: java.util.Collection java.util.Map com.oracle.truffle.tools.profiler.ProfilerNode java.util.Iterator top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.MemoryTracer$AllocationEventInfo
astore 4
start local 4 4: aload 1
aload 4
invokevirtual com.oracle.truffle.tools.profiler.MemoryTracer$AllocationEventInfo.getMetaObjectString:()Ljava/lang/String;
new com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$3
dup
invokespecial com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$3.<init>:()V
invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast java.util.List
astore 6
start local 6 5: aload 6
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 4 6: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: aload 2
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
aload 1
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.computeMetaObjectHistogramImpl:(Ljava/util/Collection;Ljava/util/Map;)V
end local 2 8: StackMap locals: java.util.Collection java.util.Map top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 children Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;>;
0 10 1 histogram Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lcom/oracle/truffle/tools/profiler/MemoryTracer$AllocationEventInfo;>;>;
2 8 2 treeNode Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;
4 6 4 info Lcom/oracle/truffle/tools/profiler/MemoryTracer$AllocationEventInfo;
5 6 6 nodes Ljava/util/List<Lcom/oracle/truffle/tools/profiler/MemoryTracer$AllocationEventInfo;>;
Signature: (Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;>;Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lcom/oracle/truffle/tools/profiler/MemoryTracer$AllocationEventInfo;>;>;)V
MethodParameters:
Name Flags
children
histogram
private static void printMetaObjectHistogram(java.io.PrintStream, com.oracle.truffle.tools.profiler.MemoryTracer);
descriptor: (Ljava/io/PrintStream;Lcom/oracle/truffle/tools/profiler/MemoryTracer;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=15, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.computeMetaObjectHistogram:(Lcom/oracle/truffle/tools/profiler/MemoryTracer;)Ljava/util/Map;
astore 2
start local 2 1: new java.util.ArrayList
dup
aload 2
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 3
start local 3 2: aload 3
new com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$4
dup
aload 2
invokespecial com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$4.<init>:(Ljava/util/Map;)V
invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
3: iconst_1
istore 4
start local 4 4: aload 2
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
start local 5 5: goto 7
6: StackMap locals: java.io.PrintStream com.oracle.truffle.tools.profiler.MemoryTracer java.util.Map java.util.List int java.util.Iterator
StackMap stack:
iload 4
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.length:()I
invokestatic java.lang.Math.max:(II)I
istore 4
7: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
8: aload 1
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.getTotalAllocationCount:(Lcom/oracle/truffle/tools/profiler/MemoryTracer;)J
lstore 6
start local 6 9: new java.lang.StringBuilder
dup
ldc " %-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "s | %15s "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 8
start local 8 10: aload 8
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "Type"
aastore
dup
iconst_1
ldc "Count"
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 9
start local 9 11: ldc "-"
aload 9
invokevirtual java.lang.String.length:()I
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.repeat:(Ljava/lang/String;I)Ljava/lang/String;
astore 10
start local 10 12: aload 0
aload 10
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
13: aload 0
ldc " Type Histogram with Allocation Counts. Recorded a total of %d allocations."
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 6
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
14: aload 0
aload 10
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
15: aload 0
aload 9
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
16: aload 0
aload 10
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
17: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 22
StackMap locals: java.io.PrintStream com.oracle.truffle.tools.profiler.MemoryTracer java.util.Map java.util.List int java.util.Iterator long java.lang.String java.lang.String java.lang.String top java.util.Iterator
StackMap stack:
18: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 11
start local 11 19: aload 2
aload 11
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.size:()I
istore 13
start local 13 20: ldc "%d %5.1f%%"
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 13
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 13
i2d
ldc 100.0
dmul
lload 6
l2d
ddiv
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 14
start local 14 21: aload 0
aload 8
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 11
aastore
dup
iconst_1
aload 14
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 14 end local 13 end local 11 22: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
23: aload 0
aload 10
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
24: return
end local 10 end local 9 end local 8 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 25 0 out Ljava/io/PrintStream;
0 25 1 tracer Lcom/oracle/truffle/tools/profiler/MemoryTracer;
1 25 2 histogram Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lcom/oracle/truffle/tools/profiler/MemoryTracer$AllocationEventInfo;>;>;
2 25 3 keys Ljava/util/List<Ljava/lang/String;>;
4 25 4 metaObjectMax I
5 25 5 iterator Ljava/util/Iterator<Ljava/lang/String;>;
9 25 6 totalAllocations J
10 25 8 format Ljava/lang/String;
11 25 9 title Ljava/lang/String;
12 25 10 sep Ljava/lang/String;
19 22 11 metaObjectString Ljava/lang/String;
20 22 13 allocationCount I
21 22 14 count Ljava/lang/String;
MethodParameters:
Name Flags
out
tracer
private static java.util.Map<com.oracle.truffle.tools.profiler.impl.ProfilerCLI$SourceLocation, java.util.List<com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.MemoryTracer$Payload>>> computeSourceLocationHistogram(com.oracle.truffle.tools.profiler.MemoryTracer);
descriptor: (Lcom/oracle/truffle/tools/profiler/MemoryTracer;)Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.tools.profiler.MemoryTracer.getRootNodes:()Ljava/util/Collection;
aload 1
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.computeSourceLocationHistogramImpl:(Ljava/util/Collection;Ljava/util/Map;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 tracer Lcom/oracle/truffle/tools/profiler/MemoryTracer;
1 3 1 histogram Ljava/util/Map<Lcom/oracle/truffle/tools/profiler/impl/ProfilerCLI$SourceLocation;Ljava/util/List<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;>;>;
Signature: (Lcom/oracle/truffle/tools/profiler/MemoryTracer;)Ljava/util/Map<Lcom/oracle/truffle/tools/profiler/impl/ProfilerCLI$SourceLocation;Ljava/util/List<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;>;>;
MethodParameters:
Name Flags
tracer
private static void computeSourceLocationHistogramImpl(java.util.Collection<com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.MemoryTracer$Payload>>, java.util.Map<com.oracle.truffle.tools.profiler.impl.ProfilerCLI$SourceLocation, java.util.List<com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.MemoryTracer$Payload>>>);
descriptor: (Ljava/util/Collection;Ljava/util/Map;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 7
StackMap locals: java.util.Collection java.util.Map top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 2
start local 2 2: aload 1
new com.oracle.truffle.tools.profiler.impl.ProfilerCLI$SourceLocation
dup
aload 2
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
aload 2
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getRootName:()Ljava/lang/String;
invokespecial com.oracle.truffle.tools.profiler.impl.ProfilerCLI$SourceLocation.<init>:(Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;)V
3: new com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$5
dup
invokespecial com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$5.<init>:()V
4: invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast java.util.List
astore 4
start local 4 5: aload 4
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: aload 2
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
aload 1
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.computeSourceLocationHistogramImpl:(Ljava/util/Collection;Ljava/util/Map;)V
end local 4 end local 2 7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 children Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;>;
0 9 1 histogram Ljava/util/Map<Lcom/oracle/truffle/tools/profiler/impl/ProfilerCLI$SourceLocation;Ljava/util/List<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;>;>;
2 7 2 treeNode Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;
5 7 4 nodes Ljava/util/List<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;>;
Signature: (Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;>;Ljava/util/Map<Lcom/oracle/truffle/tools/profiler/impl/ProfilerCLI$SourceLocation;Ljava/util/List<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;>;>;)V
MethodParameters:
Name Flags
children
histogram
private static void printLocationHistogram(java.io.PrintStream, com.oracle.truffle.tools.profiler.MemoryTracer);
descriptor: (Ljava/io/PrintStream;Lcom/oracle/truffle/tools/profiler/MemoryTracer;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=21, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.computeSourceLocationHistogram:(Lcom/oracle/truffle/tools/profiler/MemoryTracer;)Ljava/util/Map;
astore 2
start local 2 1: aload 2
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.getSortedSourceLocations:(Ljava/util/Map;)Ljava/util/List;
astore 3
start local 3 2: iconst_1
istore 4
start local 4 3: aload 2
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
start local 5 4: goto 7
5: StackMap locals: java.io.PrintStream com.oracle.truffle.tools.profiler.MemoryTracer java.util.Map java.util.List int java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.List
astore 6
start local 6 6: iload 4
aload 6
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getRootName:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
invokestatic java.lang.Math.max:(II)I
istore 4
end local 6 7: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 1
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.getTotalAllocationCount:(Lcom/oracle/truffle/tools/profiler/MemoryTracer;)J
lstore 6
start local 6 9: new java.lang.StringBuilder
dup
ldc " %-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "s | %15s | %15s | %8s"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 8
start local 8 10: aload 8
iconst_4
anewarray java.lang.Object
dup
iconst_0
ldc "Name"
aastore
dup
iconst_1
ldc "Self Count"
aastore
dup
iconst_2
ldc "Total Count"
aastore
dup
iconst_3
ldc "Location"
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 9
start local 9 11: ldc "-"
aload 9
invokevirtual java.lang.String.length:()I
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.repeat:(Ljava/lang/String;I)Ljava/lang/String;
astore 10
start local 10 12: aload 0
aload 10
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
13: aload 0
ldc " Location Histogram with Allocation Counts. Recorded a total of %d allocations."
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 6
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
14: aload 0
ldc " Total Count: Number of allocations during the execution of this element."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
15: aload 0
ldc " Self Count: Number of allocations in this element alone (excluding sub calls). "
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
16: aload 0
aload 10
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
17: aload 0
aload 9
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
18: aload 0
aload 10
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
19: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 36
StackMap locals: java.io.PrintStream com.oracle.truffle.tools.profiler.MemoryTracer java.util.Map java.util.List int java.util.Iterator long java.lang.String java.lang.String java.lang.String top java.util.Iterator
StackMap stack:
20: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.impl.ProfilerCLI$SourceLocation
astore 11
start local 11 21: aload 2
aload 11
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 13
start local 13 22: lconst_0
lstore 14
start local 14 23: lconst_0
lstore 16
start local 16 24: aload 13
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 19
goto 31
StackMap locals: java.io.PrintStream com.oracle.truffle.tools.profiler.MemoryTracer java.util.Map java.util.List int java.util.Iterator long java.lang.String java.lang.String java.lang.String com.oracle.truffle.tools.profiler.impl.ProfilerCLI$SourceLocation java.util.Iterator java.util.List long long top java.util.Iterator
StackMap stack:
25: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 18
start local 18 26: aload 18
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getPayload:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.MemoryTracer$Payload
astore 20
start local 20 27: lload 14
aload 20
invokevirtual com.oracle.truffle.tools.profiler.MemoryTracer$Payload.getEvents:()Ljava/util/List;
invokeinterface java.util.List.size:()I
i2l
ladd
lstore 14
28: lload 16
aload 18
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.isRecursive:()Z
ifeq 29
lconst_0
goto 30
StackMap locals: java.io.PrintStream com.oracle.truffle.tools.profiler.MemoryTracer java.util.Map java.util.List int java.util.Iterator long java.lang.String java.lang.String java.lang.String com.oracle.truffle.tools.profiler.impl.ProfilerCLI$SourceLocation java.util.Iterator java.util.List long long com.oracle.truffle.tools.profiler.ProfilerNode java.util.Iterator com.oracle.truffle.tools.profiler.MemoryTracer$Payload
StackMap stack: long
29: aload 20
invokevirtual com.oracle.truffle.tools.profiler.MemoryTracer$Payload.getTotalAllocations:()J
StackMap locals: java.io.PrintStream com.oracle.truffle.tools.profiler.MemoryTracer java.util.Map java.util.List int java.util.Iterator long java.lang.String java.lang.String java.lang.String com.oracle.truffle.tools.profiler.impl.ProfilerCLI$SourceLocation java.util.Iterator java.util.List long long com.oracle.truffle.tools.profiler.ProfilerNode java.util.Iterator com.oracle.truffle.tools.profiler.MemoryTracer$Payload
StackMap stack: long long
30: ladd
lstore 16
end local 20 end local 18 31: StackMap locals: java.io.PrintStream com.oracle.truffle.tools.profiler.MemoryTracer java.util.Map java.util.List int java.util.Iterator long java.lang.String java.lang.String java.lang.String com.oracle.truffle.tools.profiler.impl.ProfilerCLI$SourceLocation java.util.Iterator java.util.List long long top java.util.Iterator
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 25
32: ldc "%d %5.1f%%"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 14
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
lload 14
l2d
ldc 100.0
dmul
lload 6
l2d
ddiv
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 18
start local 18 33: ldc "%d %5.1f%%"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 16
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
lload 16
l2d
ldc 100.0
dmul
lload 6
l2d
ddiv
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 19
start local 19 34: aload 8
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 13
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getRootName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 18
aastore
dup
iconst_2
aload 19
aastore
dup
iconst_3
aload 11
invokevirtual com.oracle.truffle.tools.profiler.impl.ProfilerCLI$SourceLocation.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.getShortDescription:(Lcom/oracle/truffle/api/source/SourceSection;)Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 20
start local 20 35: aload 0
aload 20
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 20 end local 19 end local 18 end local 16 end local 14 end local 13 end local 11 36: StackMap locals: java.io.PrintStream com.oracle.truffle.tools.profiler.MemoryTracer java.util.Map java.util.List int java.util.Iterator long java.lang.String java.lang.String java.lang.String top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
37: aload 0
aload 10
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
38: return
end local 10 end local 9 end local 8 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 39 0 out Ljava/io/PrintStream;
0 39 1 tracer Lcom/oracle/truffle/tools/profiler/MemoryTracer;
1 39 2 histogram Ljava/util/Map<Lcom/oracle/truffle/tools/profiler/impl/ProfilerCLI$SourceLocation;Ljava/util/List<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;>;>;
2 39 3 keys Ljava/util/List<Lcom/oracle/truffle/tools/profiler/impl/ProfilerCLI$SourceLocation;>;
3 39 4 nameMax I
4 39 5 iterator Ljava/util/Iterator<Ljava/util/List<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;>;>;
6 7 6 profilerNodes Ljava/util/List<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;>;
9 39 6 totalAllocations J
10 39 8 format Ljava/lang/String;
11 39 9 title Ljava/lang/String;
12 39 10 sep Ljava/lang/String;
21 36 11 location Lcom/oracle/truffle/tools/profiler/impl/ProfilerCLI$SourceLocation;
22 36 13 profilerNodes Ljava/util/List<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;>;
23 36 14 self J
24 36 16 total J
26 31 18 node Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;
27 31 20 payload Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;
33 36 18 selfCount Ljava/lang/String;
34 36 19 totalCount Ljava/lang/String;
35 36 20 output Ljava/lang/String;
MethodParameters:
Name Flags
out
tracer
private static void printCallTree(java.io.PrintStream, com.oracle.truffle.tools.profiler.MemoryTracer);
descriptor: (Ljava/io/PrintStream;Lcom/oracle/truffle/tools/profiler/MemoryTracer;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.getFirstFieldOfTitleMax:(Lcom/oracle/truffle/tools/profiler/MemoryTracer;)I
istore 2
start local 2 1: aload 1
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.getTotalAllocationCount:(Lcom/oracle/truffle/tools/profiler/MemoryTracer;)J
lstore 3
start local 3 2: new java.lang.StringBuilder
dup
ldc " %-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "s | %15s | %15s | %s"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 3: aload 5
iconst_4
anewarray java.lang.Object
dup
iconst_0
ldc "Name"
aastore
dup
iconst_1
ldc "Total Count"
aastore
dup
iconst_2
ldc "Self Count"
aastore
dup
iconst_3
ldc "Location "
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 6
start local 6 4: ldc "-"
aload 6
invokevirtual java.lang.String.length:()I
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.repeat:(Ljava/lang/String;I)Ljava/lang/String;
astore 7
start local 7 5: aload 0
aload 7
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: aload 0
ldc " Call Tree with Allocation Counts. Recorded a total of %d allocations."
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: aload 0
ldc " Total Count: Number of allocations during the execution of this function."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
8: aload 0
ldc " Self Count: Number of allocations in this function alone (excluding sub calls). "
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: aload 0
aload 7
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: aload 0
aload 6
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: aload 0
aload 7
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
12: aload 1
invokevirtual com.oracle.truffle.tools.profiler.MemoryTracer.getRootNodes:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 9
goto 15
StackMap locals: java.io.PrintStream com.oracle.truffle.tools.profiler.MemoryTracer int long java.lang.String java.lang.String java.lang.String top java.util.Iterator
StackMap stack:
13: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 8
start local 8 14: aload 8
aload 5
iconst_0
lload 3
aload 0
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.printCallTree:(Lcom/oracle/truffle/tools/profiler/ProfilerNode;Ljava/lang/String;IJLjava/io/PrintStream;)V
end local 8 15: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
16: aload 0
aload 7
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
17: return
end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 out Ljava/io/PrintStream;
0 18 1 tracer Lcom/oracle/truffle/tools/profiler/MemoryTracer;
1 18 2 titleMax I
2 18 3 totalAllocations J
3 18 5 format Ljava/lang/String;
4 18 6 title Ljava/lang/String;
5 18 7 sep Ljava/lang/String;
14 15 8 node Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;
MethodParameters:
Name Flags
out
tracer
private static void printCallTree(com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.MemoryTracer$Payload>, java.lang.String, int, long, java.io.PrintStream);
descriptor: (Lcom/oracle/truffle/tools/profiler/ProfilerNode;Ljava/lang/String;IJLjava/io/PrintStream;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: ldc " "
iload 2
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.repeat:(Ljava/lang/String;I)Ljava/lang/String;
astore 6
start local 6 1: aload 0
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getPayload:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.MemoryTracer$Payload
astore 7
start local 7 2: ldc "%d %5.1f%%"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 7
invokevirtual com.oracle.truffle.tools.profiler.MemoryTracer$Payload.getEvents:()Ljava/util/List;
invokeinterface java.util.List.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 7
invokevirtual com.oracle.truffle.tools.profiler.MemoryTracer$Payload.getEvents:()Ljava/util/List;
invokeinterface java.util.List.size:()I
i2d
ldc 100.0
dmul
lload 3
l2d
ddiv
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 8
start local 8 3: ldc "%d %5.1f%%"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 7
invokevirtual com.oracle.truffle.tools.profiler.MemoryTracer$Payload.getTotalAllocations:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 7
invokevirtual com.oracle.truffle.tools.profiler.MemoryTracer$Payload.getTotalAllocations:()J
l2d
ldc 100.0
dmul
lload 3
l2d
ddiv
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 9
start local 9 4: aload 1
iconst_4
anewarray java.lang.Object
dup
iconst_0
new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getRootName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_1
aload 9
aastore
dup
iconst_2
aload 8
aastore
dup
iconst_3
aload 0
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.getShortDescription:(Lcom/oracle/truffle/api/source/SourceSection;)Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 10
start local 10 5: aload 5
aload 10
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: aload 0
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 12
goto 9
StackMap locals: com.oracle.truffle.tools.profiler.ProfilerNode java.lang.String int long java.io.PrintStream java.lang.String com.oracle.truffle.tools.profiler.MemoryTracer$Payload java.lang.String java.lang.String java.lang.String top java.util.Iterator
StackMap stack:
7: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 11
start local 11 8: aload 11
aload 1
iload 2
iconst_1
iadd
lload 3
aload 5
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.printCallTree:(Lcom/oracle/truffle/tools/profiler/ProfilerNode;Ljava/lang/String;IJLjava/io/PrintStream;)V
end local 11 9: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
10: return
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 node Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;
0 11 1 format Ljava/lang/String;
0 11 2 depth I
0 11 3 totalAllocations J
0 11 5 out Ljava/io/PrintStream;
1 11 6 padding Ljava/lang/String;
2 11 7 payload Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;
3 11 8 selfCount Ljava/lang/String;
4 11 9 count Ljava/lang/String;
5 11 10 output Ljava/lang/String;
8 9 11 child Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;
Signature: (Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;Ljava/lang/String;IJLjava/io/PrintStream;)V
MethodParameters:
Name Flags
node
format
depth
totalAllocations
out
private static java.util.List<com.oracle.truffle.tools.profiler.impl.ProfilerCLI$SourceLocation> getSortedSourceLocations(java.util.Map<com.oracle.truffle.tools.profiler.impl.ProfilerCLI$SourceLocation, java.util.List<com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.MemoryTracer$Payload>>>);
descriptor: (Ljava/util/Map;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new java.util.ArrayList
dup
aload 0
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 1
start local 1 1: aload 1
new com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$6
dup
aload 0
invokespecial com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$6.<init>:(Ljava/util/Map;)V
invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 histogram Ljava/util/Map<Lcom/oracle/truffle/tools/profiler/impl/ProfilerCLI$SourceLocation;Ljava/util/List<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;>;>;
1 3 1 keys Ljava/util/List<Lcom/oracle/truffle/tools/profiler/impl/ProfilerCLI$SourceLocation;>;
Signature: (Ljava/util/Map<Lcom/oracle/truffle/tools/profiler/impl/ProfilerCLI$SourceLocation;Ljava/util/List<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;>;>;)Ljava/util/List<Lcom/oracle/truffle/tools/profiler/impl/ProfilerCLI$SourceLocation;>;
MethodParameters:
Name Flags
histogram
private static int getFirstFieldOfTitleMax(com.oracle.truffle.tools.profiler.MemoryTracer);
descriptor: (Lcom/oracle/truffle/tools/profiler/MemoryTracer;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: bipush 10
istore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.tools.profiler.MemoryTracer.getRootNodes:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: com.oracle.truffle.tools.profiler.MemoryTracer int top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 2
start local 2 3: iload 1
aload 2
iconst_0
iload 1
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.getFirstFieldOfTitleMaxRec:(Lcom/oracle/truffle/tools/profiler/ProfilerNode;II)I
invokestatic java.lang.Math.max:(II)I
istore 1
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 tracer Lcom/oracle/truffle/tools/profiler/MemoryTracer;
1 6 1 titleMax I
3 4 2 node Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;
MethodParameters:
Name Flags
tracer
private static int getFirstFieldOfTitleMaxRec(com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.MemoryTracer$Payload>, int, );
descriptor: (Lcom/oracle/truffle/tools/profiler/ProfilerNode;II)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iload 2
aload 0
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getRootName:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iconst_2
iload 1
imul
iadd
invokestatic java.lang.Math.max:(II)I
istore 3
start local 3 1: aload 0
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 4
StackMap locals: com.oracle.truffle.tools.profiler.ProfilerNode int int int top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 4
start local 4 3: iload 3
aload 4
iload 1
iconst_1
iadd
iload 3
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.getFirstFieldOfTitleMaxRec:(Lcom/oracle/truffle/tools/profiler/ProfilerNode;II)I
invokestatic java.lang.Math.max:(II)I
istore 3
end local 4 4: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 node Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;
0 6 1 depth I
0 6 2 max I
1 6 3 newMax I
3 4 4 child Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;
Signature: (Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;II)I
MethodParameters:
Name Flags
node
depth
max
private static long getTotalAllocationCount(com.oracle.truffle.tools.profiler.MemoryTracer);
descriptor: (Lcom/oracle/truffle/tools/profiler/MemoryTracer;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.tools.profiler.MemoryTracer.getRootNodes:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: com.oracle.truffle.tools.profiler.MemoryTracer long top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.ProfilerNode
astore 3
start local 3 3: lload 1
aload 3
invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getPayload:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.profiler.MemoryTracer$Payload
invokevirtual com.oracle.truffle.tools.profiler.MemoryTracer$Payload.getTotalAllocations:()J
ladd
lstore 1
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 tracer Lcom/oracle/truffle/tools/profiler/MemoryTracer;
1 6 1 sum J
3 4 3 node Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/MemoryTracer$Payload;>;
MethodParameters:
Name Flags
tracer
static int[] $SWITCH_TABLE$com$oracle$truffle$tools$profiler$impl$MemoryTracerCLI$Output();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.$SWITCH_TABLE$com$oracle$truffle$tools$profiler$impl$MemoryTracerCLI$Output:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$Output.values:()[Lcom/oracle/truffle/tools/profiler/impl/MemoryTracerCLI$Output;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$Output.CALLTREE:Lcom/oracle/truffle/tools/profiler/impl/MemoryTracerCLI$Output;
invokevirtual com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$Output.ordinal:()I
iconst_3
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$Output.LOCATION_HISTOGRAM:Lcom/oracle/truffle/tools/profiler/impl/MemoryTracerCLI$Output;
invokevirtual com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$Output.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$Output.TYPE_HISTOGRAM:Lcom/oracle/truffle/tools/profiler/impl/MemoryTracerCLI$Output;
invokevirtual com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$Output.ordinal:()I
iconst_1
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI.$SWITCH_TABLE$com$oracle$truffle$tools$profiler$impl$MemoryTracerCLI$Output:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
}
SourceFile: "MemoryTracerCLI.java"
NestMembers:
com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$1 com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$2 com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$3 com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$4 com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$5 com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$6 com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$Output
InnerClasses:
public abstract Group = com.oracle.truffle.api.Option$Group of com.oracle.truffle.api.Option
public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument
public final AllocationEventInfo = com.oracle.truffle.tools.profiler.MemoryTracer$AllocationEventInfo of com.oracle.truffle.tools.profiler.MemoryTracer
public final Payload = com.oracle.truffle.tools.profiler.MemoryTracer$Payload of com.oracle.truffle.tools.profiler.MemoryTracer
com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$1
com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$2
com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$3
com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$4
com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$5
com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$6
final Output = com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI$Output of com.oracle.truffle.tools.profiler.impl.MemoryTracerCLI
SourceLocation = com.oracle.truffle.tools.profiler.impl.ProfilerCLI$SourceLocation of com.oracle.truffle.tools.profiler.impl.ProfilerCLI
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.Option$Group(value = {"memtracer"})