public class com.google.common.util.concurrent.AtomicDouble extends java.lang.Number implements java.io.Serializable
{
private static final long serialVersionUID;
private transient volatile long value;
private static final java.util.concurrent.atomic.AtomicLongFieldUpdater updater;
public void <init>(double)
{
long v;
com.google.common.util.concurrent.AtomicDouble v;
double v;
v := @this: com.google.common.util.concurrent.AtomicDouble;
v := @parameter: double;
specialinvoke v.<java.lang.Number: void <init>()>();
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v.<com.google.common.util.concurrent.AtomicDouble: long value> = v;
return;
}
public void <init>()
{
com.google.common.util.concurrent.AtomicDouble v;
v := @this: com.google.common.util.concurrent.AtomicDouble;
specialinvoke v.<java.lang.Number: void <init>()>();
return;
}
public final double get()
{
long v;
com.google.common.util.concurrent.AtomicDouble v;
double v;
v := @this: com.google.common.util.concurrent.AtomicDouble;
v = v.<com.google.common.util.concurrent.AtomicDouble: long value>;
v = staticinvoke <java.lang.Double: double longBitsToDouble(long)>(v);
return v;
}
public final void set(double)
{
long v;
com.google.common.util.concurrent.AtomicDouble v;
double v;
v := @this: com.google.common.util.concurrent.AtomicDouble;
v := @parameter: double;
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v.<com.google.common.util.concurrent.AtomicDouble: long value> = v;
return;
}
public final void lazySet(double)
{
com.google.common.util.concurrent.AtomicDouble v;
java.util.concurrent.atomic.AtomicLongFieldUpdater v;
long v;
double v;
v := @this: com.google.common.util.concurrent.AtomicDouble;
v := @parameter: double;
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = <com.google.common.util.concurrent.AtomicDouble: java.util.concurrent.atomic.AtomicLongFieldUpdater updater>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicLongFieldUpdater: void lazySet(java.lang.Object,long)>(v, v);
return;
}
public final double getAndSet(double)
{
com.google.common.util.concurrent.AtomicDouble v;
java.util.concurrent.atomic.AtomicLongFieldUpdater v;
long v, v;
double v, v;
v := @this: com.google.common.util.concurrent.AtomicDouble;
v := @parameter: double;
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = <com.google.common.util.concurrent.AtomicDouble: java.util.concurrent.atomic.AtomicLongFieldUpdater updater>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLongFieldUpdater: long getAndSet(java.lang.Object,long)>(v, v);
v = staticinvoke <java.lang.Double: double longBitsToDouble(long)>(v);
return v;
}
public final boolean compareAndSet(double, double)
{
com.google.common.util.concurrent.AtomicDouble v;
java.util.concurrent.atomic.AtomicLongFieldUpdater v;
long v, v;
boolean v;
double v, v;
v := @this: com.google.common.util.concurrent.AtomicDouble;
v := @parameter: double;
v := @parameter: double;
v = <com.google.common.util.concurrent.AtomicDouble: java.util.concurrent.atomic.AtomicLongFieldUpdater updater>;
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLongFieldUpdater: boolean compareAndSet(java.lang.Object,long,long)>(v, v, v);
return v;
}
public final boolean weakCompareAndSet(double, double)
{
com.google.common.util.concurrent.AtomicDouble v;
java.util.concurrent.atomic.AtomicLongFieldUpdater v;
long v, v;
boolean v;
double v, v;
v := @this: com.google.common.util.concurrent.AtomicDouble;
v := @parameter: double;
v := @parameter: double;
v = <com.google.common.util.concurrent.AtomicDouble: java.util.concurrent.atomic.AtomicLongFieldUpdater updater>;
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLongFieldUpdater: boolean weakCompareAndSet(java.lang.Object,long,long)>(v, v, v);
return v;
}
public final double getAndAdd(double)
{
com.google.common.util.concurrent.AtomicDouble v;
java.util.concurrent.atomic.AtomicLongFieldUpdater v;
long v, v;
boolean v;
double v, v, v;
v := @this: com.google.common.util.concurrent.AtomicDouble;
v := @parameter: double;
label:
v = v.<com.google.common.util.concurrent.AtomicDouble: long value>;
v = staticinvoke <java.lang.Double: double longBitsToDouble(long)>(v);
v = v + v;
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = <com.google.common.util.concurrent.AtomicDouble: java.util.concurrent.atomic.AtomicLongFieldUpdater updater>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLongFieldUpdater: boolean compareAndSet(java.lang.Object,long,long)>(v, v, v);
if v == 0 goto label;
return v;
}
public final double addAndGet(double)
{
com.google.common.util.concurrent.AtomicDouble v;
java.util.concurrent.atomic.AtomicLongFieldUpdater v;
long v, v;
boolean v;
double v, v, v;
v := @this: com.google.common.util.concurrent.AtomicDouble;
v := @parameter: double;
label:
v = v.<com.google.common.util.concurrent.AtomicDouble: long value>;
v = staticinvoke <java.lang.Double: double longBitsToDouble(long)>(v);
v = v + v;
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = <com.google.common.util.concurrent.AtomicDouble: java.util.concurrent.atomic.AtomicLongFieldUpdater updater>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLongFieldUpdater: boolean compareAndSet(java.lang.Object,long,long)>(v, v, v);
if v == 0 goto label;
return v;
}
public java.lang.String toString()
{
java.lang.String v;
com.google.common.util.concurrent.AtomicDouble v;
double v;
v := @this: com.google.common.util.concurrent.AtomicDouble;
v = virtualinvoke v.<com.google.common.util.concurrent.AtomicDouble: double get()>();
v = staticinvoke <java.lang.Double: java.lang.String toString(double)>(v);
return v;
}
public int intValue()
{
com.google.common.util.concurrent.AtomicDouble v;
double v;
v := @this: com.google.common.util.concurrent.AtomicDouble;
v = virtualinvoke v.<com.google.common.util.concurrent.AtomicDouble: double get()>();
return v;
}
public long longValue()
{
com.google.common.util.concurrent.AtomicDouble v;
double v;
v := @this: com.google.common.util.concurrent.AtomicDouble;
v = virtualinvoke v.<com.google.common.util.concurrent.AtomicDouble: double get()>();
return v;
}
public float floatValue()
{
com.google.common.util.concurrent.AtomicDouble v;
double v;
v := @this: com.google.common.util.concurrent.AtomicDouble;
v = virtualinvoke v.<com.google.common.util.concurrent.AtomicDouble: double get()>();
return v;
}
public double doubleValue()
{
com.google.common.util.concurrent.AtomicDouble v;
double v;
v := @this: com.google.common.util.concurrent.AtomicDouble;
v = virtualinvoke v.<com.google.common.util.concurrent.AtomicDouble: double get()>();
return v;
}
private void writeObject(java.io.ObjectOutputStream) throws java.io.IOException
{
java.io.ObjectOutputStream v;
com.google.common.util.concurrent.AtomicDouble v;
double v;
v := @this: com.google.common.util.concurrent.AtomicDouble;
v := @parameter: java.io.ObjectOutputStream;
virtualinvoke v.<java.io.ObjectOutputStream: void defaultWriteObject()>();
v = virtualinvoke v.<com.google.common.util.concurrent.AtomicDouble: double get()>();
virtualinvoke v.<java.io.ObjectOutputStream: void writeDouble(double)>(v);
return;
}
private void readObject(java.io.ObjectInputStream) throws java.io.IOException, java.lang.ClassNotFoundException
{
java.io.ObjectInputStream v;
com.google.common.util.concurrent.AtomicDouble v;
double v;
v := @this: com.google.common.util.concurrent.AtomicDouble;
v := @parameter: java.io.ObjectInputStream;
virtualinvoke v.<java.io.ObjectInputStream: void defaultReadObject()>();
v = virtualinvoke v.<java.io.ObjectInputStream: double readDouble()>();
virtualinvoke v.<com.google.common.util.concurrent.AtomicDouble: void set(double)>(v);
return;
}
static void <clinit>()
{
java.util.concurrent.atomic.AtomicLongFieldUpdater v;
v = staticinvoke <java.util.concurrent.atomic.AtomicLongFieldUpdater: java.util.concurrent.atomic.AtomicLongFieldUpdater newUpdater(java.lang.Class,java.lang.String)>(class "Lcom/google/common/util/concurrent/AtomicDouble;", "value");
<com.google.common.util.concurrent.AtomicDouble: java.util.concurrent.atomic.AtomicLongFieldUpdater updater> = v;
return;
}
}