public abstract class CompositeValue extends AbstractValue
Modifier and Type | Class and Description |
---|---|
static interface |
CompositeValue.Component |
Value.IllegalValue
Modifier and Type | Field and Description |
---|---|
private static DebugMetric |
COMPOSITE_VALUE_COUNT |
ILLEGAL
Constructor and Description |
---|
CompositeValue(LIRKind kind) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj) |
protected abstract void |
forEachComponent(LIRInstruction inst,
LIRInstruction.OperandMode mode,
InstructionValueConsumer proc) |
abstract CompositeValue |
forEachComponent(LIRInstruction inst,
LIRInstruction.OperandMode mode,
InstructionValueProcedure proc)
|
int |
hashCode() |
String |
toString() |
protected Value[] |
visitValueArray(LIRInstruction inst,
Value[] values,
LIRInstruction.OperandMode mode,
InstructionValueProcedure proc,
EnumSet<LIRInstruction.OperandFlag> flags)
A helper method to visit
Value [] ensuring that a copy of the array is made if it's
needed. |
getKind, getKindSuffix, getLIRKind, getPlatformKind, identityEquals
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
identityEquals
private static final DebugMetric COMPOSITE_VALUE_COUNT
public CompositeValue(LIRKind kind)
public abstract CompositeValue forEachComponent(LIRInstruction inst, LIRInstruction.OperandMode mode, InstructionValueProcedure proc)
proc
on each Value
element of this CompositeValue
. If
proc
replaces any value then a new CompositeValue should be returned.inst
- mode
- proc
- protected Value[] visitValueArray(LIRInstruction inst, Value[] values, LIRInstruction.OperandMode mode, InstructionValueProcedure proc, EnumSet<LIRInstruction.OperandFlag> flags)
Value
[] ensuring that a copy of the array is made if it's
needed.inst
- values
- mode
- proc
- flags
- values
array or a copy if values changedprotected abstract void forEachComponent(LIRInstruction inst, LIRInstruction.OperandMode mode, InstructionValueConsumer proc)
public int hashCode()
hashCode
in class AbstractValue
public boolean equals(Object obj)
equals
in class AbstractValue