Search in sources :

Example 1 with SubstrateLIRGenerator

use of com.oracle.svm.core.graal.code.SubstrateLIRGenerator in project graal by oracle.

the class FarReturnLoweredNode method generate.

@Override
public void generate(NodeLIRBuilderTool gen) {
    LIRGeneratorTool lirGenTool = gen.getLIRGeneratorTool();
    AllocatableValue resultOperand = lirGenTool.resultOperandFor(result.getStackKind(), LIRKind.fromJavaKind(lirGenTool.target().arch, result.getStackKind()));
    lirGenTool.emitMove(resultOperand, gen.operand(result));
    ((SubstrateLIRGenerator) lirGenTool).emitFarReturn(resultOperand, gen.operand(sp), gen.operand(ip));
}
Also used : SubstrateLIRGenerator(com.oracle.svm.core.graal.code.SubstrateLIRGenerator) LIRGeneratorTool(org.graalvm.compiler.lir.gen.LIRGeneratorTool) AllocatableValue(jdk.vm.ci.meta.AllocatableValue)

Example 2 with SubstrateLIRGenerator

use of com.oracle.svm.core.graal.code.SubstrateLIRGenerator in project graal by oracle.

the class ReadInstructionPointerNode method generate.

@Override
public void generate(NodeLIRBuilderTool generator) {
    SubstrateLIRGenerator sgenerator = (SubstrateLIRGenerator) generator.getLIRGeneratorTool();
    Value result = sgenerator.emitReadInstructionPointer();
    generator.setResult(this, result);
}
Also used : SubstrateLIRGenerator(com.oracle.svm.core.graal.code.SubstrateLIRGenerator) Value(jdk.vm.ci.meta.Value)

Aggregations

SubstrateLIRGenerator (com.oracle.svm.core.graal.code.SubstrateLIRGenerator)2 AllocatableValue (jdk.vm.ci.meta.AllocatableValue)1 Value (jdk.vm.ci.meta.Value)1 LIRGeneratorTool (org.graalvm.compiler.lir.gen.LIRGeneratorTool)1