use of org.graalvm.compiler.lir.sparc.SPARCMove.StoreOp in project graal by oracle.
the class SPARCArithmeticLIRGenerator method emitStore.
@Override
public void emitStore(ValueKind<?> kind, Value address, Value inputVal, LIRFrameState state) {
SPARCAddressValue storeAddress = getLIRGen().asAddressValue(address);
if (isJavaConstant(inputVal)) {
JavaConstant c = asJavaConstant(inputVal);
if (c.isDefaultForKind()) {
getLIRGen().append(new StoreConstantOp(kind.getPlatformKind(), storeAddress, c, state));
return;
}
}
Variable input = getLIRGen().load(inputVal);
getLIRGen().append(new StoreOp(kind.getPlatformKind(), storeAddress, input, state));
}
use of org.graalvm.compiler.lir.sparc.SPARCMove.StoreOp in project graal by oracle.
the class SPARCHotSpotLIRGenerator method moveValueToThread.
private void moveValueToThread(Value v, int offset) {
LIRKind wordKind = LIRKind.value(target().arch.getWordKind());
RegisterValue thread = getProviders().getRegisters().getThreadRegister().asValue(wordKind);
SPARCAddressValue pendingDeoptAddress = new SPARCImmediateAddressValue(wordKind, thread, offset);
append(new StoreOp(v.getPlatformKind(), pendingDeoptAddress, load(v), null));
}
Aggregations