Class PrimitiveValueProfile

java.lang.Object
com.oracle.truffle.api.utilities.ValueProfile
com.oracle.truffle.api.utilities.PrimitiveValueProfile

public class PrimitiveValueProfile extends ValueProfile
Represents a 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.

  • Method Details

    • profile

      public Object profile(Object value)
      Specified by:
      profile in class ValueProfile
    • profile

      public byte profile(byte value)
    • profile

      public short profile(short value)
    • profile

      public int profile(int value)
    • profile

      public long profile(long value)
    • profile

      public float profile(float value)
    • profile

      public double profile(double value)
    • profile

      public boolean profile(boolean value)
    • profile

      public char profile(char value)
    • isGeneric

      public boolean isGeneric()
    • isUninitialized

      public boolean isUninitialized()
    • getCachedValue

      public Object getCachedValue()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • exactCompare

      public static boolean exactCompare(float a, float b)
    • exactCompare

      public static boolean exactCompare(double a, double b)