public class NamedLocationIdentity extends jdk.internal.jvmci.meta.LocationIdentity implements jdk.internal.jvmci.meta.Kind.FormatWithToString
LocationIdentity
with a name.Modifier and Type | Class and Description |
---|---|
(package private) static class |
NamedLocationIdentity.DB
Map for asserting all
NamedLocationIdentity instances have a unique name. |
Modifier and Type | Field and Description |
---|---|
static jdk.internal.jvmci.meta.LocationIdentity |
ARRAY_LENGTH_LOCATION
Denotes the location of the length field of a Java array.
|
private static EnumMap<jdk.internal.jvmci.meta.Kind,jdk.internal.jvmci.meta.LocationIdentity> |
ARRAY_LOCATIONS |
static jdk.internal.jvmci.meta.LocationIdentity |
FINAL_LOCATION
Denotes the location of a value that is guaranteed to be unchanging.
|
private boolean |
immutable |
private String |
name |
Modifier | Constructor and Description |
---|---|
protected |
NamedLocationIdentity(String name,
boolean immutable) |
Modifier and Type | Method and Description |
---|---|
static jdk.internal.jvmci.meta.LocationIdentity |
any() |
private static NamedLocationIdentity |
create(String name,
boolean immutable)
Creates a named unique location identity for read and write operations.
|
static jdk.internal.jvmci.meta.LocationIdentity |
getArrayLocation(jdk.internal.jvmci.meta.Kind elementKind)
Returns the named location identity for an array of the given element kind.
|
static NamedLocationIdentity |
immutable(String name)
Creates a named unique location identity for read operations against immutable memory.
|
private static EnumMap<jdk.internal.jvmci.meta.Kind,jdk.internal.jvmci.meta.LocationIdentity> |
initArrayLocations() |
boolean |
isImmutable() |
static NamedLocationIdentity |
mutable(String name)
Creates a named unique location identity for read and write operations against mutable
memory.
|
String |
toString() |
public static final jdk.internal.jvmci.meta.LocationIdentity FINAL_LOCATION
public static final jdk.internal.jvmci.meta.LocationIdentity ARRAY_LENGTH_LOCATION
private final boolean immutable
private static final EnumMap<jdk.internal.jvmci.meta.Kind,jdk.internal.jvmci.meta.LocationIdentity> ARRAY_LOCATIONS
protected NamedLocationIdentity(String name, boolean immutable)
public static jdk.internal.jvmci.meta.LocationIdentity any()
public static NamedLocationIdentity mutable(String name)
name
- the name of the new location identitypublic static NamedLocationIdentity immutable(String name)
name
- the name of the new location identityprivate static NamedLocationIdentity create(String name, boolean immutable)
name
- the name of the new location identityimmutable
- true if the location is immutablepublic boolean isImmutable()
isImmutable
in class jdk.internal.jvmci.meta.LocationIdentity
public static jdk.internal.jvmci.meta.LocationIdentity getArrayLocation(jdk.internal.jvmci.meta.Kind elementKind)
private static EnumMap<jdk.internal.jvmci.meta.Kind,jdk.internal.jvmci.meta.LocationIdentity> initArrayLocations()