public class PrimitiveValueProfile extends ValueProfile
ValueProfile that speculates on the primitive equality or object identity of
values.
Note that for {code float} and double values we compare primitive equality via
Float.floatToRawIntBits(float) and Double.doubleToRawLongBits(double), so that for example
-0.0 is not considered the same as 0.0, even though primitive equality would
normally say that it was.
| Modifier and Type | Method and Description |
|---|---|
static boolean |
exactCompare(double a,
double b) |
static boolean |
exactCompare(float a,
float b) |
java.lang.Object |
getCachedValue() |
boolean |
isGeneric() |
boolean |
isUninitialized() |
boolean |
profile(boolean value) |
byte |
profile(byte value) |
char |
profile(char value) |
double |
profile(double value) |
float |
profile(float value) |
int |
profile(int value) |
long |
profile(long value) |
java.lang.Object |
profile(java.lang.Object value) |
short |
profile(short value) |
java.lang.String |
toString() |
createClassProfile, createIdentityProfile, createPrimitiveProfilepublic java.lang.Object profile(java.lang.Object value)
profile in class ValueProfilepublic byte profile(byte value)
public short profile(short value)
public int profile(int value)
public long profile(long value)
public float profile(float value)
public double profile(double value)
public boolean profile(boolean value)
public char profile(char value)
public boolean isGeneric()
public boolean isUninitialized()
public java.lang.Object getCachedValue()
public java.lang.String toString()
toString in class java.lang.Objectpublic static boolean exactCompare(float a,
float b)
public static boolean exactCompare(double a,
double b)