public abstract class PartialEscapeBlockState<T extends PartialEscapeBlockState<T>> extends EffectsBlockState<T>
| Modifier and Type | Class and Description |
|---|---|
static class |
PartialEscapeBlockState.Final
Final subclass of PartialEscapeBlockState, for performance and to make everything behave
nicely with generics.
|
exceptionEdgesToKill| Modifier | Constructor and Description |
|---|---|
protected |
PartialEscapeBlockState(OptionValues options,
DebugContext debug) |
protected |
PartialEscapeBlockState(PartialEscapeBlockState<T> other) |
| Modifier and Type | Method and Description |
|---|---|
void |
addLock(int object,
MonitorIdNode monitorId) |
void |
addObject(int virtual,
ObjectState state) |
void |
adoptAddObjectStates(PartialEscapeBlockState<?> other) |
boolean |
contains(VirtualObjectNode value) |
boolean |
equivalentTo(T other) |
void |
escape(int object,
ValueNode materialized) |
ObjectState |
getObjectState(int object) |
ObjectState |
getObjectState(VirtualObjectNode object)
Asserts that the given virtual object is available/reachable in the current state.
|
ObjectState |
getObjectStateOptional(int object) |
ObjectState |
getObjectStateOptional(VirtualObjectNode object) |
int |
getStateCount() |
boolean |
hasObjectState(int object) |
static boolean |
identicalObjectStates(PartialEscapeBlockState<?>[] states) |
static boolean |
identicalObjectStates(PartialEscapeBlockState<?>[] states,
int object) |
void |
materializeBefore(FixedNode fixed,
VirtualObjectNode virtual,
GraphEffectList materializeEffects)
Materializes the given virtual object and produces the necessary effects in the effects list.
|
protected void |
objectMaterialized(VirtualObjectNode virtual,
AllocatedObjectNode representation,
List<ValueNode> values) |
MonitorIdNode |
removeLock(int object) |
void |
resetObjectStates(int size) |
void |
setEnsureVirtualized(int object,
boolean ensureVirtualized) |
void |
setEntry(int object,
int entryIndex,
ValueNode value) |
String |
toString() |
void |
updateMaterializedValue(int object,
ValueNode value) |
isDead, isSubMapOf, markAsDead, meetMapsprotected PartialEscapeBlockState(OptionValues options, DebugContext debug)
protected PartialEscapeBlockState(PartialEscapeBlockState<T> other)
public boolean contains(VirtualObjectNode value)
public ObjectState getObjectState(int object)
public ObjectState getObjectStateOptional(int object)
public boolean hasObjectState(int object)
public ObjectState getObjectState(VirtualObjectNode object)
public ObjectState getObjectStateOptional(VirtualObjectNode object)
public void setEntry(int object,
int entryIndex,
ValueNode value)
public void escape(int object,
ValueNode materialized)
public void addLock(int object,
MonitorIdNode monitorId)
public MonitorIdNode removeLock(int object)
public void setEnsureVirtualized(int object,
boolean ensureVirtualized)
public void updateMaterializedValue(int object,
ValueNode value)
public void materializeBefore(FixedNode fixed, VirtualObjectNode virtual, GraphEffectList materializeEffects)
protected void objectMaterialized(VirtualObjectNode virtual, AllocatedObjectNode representation, List<ValueNode> values)
public void addObject(int virtual,
ObjectState state)
public int getStateCount()
public String toString()
toString in class EffectsBlockState<T extends PartialEscapeBlockState<T>>public boolean equivalentTo(T other)
equivalentTo in class EffectsBlockState<T extends PartialEscapeBlockState<T>>public void resetObjectStates(int size)
public static boolean identicalObjectStates(PartialEscapeBlockState<?>[] states)
public static boolean identicalObjectStates(PartialEscapeBlockState<?>[] states, int object)
public void adoptAddObjectStates(PartialEscapeBlockState<?> other)