public final class LIRValueUtil extends Object
| Constructor and Description |
|---|
LIRValueUtil() |
| Modifier and Type | Method and Description |
|---|---|
static Constant |
asConstant(Value value) |
static ConstantValue |
asConstantValue(Value value) |
static JavaConstant |
asJavaConstant(Value value) |
static Variable |
asVariable(Value value)
|
static VirtualStackSlot |
asVirtualStackSlot(Value value) |
static boolean |
differentRegisters(Object... values)
Checks if all the provided values are different physical registers.
|
static boolean |
isCast(Value value) |
static boolean |
isConstantValue(Value value) |
static boolean |
isIntConstant(Value value,
long expected) |
static boolean |
isJavaConstant(Value value) |
static boolean |
isNullConstant(Value value) |
static boolean |
isStackSlotValue(Value value) |
static boolean |
isVariable(Value value)
Determine if the value, after removing an optional
cast, is a variable. |
static boolean |
isVirtualStackSlot(Value value) |
static boolean |
sameRegister(Value v1,
Value v2) |
static boolean |
sameRegister(Value v1,
Value v2,
Value v3) |
static Value |
stripCast(Value value) |
static Value[] |
subtractRegisters(Value[] x,
Value[] y)
Subtract sets of registers (x - y).
|
public static boolean isVariable(Value value)
cast, is a variable.
This method should always be used instead of an instanceof Variable check.public static Variable asVariable(Value value)
Variable, removing an optional cast from it.
LIRValueUtil.isVariable(Value) must have returned true on this value. This method should
always be used instead of a cast to Variable.public static boolean isConstantValue(Value value)
public static ConstantValue asConstantValue(Value value)
public static Constant asConstant(Value value)
public static boolean isJavaConstant(Value value)
public static JavaConstant asJavaConstant(Value value)
public static boolean isNullConstant(Value value)
public static boolean isIntConstant(Value value,
long expected)
public static boolean isStackSlotValue(Value value)
public static boolean isVirtualStackSlot(Value value)
public static VirtualStackSlot asVirtualStackSlot(Value value)
public static boolean sameRegister(Value v1,
Value v2)
public static boolean sameRegister(Value v1,
Value v2,
Value v3)
public static boolean isCast(Value value)
public static Value stripCast(Value value)
public static boolean differentRegisters(Object... values)
registers, values or arrays of them. All values that
are not registers are ignored.public static Value[] subtractRegisters(Value[] x,
Value[] y)
x - a set of register to subtract from.y - a set of registers to subtract.