public final class org.apache.logging.log4j.core.util.CoarseCachedClock extends java.lang.Object implements org.apache.logging.log4j.core.util.Clock
{
private static volatile org.apache.logging.log4j.core.util.CoarseCachedClock instance;
private static final java.lang.Object INSTANCE_LOCK;
private volatile long millis;
private final java.lang.Thread updater;
private void <init>()
{
org.apache.logging.log4j.core.util.CoarseCachedClock$1 v;
java.lang.Thread v, v;
long v;
org.apache.logging.log4j.core.util.CoarseCachedClock v;
v := @this: org.apache.logging.log4j.core.util.CoarseCachedClock;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v.<org.apache.logging.log4j.core.util.CoarseCachedClock: long millis> = v;
v = new org.apache.logging.log4j.core.util.CoarseCachedClock$1;
specialinvoke v.<org.apache.logging.log4j.core.util.CoarseCachedClock$1: void <init>(org.apache.logging.log4j.core.util.CoarseCachedClock,java.lang.String)>(v, "CoarseCachedClock Updater Thread");
v.<org.apache.logging.log4j.core.util.CoarseCachedClock: java.lang.Thread updater> = v;
v = v.<org.apache.logging.log4j.core.util.CoarseCachedClock: java.lang.Thread updater>;
virtualinvoke v.<java.lang.Thread: void setDaemon(boolean)>(1);
v = v.<org.apache.logging.log4j.core.util.CoarseCachedClock: java.lang.Thread updater>;
virtualinvoke v.<java.lang.Thread: void start()>();
return;
}
public static org.apache.logging.log4j.core.util.CoarseCachedClock instance()
{
java.lang.Throwable v;
java.lang.Object v;
org.apache.logging.log4j.core.util.CoarseCachedClock v, v;
v = <org.apache.logging.log4j.core.util.CoarseCachedClock: org.apache.logging.log4j.core.util.CoarseCachedClock instance>;
if v != null goto label;
v = <org.apache.logging.log4j.core.util.CoarseCachedClock: java.lang.Object INSTANCE_LOCK>;
entermonitor v;
label:
v = <org.apache.logging.log4j.core.util.CoarseCachedClock: org.apache.logging.log4j.core.util.CoarseCachedClock instance>;
if v != null goto label;
v = new org.apache.logging.log4j.core.util.CoarseCachedClock;
specialinvoke v.<org.apache.logging.log4j.core.util.CoarseCachedClock: void <init>()>();
v = v;
<org.apache.logging.log4j.core.util.CoarseCachedClock: org.apache.logging.log4j.core.util.CoarseCachedClock instance> = v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
public long currentTimeMillis()
{
long v;
org.apache.logging.log4j.core.util.CoarseCachedClock v;
v := @this: org.apache.logging.log4j.core.util.CoarseCachedClock;
v = v.<org.apache.logging.log4j.core.util.CoarseCachedClock: long millis>;
return v;
}
static void <clinit>()
{
java.lang.Object v;
v = new java.lang.Object;
specialinvoke v.<java.lang.Object: void <init>()>();
<org.apache.logging.log4j.core.util.CoarseCachedClock: java.lang.Object INSTANCE_LOCK> = v;
return;
}
}