object Val
- Alphabetic
- By Inheritance
- Val
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- final case class ArrayValue(elemty: Type, values: Seq[Val]) extends Val with Product with Serializable
A homogeneous collection of data members.
- final case class Byte(value: scala.Byte) extends Val with Product with Serializable
A 8-bit signed two’s complement integer.
- 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 toc"a\0"
. - final case class Char(value: scala.Char) extends Val with Product with Serializable
16-bit unsigned Unicode character
- final case class ClassOf(name: Top) extends Val with Product with Serializable
A reference to
java.lang.Class[_]
of given symbolname
.A reference to
java.lang.Class[_]
of given symbolname
.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 anObjectMonitor
or a bit set of lock word. - 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. - final case class Double(value: scala.Double) extends Val with Product with Serializable
A 64-bit IEEE 754 double-precision float.
- final case class Float(value: scala.Float) extends Val with Product with Serializable
A 32-bit IEEE 754 single-precision float.
- final case class Global(name: nir.Global, valty: Type) extends Val with Product with Serializable
A reference to a global variable, constant, or method.
- final case class Int(value: scala.Int) extends Val with Product with Serializable
A 32-bit signed two’s complement integer.
- final case class Local(id: nir.Local, valty: Type) extends Val with Product with Serializable
A local SSA variable.
- final case class Long(value: scala.Long) extends Val with Product with Serializable
A 64-bit signed two’s complement integer.
- final case class Short(value: scala.Short) extends Val with Product with Serializable
A 16-bit signed two’s complement integer.
- final case class Size(value: scala.Long) extends Val with Product with Serializable
A numerical value suitable to represent the size of a container.
- 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. UseByteString
to represent C-string literals. - final case class StructValue(values: Seq[Val]) extends Val with Product with Serializable
A heterogeneous collection of data members.
- 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.
- final case class Zero(of: Type) extends Val with Product with Serializable
The "zero" value of the given NIR type.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: scala.Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): scala.Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): java.lang.String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: scala.Long, arg1: scala.Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: scala.Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- object Bool extends (Boolean) => Val
A Boolean constant.
- case object False extends Val with Product with Serializable
The constant Boolean 'false'.
- case object Null extends Val with Product with Serializable
The constant 'null' value.
- case object True extends Val with Product with Serializable
The constant Boolean 'true'.
- case object Unit extends Val with Product with Serializable
The unit value.