object Val

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Val
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. final case class ArrayValue(elemty: Type, values: Seq[Val]) extends Val with Product with Serializable

    A homogeneous collection of data members.

  2. final case class Byte(value: scala.Byte) extends Val with Product with Serializable

    A 8-bit signed two’s complement integer.

  3. final case class ByteString(bytes: Array[scala.Byte]) extends Val with Product with Serializable

    A collection of bytes.

    A collection of bytes.

    Unlike arrays, byte strings are implicitly null-terminated. Hence, they correspond to C-string literals. For example, ByteString(Array(97)) will be compiled to c"a\0".

  4. final case class Char(value: scala.Char) extends Val with Product with Serializable

    16-bit unsigned Unicode character

  5. final case class ClassOf(name: Top) extends Val with Product with Serializable

    A reference to java.lang.Class[_] of given symbol name.

    A reference to java.lang.Class[_] of given symbol name.

    Instances are emitted as global variables during code feneration. They are used to deduplicate Class instances. There should be only 1 instance per type.

    Note that, althrough they are currently emitted as global variables, instances of this type could be constants. However, when we added multithreading and object monitors, we needed to edit one of its fields (specifically, lockWord), which contains an ObjectMonitor or a bit set of lock word.

  6. final case class Const(value: Val) extends Val with Product with Serializable

    A constant.

    A constant.

    Note that this class does not behave like a literal constant, which are represented by ByteString, Zero, Int, etc. Instead, it represents a pointer to some constant value.

  7. final case class Double(value: scala.Double) extends Val with Product with Serializable

    A 64-bit IEEE 754 double-precision float.

  8. final case class Float(value: scala.Float) extends Val with Product with Serializable

    A 32-bit IEEE 754 single-precision float.

  9. final case class Global(name: nir.Global, valty: Type) extends Val with Product with Serializable

    A reference to a global variable, constant, or method.

  10. final case class Int(value: scala.Int) extends Val with Product with Serializable

    A 32-bit signed two’s complement integer.

  11. final case class Local(id: nir.Local, valty: Type) extends Val with Product with Serializable

    A local SSA variable.

  12. final case class Long(value: scala.Long) extends Val with Product with Serializable

    A 64-bit signed two’s complement integer.

  13. final case class Short(value: scala.Short) extends Val with Product with Serializable

    A 16-bit signed two’s complement integer.

  14. final case class Size(value: scala.Long) extends Val with Product with Serializable

    A numerical value suitable to represent the size of a container.

  15. final case class String(value: java.lang.String) extends Val with Product with Serializable

    A character string.

    A character string.

    Values of this type correspond to instances of java.lang.String and are compiled as global arrays of UTF-16 characters. Use ByteString to represent C-string literals.

  16. final case class StructValue(values: Seq[Val]) extends Val with Product with Serializable

    A heterogeneous collection of data members.

  17. final case class Virtual(key: scala.Long) extends Val with Product with Serializable

    A virtual value.

    A virtual value.

    Virtual values only serve as placeholders during optimization. They are not serializable and are never emitted by the compiler plugin.

  18. final case class Zero(of: Type) extends Val with Product with Serializable

    The "zero" value of the given NIR type.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: scala.Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): scala.Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  16. def toString(): java.lang.String
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  18. final def wait(arg0: scala.Long, arg1: scala.Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: scala.Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  20. object Bool extends (Boolean) => Val

    A Boolean constant.

  21. case object False extends Val with Product with Serializable

    The constant Boolean 'false'.

  22. case object Null extends Val with Product with Serializable

    The constant 'null' value.

  23. case object True extends Val with Product with Serializable

    The constant Boolean 'true'.

  24. case object Unit extends Val with Product with Serializable

    The unit value.

Inherited from AnyRef

Inherited from Any

Ungrouped