comparison graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java @ 21247:6a00c1217310

Add SPARCStackMove.
author Josef Eisl <josef.eisl@jku.at>
date Tue, 05 May 2015 16:53:37 +0200
parents 00bbd2badfd3
children 4f7c7754667a 79b036f0cf0b
comparison
equal deleted inserted replaced
21246:b2b3c514a391 21247:6a00c1217310
57 import com.oracle.graal.lir.sparc.SPARCMove.MembarOp; 57 import com.oracle.graal.lir.sparc.SPARCMove.MembarOp;
58 import com.oracle.graal.lir.sparc.SPARCMove.MoveFpGp; 58 import com.oracle.graal.lir.sparc.SPARCMove.MoveFpGp;
59 import com.oracle.graal.lir.sparc.SPARCMove.MoveFpGpVIS3; 59 import com.oracle.graal.lir.sparc.SPARCMove.MoveFpGpVIS3;
60 import com.oracle.graal.lir.sparc.SPARCMove.MoveFromRegOp; 60 import com.oracle.graal.lir.sparc.SPARCMove.MoveFromRegOp;
61 import com.oracle.graal.lir.sparc.SPARCMove.MoveToRegOp; 61 import com.oracle.graal.lir.sparc.SPARCMove.MoveToRegOp;
62 import com.oracle.graal.lir.sparc.SPARCMove.SPARCStackMove;
62 import com.oracle.graal.lir.sparc.SPARCMove.StackLoadAddressOp; 63 import com.oracle.graal.lir.sparc.SPARCMove.StackLoadAddressOp;
63 import com.oracle.graal.phases.util.*; 64 import com.oracle.graal.phases.util.*;
64 import com.oracle.graal.sparc.*; 65 import com.oracle.graal.sparc.*;
65 import com.oracle.graal.sparc.SPARC.CPUFeature; 66 import com.oracle.graal.sparc.SPARC.CPUFeature;
66 67
75 private class SPARCSpillMoveFactory implements LIRGeneratorTool.SpillMoveFactory { 76 private class SPARCSpillMoveFactory implements LIRGeneratorTool.SpillMoveFactory {
76 77
77 @Override 78 @Override
78 public LIRInstruction createMove(AllocatableValue result, Value input) { 79 public LIRInstruction createMove(AllocatableValue result, Value input) {
79 return SPARCLIRGenerator.this.createMove(result, input); 80 return SPARCLIRGenerator.this.createMove(result, input);
81 }
82
83 @Override
84 public LIRInstruction createStackMove(AllocatableValue result, Value input) {
85 return new SPARCStackMove(result, input);
80 } 86 }
81 } 87 }
82 88
83 public SPARCLIRGenerator(LIRKindTool lirKindTool, Providers providers, CallingConvention cc, LIRGenerationResult lirGenRes) { 89 public SPARCLIRGenerator(LIRKindTool lirKindTool, Providers providers, CallingConvention cc, LIRGenerationResult lirGenRes) {
84 super(lirKindTool, providers, cc, lirGenRes); 90 super(lirKindTool, providers, cc, lirGenRes);