use of org.graalvm.compiler.lir.sparc.SPARCAddressValue 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));
}
use of org.graalvm.compiler.lir.sparc.SPARCAddressValue in project graal by oracle.
the class SPARCArithmeticLIRGenerator method emitLoad.
@Override
public Variable emitLoad(LIRKind kind, Value address, LIRFrameState state) {
SPARCAddressValue loadAddress = getLIRGen().asAddressValue(address);
Variable result = getLIRGen().newVariable(getLIRGen().toRegisterKind(kind));
getLIRGen().append(new LoadOp(kind.getPlatformKind(), result, loadAddress, state));
return result;
}
use of org.graalvm.compiler.lir.sparc.SPARCAddressValue in project graal by oracle.
the class SPARCLIRGenerator method emitSignExtendLoad.
public Value emitSignExtendLoad(LIRKind kind, LIRKind resultKind, Value address, LIRFrameState state) {
SPARCAddressValue loadAddress = asAddressValue(address);
Variable result = newVariable(resultKind);
append(new LoadOp(kind.getPlatformKind(), result, loadAddress, state, true));
return result;
}
Aggregations