public final class com.oracle.svm.core.allocationprofile.AllocationSite
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.core.allocationprofile.AllocationSite
super_class: java.lang.Object
{
private static final java.util.concurrent.ConcurrentMap<com.oracle.svm.core.allocationprofile.AllocationSite, com.oracle.svm.core.allocationprofile.AllocationSite> sites;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Lcom/oracle/svm/core/allocationprofile/AllocationSite;Lcom/oracle/svm/core/allocationprofile/AllocationSite;>;
private final java.lang.String siteName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String className;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicReference<com.oracle.svm.core.allocationprofile.AllocationCounter> firstCounter;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Lcom/oracle/svm/core/allocationprofile/AllocationCounter;>;
private long cachedCount;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long cachedSize;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private static final java.util.Comparator<com.oracle.svm.core.allocationprofile.AllocationSite> sitesComparator;
descriptor: Ljava/util/Comparator;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Comparator<Lcom/oracle/svm/core/allocationprofile/AllocationSite;>;
private static final java.util.Comparator<com.oracle.svm.core.allocationprofile.AllocationCounter> counterComparator;
descriptor: Ljava/util/Comparator;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Comparator<Lcom/oracle/svm/core/allocationprofile/AllocationCounter;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lcom/oracle/svm/core/allocationprofile/AllocationSite;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.svm.core.allocationprofile.AllocationSite.$assertionsDisabled:Z
3: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putstatic com.oracle.svm.core.allocationprofile.AllocationSite.sites:Ljava/util/concurrent/ConcurrentMap;
4: ldc "__unused_to_make_counter_types_reachable__"
ldc "__"
invokestatic com.oracle.svm.core.allocationprofile.AllocationSite.lookup:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/svm/core/allocationprofile/AllocationSite;
ldc "__"
invokevirtual com.oracle.svm.core.allocationprofile.AllocationSite.createCounter:(Ljava/lang/String;)Lcom/oracle/svm/core/allocationprofile/AllocationCounter;
pop
5: new com.oracle.svm.core.allocationprofile.AllocationSite$1
dup
invokespecial com.oracle.svm.core.allocationprofile.AllocationSite$1.<init>:()V
putstatic com.oracle.svm.core.allocationprofile.AllocationSite.sitesComparator:Ljava/util/Comparator;
6: invokedynamic compare()Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
com/oracle/svm/core/allocationprofile/AllocationSite.lambda$0(Lcom/oracle/svm/core/allocationprofile/AllocationCounter;Lcom/oracle/svm/core/allocationprofile/AllocationCounter;)I (6)
(Lcom/oracle/svm/core/allocationprofile/AllocationCounter;Lcom/oracle/svm/core/allocationprofile/AllocationCounter;)I
putstatic com.oracle.svm.core.allocationprofile.AllocationSite.counterComparator:Ljava/util/Comparator;
return
LocalVariableTable:
Start End Slot Name Signature
public static com.oracle.svm.core.allocationprofile.AllocationSite lookup(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/svm/core/allocationprofile/AllocationSite;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.svm.core.allocationprofile.AllocationSite.sites:Ljava/util/concurrent/ConcurrentMap;
new com.oracle.svm.core.allocationprofile.AllocationSite
dup
aload 0
aload 1
invokespecial com.oracle.svm.core.allocationprofile.AllocationSite.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/svm/core/allocationprofile/AllocationSite.lambda$1(Lcom/oracle/svm/core/allocationprofile/AllocationSite;)Lcom/oracle/svm/core/allocationprofile/AllocationSite; (6)
(Lcom/oracle/svm/core/allocationprofile/AllocationSite;)Lcom/oracle/svm/core/allocationprofile/AllocationSite;
invokeinterface java.util.concurrent.ConcurrentMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast com.oracle.svm.core.allocationprofile.AllocationSite
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 siteName Ljava/lang/String;
0 1 1 className Ljava/lang/String;
MethodParameters:
Name Flags
siteName
className
private void <init>(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.svm.core.allocationprofile.AllocationSite.siteName:Ljava/lang/String;
2: aload 0
aload 2
putfield com.oracle.svm.core.allocationprofile.AllocationSite.className:Ljava/lang/String;
3: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield com.oracle.svm.core.allocationprofile.AllocationSite.firstCounter:Ljava/util/concurrent/atomic/AtomicReference;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/core/allocationprofile/AllocationSite;
0 5 1 siteName Ljava/lang/String;
0 5 2 className Ljava/lang/String;
MethodParameters:
Name Flags
siteName
className
public com.oracle.svm.core.allocationprofile.AllocationCounter createCounter(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/oracle/svm/core/allocationprofile/AllocationCounter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
new com.oracle.svm.core.allocationprofile.AllocationCounter
dup
aload 1
aload 0
getfield com.oracle.svm.core.allocationprofile.AllocationSite.firstCounter:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast com.oracle.svm.core.allocationprofile.AllocationCounter
invokespecial com.oracle.svm.core.allocationprofile.AllocationCounter.<init>:(Ljava/lang/String;Lcom/oracle/svm/core/allocationprofile/AllocationCounter;)V
astore 2
start local 2 1: aload 0
getfield com.oracle.svm.core.allocationprofile.AllocationSite.firstCounter:Ljava/util/concurrent/atomic/AtomicReference;
aload 2
invokevirtual com.oracle.svm.core.allocationprofile.AllocationCounter.getNext:()Lcom/oracle/svm/core/allocationprofile/AllocationCounter;
aload 2
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 0
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/core/allocationprofile/AllocationSite;
0 3 1 counterName Ljava/lang/String;
1 3 2 counter Lcom/oracle/svm/core/allocationprofile/AllocationCounter;
MethodParameters:
Name Flags
counterName
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
getfield com.oracle.svm.core.allocationprofile.AllocationSite.siteName:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " : "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.svm.core.allocationprofile.AllocationSite.className:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/allocationprofile/AllocationSite;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.svm.core.allocationprofile.AllocationSite
ifeq 4
1: aload 1
checkcast com.oracle.svm.core.allocationprofile.AllocationSite
astore 2
start local 2 2: aload 0
getfield com.oracle.svm.core.allocationprofile.AllocationSite.className:Ljava/lang/String;
aload 2
getfield com.oracle.svm.core.allocationprofile.AllocationSite.className:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
aload 0
getfield com.oracle.svm.core.allocationprofile.AllocationSite.siteName:Ljava/lang/String;
aload 2
getfield com.oracle.svm.core.allocationprofile.AllocationSite.siteName:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
iconst_1
ireturn
StackMap locals: com.oracle.svm.core.allocationprofile.AllocationSite
StackMap stack:
3: iconst_0
ireturn
end local 2 4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/core/allocationprofile/AllocationSite;
0 5 1 obj Ljava/lang/Object;
2 4 2 other Lcom/oracle/svm/core/allocationprofile/AllocationSite;
MethodParameters:
Name Flags
obj
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.core.allocationprofile.AllocationSite.className:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
aload 0
getfield com.oracle.svm.core.allocationprofile.AllocationSite.siteName:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/allocationprofile/AllocationSite;
public static java.util.List<com.oracle.svm.core.allocationprofile.AllocationSite> getSites();
descriptor: ()Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=0
0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 0
start local 0 1: getstatic com.oracle.svm.core.allocationprofile.AllocationSite.sites:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 15
StackMap locals: java.util.List top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.svm.core.allocationprofile.AllocationSite
astore 1
start local 1 3: lconst_0
lstore 3
start local 3 4: lconst_0
lstore 5
start local 5 5: aload 1
getfield com.oracle.svm.core.allocationprofile.AllocationSite.firstCounter:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast com.oracle.svm.core.allocationprofile.AllocationCounter
astore 7
start local 7 6: goto 10
7: StackMap locals: java.util.List com.oracle.svm.core.allocationprofile.AllocationSite java.util.Iterator long long com.oracle.svm.core.allocationprofile.AllocationCounter
StackMap stack:
lload 3
aload 7
invokevirtual com.oracle.svm.core.allocationprofile.AllocationCounter.getCount:()J
ladd
lstore 3
8: lload 5
aload 7
invokevirtual com.oracle.svm.core.allocationprofile.AllocationCounter.getSize:()J
ladd
lstore 5
9: aload 7
invokevirtual com.oracle.svm.core.allocationprofile.AllocationCounter.getNext:()Lcom/oracle/svm/core/allocationprofile/AllocationCounter;
astore 7
StackMap locals:
StackMap stack:
10: aload 7
ifnonnull 7
end local 7 11: aload 1
lload 3
putfield com.oracle.svm.core.allocationprofile.AllocationSite.cachedCount:J
12: aload 1
lload 5
putfield com.oracle.svm.core.allocationprofile.AllocationSite.cachedSize:J
13: lload 5
getstatic com.oracle.svm.core.allocationprofile.AllocationSite$Options.AllocationProfilingThreshold:Lcom/oracle/svm/core/option/RuntimeOptionKey;
invokevirtual com.oracle.svm.core.option.RuntimeOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
i2l
lcmp
iflt 15
14: aload 0
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 3 end local 1 15: StackMap locals: java.util.List top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
16: aload 0
getstatic com.oracle.svm.core.allocationprofile.AllocationSite.sitesComparator:Ljava/util/Comparator;
invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
17: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 18 0 sortedSites Ljava/util/List<Lcom/oracle/svm/core/allocationprofile/AllocationSite;>;
3 15 1 site Lcom/oracle/svm/core/allocationprofile/AllocationSite;
4 15 3 totalCount J
5 15 5 totalSize J
6 11 7 counter Lcom/oracle/svm/core/allocationprofile/AllocationCounter;
Signature: ()Ljava/util/List<Lcom/oracle/svm/core/allocationprofile/AllocationSite;>;
public static void dumpProfilingResults();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
invokestatic com.oracle.svm.core.allocationprofile.AllocationSite.dumpProfilingResults:(Lcom/oracle/svm/core/log/Log;)V
1: return
LocalVariableTable:
Start End Slot Name Signature
public static void dumpProfilingResults(com.oracle.svm.core.log.Log);
descriptor: (Lcom/oracle/svm/core/log/Log;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=12, args_size=1
start local 0 0: getstatic com.oracle.svm.core.allocationprofile.AllocationSite.$assertionsDisabled:Z
ifne 1
getstatic com.oracle.svm.core.allocationprofile.AllocationSite$Options.AllocationProfiling:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
lconst_0
lstore 1
start local 1 2: lconst_0
lstore 3
start local 3 3: invokestatic com.oracle.svm.core.allocationprofile.AllocationSite.getSites:()Ljava/util/List;
astore 5
start local 5 4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
start local 6 5: aload 0
ldc "Allocation site;Allocation class;Allocation count;Allocation size in bytes"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
6: new java.text.DecimalFormat
dup
ldc "###,###,###,###"
invokespecial java.text.DecimalFormat.<init>:(Ljava/lang/String;)V
astore 7
start local 7 7: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 25
StackMap locals: com.oracle.svm.core.log.Log long long java.util.List java.util.List java.text.DecimalFormat top java.util.Iterator
StackMap stack:
8: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.svm.core.allocationprofile.AllocationSite
astore 8
start local 8 9: aload 0
aload 8
getfield com.oracle.svm.core.allocationprofile.AllocationSite.siteName:Ljava/lang/String;
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc ";"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 8
getfield com.oracle.svm.core.allocationprofile.AllocationSite.className:Ljava/lang/String;
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc ";"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 7
aload 8
getfield com.oracle.svm.core.allocationprofile.AllocationSite.cachedCount:J
invokevirtual java.text.DecimalFormat.format:(J)Ljava/lang/String;
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc ";"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 7
aload 8
getfield com.oracle.svm.core.allocationprofile.AllocationSite.cachedSize:J
invokevirtual java.text.DecimalFormat.format:(J)Ljava/lang/String;
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
10: aload 8
getfield com.oracle.svm.core.allocationprofile.AllocationSite.firstCounter:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast com.oracle.svm.core.allocationprofile.AllocationCounter
astore 10
start local 10 11: goto 17
12: StackMap locals: com.oracle.svm.core.log.Log long long java.util.List java.util.List java.text.DecimalFormat com.oracle.svm.core.allocationprofile.AllocationSite java.util.Iterator com.oracle.svm.core.allocationprofile.AllocationCounter
StackMap stack:
lload 1
aload 10
invokevirtual com.oracle.svm.core.allocationprofile.AllocationCounter.getSize:()J
ladd
lstore 1
13: lload 3
aload 10
invokevirtual com.oracle.svm.core.allocationprofile.AllocationCounter.getCount:()J
ladd
lstore 3
14: aload 10
invokevirtual com.oracle.svm.core.allocationprofile.AllocationCounter.getSize:()J
getstatic com.oracle.svm.core.allocationprofile.AllocationSite$Options.AllocationProfilingThreshold:Lcom/oracle/svm/core/option/RuntimeOptionKey;
invokevirtual com.oracle.svm.core.option.RuntimeOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
i2l
lcmp
iflt 16
getstatic com.oracle.svm.core.allocationprofile.AllocationSite$Options.PrintDetailedAllocationProfiling:Lcom/oracle/svm/core/option/RuntimeOptionKey;
invokevirtual com.oracle.svm.core.option.RuntimeOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 16
15: aload 6
aload 10
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
16: StackMap locals:
StackMap stack:
aload 10
invokevirtual com.oracle.svm.core.allocationprofile.AllocationCounter.getNext:()Lcom/oracle/svm/core/allocationprofile/AllocationCounter;
astore 10
StackMap locals:
StackMap stack:
17: aload 10
ifnonnull 12
end local 10 18: getstatic com.oracle.svm.core.allocationprofile.AllocationSite$Options.PrintDetailedAllocationProfiling:Lcom/oracle/svm/core/option/RuntimeOptionKey;
invokevirtual com.oracle.svm.core.option.RuntimeOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 25
19: aload 6
getstatic com.oracle.svm.core.allocationprofile.AllocationSite.counterComparator:Ljava/util/Comparator;
invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
20: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 23
StackMap locals: com.oracle.svm.core.log.Log long long java.util.List java.util.List java.text.DecimalFormat com.oracle.svm.core.allocationprofile.AllocationSite java.util.Iterator top java.util.Iterator
StackMap stack:
21: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.svm.core.allocationprofile.AllocationCounter
astore 10
start local 10 22: aload 0
ldc ";"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 10
invokevirtual com.oracle.svm.core.allocationprofile.AllocationCounter.getName:()Ljava/lang/String;
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc ";"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 7
aload 10
invokevirtual com.oracle.svm.core.allocationprofile.AllocationCounter.getCount:()J
invokevirtual java.text.DecimalFormat.format:(J)Ljava/lang/String;
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc ";"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 7
aload 10
invokevirtual com.oracle.svm.core.allocationprofile.AllocationCounter.getSize:()J
invokevirtual java.text.DecimalFormat.format:(J)Ljava/lang/String;
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
end local 10 23: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
24: aload 6
invokeinterface java.util.List.clear:()V
end local 8 25: StackMap locals: com.oracle.svm.core.log.Log long long java.util.List java.util.List java.text.DecimalFormat top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
26: ldc "Counters summary"
invokestatic com.oracle.svm.core.util.MetricsLogUtils.logSection:(Ljava/lang/String;)V
27: ldc "Total memory:"
lload 1
invokestatic com.oracle.svm.core.util.MetricsLogUtils.logMemoryMetric:(Ljava/lang/String;J)V
28: ldc "Total object:"
lload 3
invokestatic com.oracle.svm.core.util.MetricsLogUtils.logCounterMetric:(Ljava/lang/String;J)V
29: return
end local 7 end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 log Lcom/oracle/svm/core/log/Log;
2 30 1 totalAllocatedSize J
3 30 3 totalAllocatedObjectCnt J
4 30 5 sortedSites Ljava/util/List<Lcom/oracle/svm/core/allocationprofile/AllocationSite;>;
5 30 6 counters Ljava/util/List<Lcom/oracle/svm/core/allocationprofile/AllocationCounter;>;
7 30 7 grpFormatter Ljava/text/DecimalFormat;
9 25 8 site Lcom/oracle/svm/core/allocationprofile/AllocationSite;
11 18 10 counter Lcom/oracle/svm/core/allocationprofile/AllocationCounter;
22 23 10 counter Lcom/oracle/svm/core/allocationprofile/AllocationCounter;
MethodParameters:
Name Flags
log final
private static int lambda$0(com.oracle.svm.core.allocationprofile.AllocationCounter, com.oracle.svm.core.allocationprofile.AllocationCounter);
descriptor: (Lcom/oracle/svm/core/allocationprofile/AllocationCounter;Lcom/oracle/svm/core/allocationprofile/AllocationCounter;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.svm.core.allocationprofile.AllocationCounter.getSize:()J
aload 0
invokevirtual com.oracle.svm.core.allocationprofile.AllocationCounter.getSize:()J
invokestatic java.lang.Long.compare:(JJ)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 o1 Lcom/oracle/svm/core/allocationprofile/AllocationCounter;
0 1 1 o2 Lcom/oracle/svm/core/allocationprofile/AllocationCounter;
private static com.oracle.svm.core.allocationprofile.AllocationSite lambda$1(com.oracle.svm.core.allocationprofile.AllocationSite);
descriptor: (Lcom/oracle/svm/core/allocationprofile/AllocationSite;)Lcom/oracle/svm/core/allocationprofile/AllocationSite;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 key Lcom/oracle/svm/core/allocationprofile/AllocationSite;
}
SourceFile: "AllocationSite.java"
NestMembers:
com.oracle.svm.core.allocationprofile.AllocationSite$1 com.oracle.svm.core.allocationprofile.AllocationSite$Options
InnerClasses:
com.oracle.svm.core.allocationprofile.AllocationSite$1
public Options = com.oracle.svm.core.allocationprofile.AllocationSite$Options of com.oracle.svm.core.allocationprofile.AllocationSite
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles