- Companion:
- class
Type members
Classlikes
A homogeneous collection of data members.
A homogeneous collection of data members.
A 8-bit signed two’s complement integer.
A 8-bit signed two’s complement integer.
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"
.
16-bit unsigned Unicode character
16-bit unsigned Unicode character
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.
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.
A 64-bit IEEE 754 double-precision float.
A 64-bit IEEE 754 double-precision float.
A 32-bit IEEE 754 single-precision float.
A 32-bit IEEE 754 single-precision float.
A reference to a global variable, constant, or method.
A reference to a global variable, constant, or method.
A 32-bit signed two’s complement integer.
A 32-bit signed two’s complement integer.
A local SSA variable.
A local SSA variable.
A 64-bit signed two’s complement integer.
A 64-bit signed two’s complement integer.
A 16-bit signed two’s complement integer.
A 16-bit signed two’s complement integer.
A numerical value suitable to represent the size of a container.
A numerical value suitable to represent the size of a container.
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.
A heterogeneous collection of data members.
A heterogeneous collection of data members.
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.