use of org.graalvm.compiler.lir.sparc.SPARCImmediateAddressValue 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.SPARCImmediateAddressValue in project graal by oracle.
the class SPARCImmediateAddressNode method generate.
@Override
public void generate(NodeLIRBuilderTool gen) {
SPARCLIRGenerator tool = (SPARCLIRGenerator) gen.getLIRGeneratorTool();
AllocatableValue baseValue = tool.asAllocatable(gen.operand(base));
LIRKind kind = tool.getLIRKind(stamp(NodeView.DEFAULT));
AllocatableValue baseReference = LIRKind.derivedBaseFromValue(baseValue);
if (baseReference != null) {
kind = kind.makeDerivedReference(baseReference);
}
gen.setResult(this, new SPARCImmediateAddressValue(kind, baseValue, displacement));
}
Aggregations