public final class com.sun.webkit.perf.PerfLogger
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.sun.webkit.perf.PerfLogger
super_class: java.lang.Object
{
private static java.lang.Thread shutdownHook;
descriptor: Ljava/lang/Thread;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.util.Map<com.sun.javafx.logging.PlatformLogger, com.sun.webkit.perf.PerfLogger> loggers;
descriptor: Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/Map<Lcom/sun/javafx/logging/PlatformLogger;Lcom/sun/webkit/perf/PerfLogger;>;
private final java.util.HashMap<java.lang.String, com.sun.webkit.perf.PerfLogger$ProbeStat> probes;
descriptor: Ljava/util/HashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/HashMap<Ljava/lang/String;Lcom/sun/webkit/perf/PerfLogger$ProbeStat;>;
private final com.sun.javafx.logging.PlatformLogger log;
descriptor: Lcom/sun/javafx/logging/PlatformLogger;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isEnabled;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Comparator timeComparator;
descriptor: Ljava/util/Comparator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Comparator countComparator;
descriptor: Ljava/util/Comparator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public static synchronized com.sun.webkit.perf.PerfLogger getLogger(com.sun.javafx.logging.PlatformLogger);
descriptor: (Lcom/sun/javafx/logging/PlatformLogger;)Lcom/sun/webkit/perf/PerfLogger;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic com.sun.webkit.perf.PerfLogger.loggers:Ljava/util/Map;
ifnonnull 2
1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic com.sun.webkit.perf.PerfLogger.loggers:Ljava/util/Map;
2: StackMap locals:
StackMap stack:
getstatic com.sun.webkit.perf.PerfLogger.loggers:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.webkit.perf.PerfLogger
astore 1
start local 1 3: aload 1
ifnonnull 6
4: new com.sun.webkit.perf.PerfLogger
dup
aload 0
invokespecial com.sun.webkit.perf.PerfLogger.<init>:(Lcom/sun/javafx/logging/PlatformLogger;)V
astore 1
5: getstatic com.sun.webkit.perf.PerfLogger.loggers:Ljava/util/Map;
aload 0
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: StackMap locals: com.sun.webkit.perf.PerfLogger
StackMap stack:
aload 1
invokevirtual com.sun.webkit.perf.PerfLogger.isEnabled:()Z
ifeq 9
getstatic com.sun.webkit.perf.PerfLogger.shutdownHook:Ljava/lang/Thread;
ifnonnull 9
7: new com.sun.webkit.perf.PerfLogger$1
dup
invokespecial com.sun.webkit.perf.PerfLogger$1.<init>:()V
putstatic com.sun.webkit.perf.PerfLogger.shutdownHook:Ljava/lang/Thread;
8: invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
getstatic com.sun.webkit.perf.PerfLogger.shutdownHook:Ljava/lang/Thread;
invokevirtual java.lang.Runtime.addShutdownHook:(Ljava/lang/Thread;)V
9: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 log Lcom/sun/javafx/logging/PlatformLogger;
3 10 1 l Lcom/sun/webkit/perf/PerfLogger;
MethodParameters:
Name Flags
log
public static synchronized com.sun.webkit.perf.PerfLogger getLogger(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/sun/webkit/perf/PerfLogger;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "com.sun.webkit.perf."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.javafx.logging.PlatformLogger.getLogger:(Ljava/lang/String;)Lcom/sun/javafx/logging/PlatformLogger;
invokestatic com.sun.webkit.perf.PerfLogger.getLogger:(Lcom/sun/javafx/logging/PlatformLogger;)Lcom/sun/webkit/perf/PerfLogger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
private void <init>(com.sun.javafx.logging.PlatformLogger);
descriptor: (Lcom/sun/javafx/logging/PlatformLogger;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.webkit.perf.PerfLogger.probes:Ljava/util/HashMap;
3: aload 0
aload 0
invokedynamic compare(Lcom/sun/webkit/perf/PerfLogger;)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/sun/webkit/perf/PerfLogger.lambda$0(Ljava/lang/Object;Ljava/lang/Object;)I (7)
(Ljava/lang/Object;Ljava/lang/Object;)I
putfield com.sun.webkit.perf.PerfLogger.timeComparator:Ljava/util/Comparator;
4: aload 0
aload 0
invokedynamic compare(Lcom/sun/webkit/perf/PerfLogger;)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/sun/webkit/perf/PerfLogger.lambda$1(Ljava/lang/Object;Ljava/lang/Object;)I (7)
(Ljava/lang/Object;Ljava/lang/Object;)I
putfield com.sun.webkit.perf.PerfLogger.countComparator:Ljava/util/Comparator;
5: aload 0
aload 1
putfield com.sun.webkit.perf.PerfLogger.log:Lcom/sun/javafx/logging/PlatformLogger;
6: aload 0
aload 1
getstatic com.sun.javafx.logging.PlatformLogger$Level.FINE:Lcom/sun/javafx/logging/PlatformLogger$Level;
invokevirtual com.sun.javafx.logging.PlatformLogger.isLoggable:(Lcom/sun/javafx/logging/PlatformLogger$Level;)Z
putfield com.sun.webkit.perf.PerfLogger.isEnabled:Z
7: aload 0
ldc "TOTALTIME"
invokevirtual com.sun.webkit.perf.PerfLogger.startCount:(Ljava/lang/String;)V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/webkit/perf/PerfLogger;
0 9 1 log Lcom/sun/javafx/logging/PlatformLogger;
MethodParameters:
Name Flags
log
public boolean isEnabled();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.webkit.perf.PerfLogger.isEnabled:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/webkit/perf/PerfLogger;
private synchronized java.lang.String fullName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
aload 0
getfield com.sun.webkit.perf.PerfLogger.log:Lcom/sun/javafx/logging/PlatformLogger;
invokevirtual com.sun.javafx.logging.PlatformLogger.getName:()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 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/webkit/perf/PerfLogger;
0 1 1 probe Ljava/lang/String;
MethodParameters:
Name Flags
probe
public synchronized void reset();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.webkit.perf.PerfLogger.probes:Ljava/util/HashMap;
invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 3
StackMap locals: com.sun.webkit.perf.PerfLogger top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 1
start local 1 2: aload 1
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast com.sun.webkit.perf.PerfLogger$ProbeStat
invokevirtual com.sun.webkit.perf.PerfLogger$ProbeStat.reset:()V
end local 1 3: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: aload 0
ldc "TOTALTIME"
invokevirtual com.sun.webkit.perf.PerfLogger.startCount:(Ljava/lang/String;)V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/webkit/perf/PerfLogger;
2 3 1 entry Ljava/util/Map$Entry<Ljava/lang/String;Lcom/sun/webkit/perf/PerfLogger$ProbeStat;>;
public static synchronized void resetAll();
descriptor: ()V
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=2, args_size=0
0: getstatic com.sun.webkit.perf.PerfLogger.loggers:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 1
goto 3
StackMap locals: top java.util.Iterator
StackMap stack:
1: aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.webkit.perf.PerfLogger
astore 0
start local 0 2: aload 0
invokevirtual com.sun.webkit.perf.PerfLogger.reset:()V
end local 0 3: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
LocalVariableTable:
Start End Slot Name Signature
2 3 0 l Lcom/sun/webkit/perf/PerfLogger;
private synchronized com.sun.webkit.perf.PerfLogger$ProbeStat registerProbe(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/sun/webkit/perf/PerfLogger$ProbeStat;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.String.intern:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield com.sun.webkit.perf.PerfLogger.probes:Ljava/util/HashMap;
aload 2
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifeq 4
2: aload 0
getfield com.sun.webkit.perf.PerfLogger.log:Lcom/sun/javafx/logging/PlatformLogger;
new java.lang.StringBuilder
dup
ldc "Warning: \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 2
invokevirtual com.sun.webkit.perf.PerfLogger.fullName:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" probe already exists"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.javafx.logging.PlatformLogger.fine:(Ljava/lang/String;)V
3: goto 5
4: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield com.sun.webkit.perf.PerfLogger.log:Lcom/sun/javafx/logging/PlatformLogger;
new java.lang.StringBuilder
dup
ldc "Registering \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 2
invokevirtual com.sun.webkit.perf.PerfLogger.fullName:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" probe"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.javafx.logging.PlatformLogger.fine:(Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
new com.sun.webkit.perf.PerfLogger$ProbeStat
dup
aload 2
invokespecial com.sun.webkit.perf.PerfLogger$ProbeStat.<init>:(Ljava/lang/String;)V
astore 3
start local 3 6: aload 0
getfield com.sun.webkit.perf.PerfLogger.probes:Ljava/util/HashMap;
aload 2
aload 3
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/webkit/perf/PerfLogger;
0 8 1 probe Ljava/lang/String;
1 8 2 p Ljava/lang/String;
6 8 3 stat Lcom/sun/webkit/perf/PerfLogger$ProbeStat;
MethodParameters:
Name Flags
probe
public synchronized com.sun.webkit.perf.PerfLogger$ProbeStat getProbeStat(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/sun/webkit/perf/PerfLogger$ProbeStat;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.String.intern:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield com.sun.webkit.perf.PerfLogger.probes:Ljava/util/HashMap;
aload 2
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.webkit.perf.PerfLogger$ProbeStat
astore 3
start local 3 2: aload 3
ifnull 4
3: aload 3
invokevirtual com.sun.webkit.perf.PerfLogger$ProbeStat.snapshot:()V
4: StackMap locals: java.lang.String com.sun.webkit.perf.PerfLogger$ProbeStat
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/webkit/perf/PerfLogger;
0 5 1 probe Ljava/lang/String;
1 5 2 p Ljava/lang/String;
2 5 3 s Lcom/sun/webkit/perf/PerfLogger$ProbeStat;
MethodParameters:
Name Flags
probe
public synchronized void startCount(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.webkit.perf.PerfLogger.isEnabled:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.intern:()Ljava/lang/String;
astore 2
start local 2 3: aload 0
getfield com.sun.webkit.perf.PerfLogger.probes:Ljava/util/HashMap;
aload 2
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.webkit.perf.PerfLogger$ProbeStat
astore 3
start local 3 4: aload 3
ifnonnull 6
5: aload 0
aload 2
invokevirtual com.sun.webkit.perf.PerfLogger.registerProbe:(Ljava/lang/String;)Lcom/sun/webkit/perf/PerfLogger$ProbeStat;
astore 3
6: StackMap locals: java.lang.String com.sun.webkit.perf.PerfLogger$ProbeStat
StackMap stack:
aload 3
invokevirtual com.sun.webkit.perf.PerfLogger$ProbeStat.reset:()V
7: aload 3
invokevirtual com.sun.webkit.perf.PerfLogger$ProbeStat.resume:()V
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/webkit/perf/PerfLogger;
0 9 1 probe Ljava/lang/String;
3 9 2 p Ljava/lang/String;
4 9 3 stat Lcom/sun/webkit/perf/PerfLogger$ProbeStat;
MethodParameters:
Name Flags
probe
public synchronized void suspendCount(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.webkit.perf.PerfLogger.isEnabled:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.intern:()Ljava/lang/String;
astore 2
start local 2 3: aload 0
getfield com.sun.webkit.perf.PerfLogger.probes:Ljava/util/HashMap;
aload 2
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.webkit.perf.PerfLogger$ProbeStat
astore 3
start local 3 4: aload 3
ifnull 7
5: aload 3
invokevirtual com.sun.webkit.perf.PerfLogger$ProbeStat.suspend:()V
6: goto 8
7: StackMap locals: java.lang.String com.sun.webkit.perf.PerfLogger$ProbeStat
StackMap stack:
aload 0
getfield com.sun.webkit.perf.PerfLogger.log:Lcom/sun/javafx/logging/PlatformLogger;
new java.lang.StringBuilder
dup
ldc "Warning: \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 2
invokevirtual com.sun.webkit.perf.PerfLogger.fullName:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" probe is not registered"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.javafx.logging.PlatformLogger.fine:(Ljava/lang/String;)V
8: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/webkit/perf/PerfLogger;
0 9 1 probe Ljava/lang/String;
3 9 2 p Ljava/lang/String;
4 9 3 stat Lcom/sun/webkit/perf/PerfLogger$ProbeStat;
MethodParameters:
Name Flags
probe
public synchronized void resumeCount(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.webkit.perf.PerfLogger.isEnabled:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.intern:()Ljava/lang/String;
astore 2
start local 2 3: aload 0
getfield com.sun.webkit.perf.PerfLogger.probes:Ljava/util/HashMap;
aload 2
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.webkit.perf.PerfLogger$ProbeStat
astore 3
start local 3 4: aload 3
ifnonnull 6
5: aload 0
aload 2
invokevirtual com.sun.webkit.perf.PerfLogger.registerProbe:(Ljava/lang/String;)Lcom/sun/webkit/perf/PerfLogger$ProbeStat;
astore 3
6: StackMap locals: java.lang.String com.sun.webkit.perf.PerfLogger$ProbeStat
StackMap stack:
aload 3
invokevirtual com.sun.webkit.perf.PerfLogger$ProbeStat.resume:()V
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/webkit/perf/PerfLogger;
0 8 1 probe Ljava/lang/String;
3 8 2 p Ljava/lang/String;
4 8 3 stat Lcom/sun/webkit/perf/PerfLogger$ProbeStat;
MethodParameters:
Name Flags
probe
public synchronized void log(java.lang.StringBuffer);
descriptor: (Ljava/lang/StringBuffer;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=8, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.webkit.perf.PerfLogger.isEnabled:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
ldc "=========== Performance Statistics =============\n"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
3: aload 0
ldc "TOTALTIME"
invokevirtual com.sun.webkit.perf.PerfLogger.getProbeStat:(Ljava/lang/String;)Lcom/sun/webkit/perf/PerfLogger$ProbeStat;
astore 2
start local 2 4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 5: aload 3
aload 0
getfield com.sun.webkit.perf.PerfLogger.probes:Ljava/util/HashMap;
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
6: aload 1
ldc "\nTime:\n"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
7: aload 3
aload 0
getfield com.sun.webkit.perf.PerfLogger.timeComparator:Ljava/util/Comparator;
invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
8: aload 3
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 5
goto 16
StackMap locals: com.sun.webkit.perf.PerfLogger java.lang.StringBuffer com.sun.webkit.perf.PerfLogger$ProbeStat java.util.ArrayList top java.util.Iterator
StackMap stack:
9: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 10: aload 0
aload 4
invokevirtual com.sun.webkit.perf.PerfLogger.getProbeStat:(Ljava/lang/String;)Lcom/sun/webkit/perf/PerfLogger$ProbeStat;
astore 6
start local 6 11: aload 1
ldc "%s: %dms"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aload 4
invokevirtual com.sun.webkit.perf.PerfLogger.fullName:(Ljava/lang/String;)Ljava/lang/String;
aastore
dup
iconst_1
aload 6
getfield com.sun.webkit.perf.PerfLogger$ProbeStat.totalTime:J
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.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
12: aload 2
getfield com.sun.webkit.perf.PerfLogger$ProbeStat.totalTime:J
lconst_0
lcmp
ifle 15
13: aload 1
ldc ", %.2f%%%n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc 100.0
aload 6
getfield com.sun.webkit.perf.PerfLogger$ProbeStat.totalTime:J
l2f
fmul
aload 2
getfield com.sun.webkit.perf.PerfLogger$ProbeStat.totalTime:J
l2f
fdiv
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
14: goto 16
15: StackMap locals: com.sun.webkit.perf.PerfLogger java.lang.StringBuffer com.sun.webkit.perf.PerfLogger$ProbeStat java.util.ArrayList java.lang.String java.util.Iterator com.sun.webkit.perf.PerfLogger$ProbeStat
StackMap stack:
aload 1
ldc "\n"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
end local 6 end local 4 16: StackMap locals: com.sun.webkit.perf.PerfLogger java.lang.StringBuffer com.sun.webkit.perf.PerfLogger$ProbeStat java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
17: aload 1
ldc "\nInvocations count:\n"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
18: aload 3
aload 0
getfield com.sun.webkit.perf.PerfLogger.countComparator:Ljava/util/Comparator;
invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
19: aload 3
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 5
goto 22
StackMap locals:
StackMap stack:
20: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 21: aload 1
ldc "%s: %d%n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aload 4
invokevirtual com.sun.webkit.perf.PerfLogger.fullName:(Ljava/lang/String;)Ljava/lang/String;
aastore
dup
iconst_1
aload 0
aload 4
invokevirtual com.sun.webkit.perf.PerfLogger.getProbeStat:(Ljava/lang/String;)Lcom/sun/webkit/perf/PerfLogger$ProbeStat;
getfield com.sun.webkit.perf.PerfLogger$ProbeStat.count:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
end local 4 22: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
23: aload 1
ldc "================================================\n"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
24: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/sun/webkit/perf/PerfLogger;
0 25 1 buf Ljava/lang/StringBuffer;
4 25 2 total Lcom/sun/webkit/perf/PerfLogger$ProbeStat;
5 25 3 list Ljava/util/ArrayList<Ljava/lang/String;>;
10 16 4 p Ljava/lang/String;
11 16 6 s Lcom/sun/webkit/perf/PerfLogger$ProbeStat;
21 22 4 p Ljava/lang/String;
MethodParameters:
Name Flags
buf
public synchronized void log();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual com.sun.webkit.perf.PerfLogger.log:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/webkit/perf/PerfLogger;
private synchronized void log(boolean);
descriptor: (Z)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 2
start local 2 1: aload 0
aload 2
invokevirtual com.sun.webkit.perf.PerfLogger.log:(Ljava/lang/StringBuffer;)V
2: iload 1
ifeq 5
3: aload 0
getfield com.sun.webkit.perf.PerfLogger.log:Lcom/sun/javafx/logging/PlatformLogger;
aload 2
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
invokevirtual com.sun.javafx.logging.PlatformLogger.fine:(Ljava/lang/String;)V
4: goto 7
5: StackMap locals: java.lang.StringBuffer
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 2
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/webkit/perf/PerfLogger;
0 8 1 useLogger Z
1 8 2 buf Ljava/lang/StringBuffer;
MethodParameters:
Name Flags
useLogger
public static synchronized void logAll();
descriptor: ()V
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=2, args_size=0
0: getstatic com.sun.webkit.perf.PerfLogger.loggers:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 1
goto 3
StackMap locals: top java.util.Iterator
StackMap stack:
1: aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.webkit.perf.PerfLogger
astore 0
start local 0 2: aload 0
invokevirtual com.sun.webkit.perf.PerfLogger.log:()V
end local 0 3: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
LocalVariableTable:
Start End Slot Name Signature
2 3 0 l Lcom/sun/webkit/perf/PerfLogger;
private int lambda$0(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.webkit.perf.PerfLogger.probes:Ljava/util/HashMap;
aload 1
checkcast java.lang.String
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.webkit.perf.PerfLogger$ProbeStat
getfield com.sun.webkit.perf.PerfLogger$ProbeStat.totalTime:J
lstore 3
start local 3 1: aload 0
getfield com.sun.webkit.perf.PerfLogger.probes:Ljava/util/HashMap;
aload 2
checkcast java.lang.String
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.webkit.perf.PerfLogger$ProbeStat
getfield com.sun.webkit.perf.PerfLogger$ProbeStat.totalTime:J
lstore 5
start local 5 2: lload 3
lload 5
lcmp
ifle 4
3: iconst_1
ireturn
4: StackMap locals: long long
StackMap stack:
lload 3
lload 5
lcmp
ifge 6
5: iconst_m1
ireturn
6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/webkit/perf/PerfLogger;
0 7 1 arg0 Ljava/lang/Object;
0 7 2 arg1 Ljava/lang/Object;
1 7 3 t0 J
2 7 5 t1 J
private int lambda$1(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.webkit.perf.PerfLogger.probes:Ljava/util/HashMap;
aload 1
checkcast java.lang.String
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.webkit.perf.PerfLogger$ProbeStat
getfield com.sun.webkit.perf.PerfLogger$ProbeStat.count:I
i2l
lstore 3
start local 3 1: aload 0
getfield com.sun.webkit.perf.PerfLogger.probes:Ljava/util/HashMap;
aload 2
checkcast java.lang.String
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.webkit.perf.PerfLogger$ProbeStat
getfield com.sun.webkit.perf.PerfLogger$ProbeStat.count:I
i2l
lstore 5
start local 5 2: lload 3
lload 5
lcmp
ifle 4
3: iconst_1
ireturn
4: StackMap locals: long long
StackMap stack:
lload 3
lload 5
lcmp
ifge 6
5: iconst_m1
ireturn
6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/webkit/perf/PerfLogger;
0 7 1 arg0 Ljava/lang/Object;
0 7 2 arg1 Ljava/lang/Object;
1 7 3 c0 J
2 7 5 c1 J
}
SourceFile: "PerfLogger.java"
NestMembers:
com.sun.webkit.perf.PerfLogger$1 com.sun.webkit.perf.PerfLogger$ProbeStat
InnerClasses:
public final Level = com.sun.javafx.logging.PlatformLogger$Level of com.sun.javafx.logging.PlatformLogger
com.sun.webkit.perf.PerfLogger$1
public final ProbeStat = com.sun.webkit.perf.PerfLogger$ProbeStat of com.sun.webkit.perf.PerfLogger
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map