Search in sources :

Example 6 with SPARCAddressValue

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));
}
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 7 with SPARCAddressValue

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;
}
Also used : Variable(org.graalvm.compiler.lir.Variable) SPARCAddressValue(org.graalvm.compiler.lir.sparc.SPARCAddressValue) LoadOp(org.graalvm.compiler.lir.sparc.SPARCMove.LoadOp)

Example 8 with SPARCAddressValue

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;
}
Also used : Variable(org.graalvm.compiler.lir.Variable) SPARCAddressValue(org.graalvm.compiler.lir.sparc.SPARCAddressValue) LoadOp(org.graalvm.compiler.lir.sparc.SPARCMove.LoadOp)

Aggregations

SPARCAddressValue (org.graalvm.compiler.lir.sparc.SPARCAddressValue)8 Variable (org.graalvm.compiler.lir.Variable)4 LoadOp (org.graalvm.compiler.lir.sparc.SPARCMove.LoadOp)3 JavaConstant (jdk.vm.ci.meta.JavaConstant)2 LIRKind (org.graalvm.compiler.core.common.LIRKind)2 StoreOp (org.graalvm.compiler.lir.sparc.SPARCMove.StoreOp)2 RegisterValue (jdk.vm.ci.code.RegisterValue)1 AllocatableValue (jdk.vm.ci.meta.AllocatableValue)1 Value (jdk.vm.ci.meta.Value)1 SPARCKind (jdk.vm.ci.sparc.SPARCKind)1 BYTE (jdk.vm.ci.sparc.SPARCKind.BYTE)1 HWORD (jdk.vm.ci.sparc.SPARCKind.HWORD)1 WORD (jdk.vm.ci.sparc.SPARCKind.WORD)1 XWORD (jdk.vm.ci.sparc.SPARCKind.XWORD)1 CanonicalCondition (org.graalvm.compiler.core.common.calc.CanonicalCondition)1 Condition (org.graalvm.compiler.core.common.calc.Condition)1 NodeMatchRules (org.graalvm.compiler.core.gen.NodeMatchRules)1 ComplexMatchResult (org.graalvm.compiler.core.match.ComplexMatchResult)1 MatchRule (org.graalvm.compiler.core.match.MatchRule)1 GraalError (org.graalvm.compiler.debug.GraalError)1