Search in sources :

Example 1 with SPARCImmediateAddressValue

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));
}
Also used : RegisterValue(jdk.vm.ci.code.RegisterValue) SPARCImmediateAddressValue(org.graalvm.compiler.lir.sparc.SPARCImmediateAddressValue) SPARCAddressValue(org.graalvm.compiler.lir.sparc.SPARCAddressValue) StoreOp(org.graalvm.compiler.lir.sparc.SPARCMove.StoreOp) LIRKind(org.graalvm.compiler.core.common.LIRKind)

Example 2 with SPARCImmediateAddressValue

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));
}
Also used : SPARCImmediateAddressValue(org.graalvm.compiler.lir.sparc.SPARCImmediateAddressValue) LIRKind(org.graalvm.compiler.core.common.LIRKind) AllocatableValue(jdk.vm.ci.meta.AllocatableValue)

Aggregations

LIRKind (org.graalvm.compiler.core.common.LIRKind)2 SPARCImmediateAddressValue (org.graalvm.compiler.lir.sparc.SPARCImmediateAddressValue)2 RegisterValue (jdk.vm.ci.code.RegisterValue)1 AllocatableValue (jdk.vm.ci.meta.AllocatableValue)1 SPARCAddressValue (org.graalvm.compiler.lir.sparc.SPARCAddressValue)1 StoreOp (org.graalvm.compiler.lir.sparc.SPARCMove.StoreOp)1