public class org.apache.logging.log4j.util.Timer extends java.lang.Object implements java.io.Serializable, org.apache.logging.log4j.util.StringBuilderFormattable
{
private static final long serialVersionUID;
private final java.lang.String name;
private org.apache.logging.log4j.util.Timer$Status status;
private long elapsedTime;
private final int iterations;
private static long NANO_PER_SECOND;
private static long NANO_PER_MINUTE;
private static long NANO_PER_HOUR;
private java.lang.ThreadLocal startTime;
public void <init>(java.lang.String)
{
org.apache.logging.log4j.util.Timer v;
java.lang.String v;
v := @this: org.apache.logging.log4j.util.Timer;
v := @parameter: java.lang.String;
specialinvoke v.<org.apache.logging.log4j.util.Timer: void <init>(java.lang.String,int)>(v, 0);
return;
}
public void <init>(java.lang.String, int)
{
org.apache.logging.log4j.util.Timer$1 v;
int v, v;
org.apache.logging.log4j.util.Timer v;
java.lang.String v;
org.apache.logging.log4j.util.Timer$Status v;
v := @this: org.apache.logging.log4j.util.Timer;
v := @parameter: java.lang.String;
v := @parameter: int;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new org.apache.logging.log4j.util.Timer$1;
specialinvoke v.<org.apache.logging.log4j.util.Timer$1: void <init>(org.apache.logging.log4j.util.Timer)>(v);
v.<org.apache.logging.log4j.util.Timer: java.lang.ThreadLocal startTime> = v;
v.<org.apache.logging.log4j.util.Timer: java.lang.String name> = v;
v = <org.apache.logging.log4j.util.Timer$Status: org.apache.logging.log4j.util.Timer$Status Stopped>;
v.<org.apache.logging.log4j.util.Timer: org.apache.logging.log4j.util.Timer$Status status> = v;
if v <= 0 goto label;
v = v;
goto label;
label:
v = 0;
label:
v.<org.apache.logging.log4j.util.Timer: int iterations> = v;
return;
}
public synchronized void start()
{
java.lang.ThreadLocal v;
java.lang.Long v;
org.apache.logging.log4j.util.Timer v;
long v;
org.apache.logging.log4j.util.Timer$Status v;
v := @this: org.apache.logging.log4j.util.Timer;
v = v.<org.apache.logging.log4j.util.Timer: java.lang.ThreadLocal startTime>;
v = staticinvoke <java.lang.System: long nanoTime()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<java.lang.ThreadLocal: void set(java.lang.Object)>(v);
v.<org.apache.logging.log4j.util.Timer: long elapsedTime> = 0L;
v = <org.apache.logging.log4j.util.Timer$Status: org.apache.logging.log4j.util.Timer$Status Started>;
v.<org.apache.logging.log4j.util.Timer: org.apache.logging.log4j.util.Timer$Status status> = v;
return;
}
public synchronized void startOrResume()
{
org.apache.logging.log4j.util.Timer v;
org.apache.logging.log4j.util.Timer$Status v, v;
v := @this: org.apache.logging.log4j.util.Timer;
v = v.<org.apache.logging.log4j.util.Timer: org.apache.logging.log4j.util.Timer$Status status>;
v = <org.apache.logging.log4j.util.Timer$Status: org.apache.logging.log4j.util.Timer$Status Stopped>;
if v != v goto label;
virtualinvoke v.<org.apache.logging.log4j.util.Timer: void start()>();
goto label;
label:
virtualinvoke v.<org.apache.logging.log4j.util.Timer: void resume()>();
label:
return;
}
public synchronized java.lang.String stop()
{
java.lang.ThreadLocal v, v;
long v, v, v, v, v;
org.apache.logging.log4j.util.Timer$Status v;
java.lang.Long v;
org.apache.logging.log4j.util.Timer v;
java.lang.Object v;
java.lang.String v;
v := @this: org.apache.logging.log4j.util.Timer;
v = v.<org.apache.logging.log4j.util.Timer: long elapsedTime>;
v = staticinvoke <java.lang.System: long nanoTime()>();
v = v.<org.apache.logging.log4j.util.Timer: java.lang.ThreadLocal startTime>;
v = virtualinvoke v.<java.lang.ThreadLocal: java.lang.Object get()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v - v;
v = v + v;
v.<org.apache.logging.log4j.util.Timer: long elapsedTime> = v;
v = v.<org.apache.logging.log4j.util.Timer: java.lang.ThreadLocal startTime>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(0L);
virtualinvoke v.<java.lang.ThreadLocal: void set(java.lang.Object)>(v);
v = <org.apache.logging.log4j.util.Timer$Status: org.apache.logging.log4j.util.Timer$Status Stopped>;
v.<org.apache.logging.log4j.util.Timer: org.apache.logging.log4j.util.Timer$Status status> = v;
v = virtualinvoke v.<org.apache.logging.log4j.util.Timer: java.lang.String toString()>();
return v;
}
public synchronized void pause()
{
java.lang.ThreadLocal v, v;
long v, v, v, v, v;
org.apache.logging.log4j.util.Timer$Status v;
java.lang.Long v;
org.apache.logging.log4j.util.Timer v;
java.lang.Object v;
v := @this: org.apache.logging.log4j.util.Timer;
v = v.<org.apache.logging.log4j.util.Timer: long elapsedTime>;
v = staticinvoke <java.lang.System: long nanoTime()>();
v = v.<org.apache.logging.log4j.util.Timer: java.lang.ThreadLocal startTime>;
v = virtualinvoke v.<java.lang.ThreadLocal: java.lang.Object get()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v - v;
v = v + v;
v.<org.apache.logging.log4j.util.Timer: long elapsedTime> = v;
v = v.<org.apache.logging.log4j.util.Timer: java.lang.ThreadLocal startTime>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(0L);
virtualinvoke v.<java.lang.ThreadLocal: void set(java.lang.Object)>(v);
v = <org.apache.logging.log4j.util.Timer$Status: org.apache.logging.log4j.util.Timer$Status Paused>;
v.<org.apache.logging.log4j.util.Timer: org.apache.logging.log4j.util.Timer$Status status> = v;
return;
}
public synchronized void resume()
{
java.lang.ThreadLocal v;
java.lang.Long v;
org.apache.logging.log4j.util.Timer v;
long v;
org.apache.logging.log4j.util.Timer$Status v;
v := @this: org.apache.logging.log4j.util.Timer;
v = v.<org.apache.logging.log4j.util.Timer: java.lang.ThreadLocal startTime>;
v = staticinvoke <java.lang.System: long nanoTime()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<java.lang.ThreadLocal: void set(java.lang.Object)>(v);
v = <org.apache.logging.log4j.util.Timer$Status: org.apache.logging.log4j.util.Timer$Status Started>;
v.<org.apache.logging.log4j.util.Timer: org.apache.logging.log4j.util.Timer$Status status> = v;
return;
}
public java.lang.String getName()
{
org.apache.logging.log4j.util.Timer v;
java.lang.String v;
v := @this: org.apache.logging.log4j.util.Timer;
v = v.<org.apache.logging.log4j.util.Timer: java.lang.String name>;
return v;
}
public long getElapsedTime()
{
org.apache.logging.log4j.util.Timer v;
long v, v;
v := @this: org.apache.logging.log4j.util.Timer;
v = v.<org.apache.logging.log4j.util.Timer: long elapsedTime>;
v = v / 1000000L;
return v;
}
public long getElapsedNanoTime()
{
org.apache.logging.log4j.util.Timer v;
long v;
v := @this: org.apache.logging.log4j.util.Timer;
v = v.<org.apache.logging.log4j.util.Timer: long elapsedTime>;
return v;
}
public org.apache.logging.log4j.util.Timer$Status getStatus()
{
org.apache.logging.log4j.util.Timer v;
org.apache.logging.log4j.util.Timer$Status v;
v := @this: org.apache.logging.log4j.util.Timer;
v = v.<org.apache.logging.log4j.util.Timer: org.apache.logging.log4j.util.Timer$Status status>;
return v;
}
public java.lang.String toString()
{
org.apache.logging.log4j.util.Timer v;
java.lang.StringBuilder v;
java.lang.String v;
v := @this: org.apache.logging.log4j.util.Timer;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
virtualinvoke v.<org.apache.logging.log4j.util.Timer: void formatTo(java.lang.StringBuilder)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public void formatTo(java.lang.StringBuilder)
{
byte v, v, v, v, v, v;
int[] v;
java.lang.StringBuilder v, v, v, v, v;
long v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
int v, v, v, v;
org.apache.logging.log4j.util.Timer v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v;
java.text.DecimalFormat v, v, v, v;
org.apache.logging.log4j.util.Timer$Status v, v;
v := @this: org.apache.logging.log4j.util.Timer;
v := @parameter: java.lang.StringBuilder;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("Timer ");
v = v.<org.apache.logging.log4j.util.Timer: java.lang.String name>;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = <org.apache.logging.log4j.util.Timer$2: int[] $SwitchMap$org$apache$logging$log4j$util$Timer$Status>;
v = v.<org.apache.logging.log4j.util.Timer: org.apache.logging.log4j.util.Timer$Status status>;
v = virtualinvoke v.<org.apache.logging.log4j.util.Timer$Status: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" started");
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" paused");
goto label;
label:
v = v.<org.apache.logging.log4j.util.Timer: long elapsedTime>;
v = <org.apache.logging.log4j.util.Timer: long NANO_PER_HOUR>;
v = v / v;
v = <org.apache.logging.log4j.util.Timer: long NANO_PER_HOUR>;
v = v % v;
v = <org.apache.logging.log4j.util.Timer: long NANO_PER_MINUTE>;
v = v / v;
v = <org.apache.logging.log4j.util.Timer: long NANO_PER_MINUTE>;
v = v % v;
v = <org.apache.logging.log4j.util.Timer: long NANO_PER_SECOND>;
v = v / v;
v = <org.apache.logging.log4j.util.Timer: long NANO_PER_SECOND>;
v = v % v;
v = "";
v = v cmp 0L;
if v <= 0 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,long)>("", v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u hours ");
label:
v = v cmp 0L;
if v > 0 goto label;
v = v cmp 0L;
if v <= 0 goto label;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,long)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u minutes ");
label:
v = new java.text.DecimalFormat;
specialinvoke v.<java.text.DecimalFormat: void <init>(java.lang.String)>("#0");
v = virtualinvoke v.<java.text.DecimalFormat: java.lang.String format(long)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u.");
v = new java.text.DecimalFormat;
specialinvoke v.<java.text.DecimalFormat: void <init>(java.lang.String)>("000000000");
v = virtualinvoke v.<java.text.DecimalFormat: java.lang.String format(long)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u seconds");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" stopped. Elapsed time: ");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v.<org.apache.logging.log4j.util.Timer: int iterations>;
if v <= 0 goto label;
v = v.<org.apache.logging.log4j.util.Timer: long elapsedTime>;
v = v.<org.apache.logging.log4j.util.Timer: int iterations>;
v = v / v;
v = <org.apache.logging.log4j.util.Timer: long NANO_PER_HOUR>;
v = v / v;
v = <org.apache.logging.log4j.util.Timer: long NANO_PER_HOUR>;
v = v % v;
v = <org.apache.logging.log4j.util.Timer: long NANO_PER_MINUTE>;
v = v / v;
v = <org.apache.logging.log4j.util.Timer: long NANO_PER_MINUTE>;
v = v % v;
v = <org.apache.logging.log4j.util.Timer: long NANO_PER_SECOND>;
v = v / v;
v = <org.apache.logging.log4j.util.Timer: long NANO_PER_SECOND>;
v = v % v;
v = "";
v = v cmp 0L;
if v <= 0 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,long)>("", v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u hours ");
label:
v = v cmp 0L;
if v > 0 goto label;
v = v cmp 0L;
if v <= 0 goto label;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,long)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u minutes ");
label:
v = new java.text.DecimalFormat;
specialinvoke v.<java.text.DecimalFormat: void <init>(java.lang.String)>("#0");
v = virtualinvoke v.<java.text.DecimalFormat: java.lang.String format(long)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u.");
v = new java.text.DecimalFormat;
specialinvoke v.<java.text.DecimalFormat: void <init>(java.lang.String)>("000000000");
v = virtualinvoke v.<java.text.DecimalFormat: java.lang.String format(long)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u seconds");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" Average per iteration: ");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
v = v.<org.apache.logging.log4j.util.Timer: org.apache.logging.log4j.util.Timer$Status status>;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
label:
return;
}
public boolean equals(java.lang.Object)
{
long v, v;
byte v;
org.apache.logging.log4j.util.Timer v;
java.lang.String v, v, v, v;
boolean v, v, v;
java.lang.ThreadLocal v, v;
org.apache.logging.log4j.util.Timer$Status v, v, v, v;
java.lang.Object v;
v := @this: org.apache.logging.log4j.util.Timer;
v := @parameter: java.lang.Object;
if v != v goto label;
return 1;
label:
v = v instanceof org.apache.logging.log4j.util.Timer;
if v != 0 goto label;
return 0;
label:
v = v.<org.apache.logging.log4j.util.Timer: long elapsedTime>;
v = v.<org.apache.logging.log4j.util.Timer: long elapsedTime>;
v = v cmp v;
if v == 0 goto label;
return 0;
label:
v = v.<org.apache.logging.log4j.util.Timer: java.lang.ThreadLocal startTime>;
v = v.<org.apache.logging.log4j.util.Timer: java.lang.ThreadLocal startTime>;
if v == v goto label;
return 0;
label:
v = v.<org.apache.logging.log4j.util.Timer: java.lang.String name>;
if v == null goto label;
v = v.<org.apache.logging.log4j.util.Timer: java.lang.String name>;
v = v.<org.apache.logging.log4j.util.Timer: java.lang.String name>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
goto label;
label:
v = v.<org.apache.logging.log4j.util.Timer: java.lang.String name>;
if v == null goto label;
label:
return 0;
label:
v = v.<org.apache.logging.log4j.util.Timer: org.apache.logging.log4j.util.Timer$Status status>;
if v == null goto label;
v = v.<org.apache.logging.log4j.util.Timer: org.apache.logging.log4j.util.Timer$Status status>;
v = v.<org.apache.logging.log4j.util.Timer: org.apache.logging.log4j.util.Timer$Status status>;
v = virtualinvoke v.<org.apache.logging.log4j.util.Timer$Status: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
goto label;
label:
v = v.<org.apache.logging.log4j.util.Timer: org.apache.logging.log4j.util.Timer$Status status>;
if v == null goto label;
label:
return 0;
label:
return 1;
}
public int hashCode()
{
long v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v;
org.apache.logging.log4j.util.Timer v;
java.lang.String v, v;
java.lang.ThreadLocal v;
org.apache.logging.log4j.util.Timer$Status v, v;
java.lang.Object v;
v := @this: org.apache.logging.log4j.util.Timer;
v = v.<org.apache.logging.log4j.util.Timer: java.lang.String name>;
if v == null goto label;
v = v.<org.apache.logging.log4j.util.Timer: java.lang.String name>;
v = virtualinvoke v.<java.lang.String: int hashCode()>();
goto label;
label:
v = 0;
label:
v = 29 * v;
v = v.<org.apache.logging.log4j.util.Timer: org.apache.logging.log4j.util.Timer$Status status>;
if v == null goto label;
v = v.<org.apache.logging.log4j.util.Timer: org.apache.logging.log4j.util.Timer$Status status>;
v = virtualinvoke v.<org.apache.logging.log4j.util.Timer$Status: int hashCode()>();
goto label;
label:
v = 0;
label:
v = v + v;
v = v.<org.apache.logging.log4j.util.Timer: java.lang.ThreadLocal startTime>;
v = virtualinvoke v.<java.lang.ThreadLocal: java.lang.Object get()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = 29 * v;
v = v >>> 32;
v = v ^ v;
v = v + v;
v = 29 * v;
v = v.<org.apache.logging.log4j.util.Timer: long elapsedTime>;
v = v.<org.apache.logging.log4j.util.Timer: long elapsedTime>;
v = v >>> 32;
v = v ^ v;
v = v + v;
return v;
}
static void <clinit>()
{
long v, v, v, v;
<org.apache.logging.log4j.util.Timer: long NANO_PER_SECOND> = 1000000000L;
v = <org.apache.logging.log4j.util.Timer: long NANO_PER_SECOND>;
v = v * 60L;
<org.apache.logging.log4j.util.Timer: long NANO_PER_MINUTE> = v;
v = <org.apache.logging.log4j.util.Timer: long NANO_PER_MINUTE>;
v = v * 60L;
<org.apache.logging.log4j.util.Timer: long NANO_PER_HOUR> = v;
return;
}
}