# HG changeset patch # User Josef Eisl # Date 1431003842 -7200 # Node ID 85d0088596e86a90f3446d519b0e1f9fa39b3f86 # Parent 7d998dd2d1b00f685ca5d0d73340cd4cbb323499 SpillMoveFactory#emitStackMove: use AllocatableValue and Value (again). diff -r 7d998dd2d1b0 -r 85d0088596e8 graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java --- a/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java Thu May 07 14:55:16 2015 +0300 +++ b/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java Thu May 07 15:04:02 2015 +0200 @@ -101,7 +101,7 @@ } @Override - public LIRInstruction createStackMove(StackSlotValue result, StackSlotValue input) { + public LIRInstruction createStackMove(AllocatableValue result, Value input) { return AMD64LIRGenerator.this.createStackMove(result, input); } @@ -140,14 +140,14 @@ } } - protected LIRInstruction createStackMove(StackSlotValue result, StackSlotValue input) { + protected LIRInstruction createStackMove(AllocatableValue result, Value input) { RegisterBackupPair backup = getScratchRegister(input.getPlatformKind()); Register scratchRegister = backup.register; StackSlotValue backupSlot = backup.backupSlot; return createStackMove(result, input, scratchRegister, backupSlot); } - protected LIRInstruction createStackMove(StackSlotValue result, StackSlotValue input, Register scratchRegister, StackSlotValue backupSlot) { + protected LIRInstruction createStackMove(AllocatableValue result, Value input, Register scratchRegister, StackSlotValue backupSlot) { return new AMD64StackMove(result, input, scratchRegister, backupSlot); } diff -r 7d998dd2d1b0 -r 85d0088596e8 graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java --- a/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java Thu May 07 14:55:16 2015 +0300 +++ b/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java Thu May 07 15:04:02 2015 +0200 @@ -81,7 +81,7 @@ } @Override - public LIRInstruction createStackMove(StackSlotValue result, StackSlotValue input) { + public LIRInstruction createStackMove(AllocatableValue result, Value input) { return SPARCLIRGenerator.this.createStackMove(result, input); } } @@ -125,7 +125,7 @@ } } - protected LIRInstruction createStackMove(StackSlotValue result, StackSlotValue input) { + protected LIRInstruction createStackMove(AllocatableValue result, Value input) { return new SPARCStackMove(result, input); } diff -r 7d998dd2d1b0 -r 85d0088596e8 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/SSAMoveResolver.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/SSAMoveResolver.java Thu May 07 14:55:16 2015 +0300 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/SSAMoveResolver.java Thu May 07 15:04:02 2015 +0200 @@ -114,7 +114,7 @@ @Override protected LIRInstruction createMove(AllocatableValue fromOpr, AllocatableValue toOpr, AllocatableValue fromLocation, AllocatableValue toLocation) { if (isStackSlotValue(toLocation) && isStackSlotValue(fromLocation)) { - return getAllocator().getSpillMoveFactory().createStackMove(asStackSlotValue(toOpr), asStackSlotValue(fromOpr)); + return getAllocator().getSpillMoveFactory().createStackMove(toOpr, fromOpr); } return super.createMove(fromOpr, toOpr, fromLocation, toLocation); } diff -r 7d998dd2d1b0 -r 85d0088596e8 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGeneratorTool.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGeneratorTool.java Thu May 07 14:55:16 2015 +0300 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGeneratorTool.java Thu May 07 15:04:02 2015 +0200 @@ -37,7 +37,7 @@ LIRInstruction createMove(AllocatableValue result, Value input); - default LIRInstruction createStackMove(StackSlotValue result, StackSlotValue input) { + default LIRInstruction createStackMove(AllocatableValue result, Value input) { return new StackMove(result, input); } }