public class CastValue
extends AllocatableValue
Register or StackSlot) as
the underlying value, but has a different kind. The target kind may be smaller, but not larger,
than the underlying value's kind.
Spilling a cast value means spilling the underlying value. The cast value and the underlying
value share the same stack frame offset. Reloading cast values therefore works correctly on
little-endian machines: For example, consider spilling a 16-bit cast of the 32-bit value
0x44332211. The full value will be spilled, and the reloaded value will be 0x2211, which is what
is intended. A big-endian target would need to adjust the frame offset.| Constructor and Description |
|---|
CastValue(<any> kind,
AllocatableValue underlyingValue)
Constructs a cast from the
underlyingValue to kind. |