# HG changeset patch # User Roland Schatz # Date 1362645814 -3600 # Node ID a016a19f37920beec012a20decab11a6c2810e8b # Parent 569b7d482918dda3acf0869083aaf1dc0c4cc04d Remove SpillMoveOp. diff -r 569b7d482918 -r a016a19f3792 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 Mar 07 09:43:30 2013 +0100 +++ b/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java Thu Mar 07 09:43:34 2013 +0100 @@ -67,7 +67,6 @@ import com.oracle.graal.lir.amd64.AMD64Move.MoveFromRegOp; import com.oracle.graal.lir.amd64.AMD64Move.MoveToRegOp; import com.oracle.graal.lir.amd64.AMD64Move.NullCheckOp; -import com.oracle.graal.lir.amd64.AMD64Move.SpillMoveOp; import com.oracle.graal.lir.amd64.AMD64Move.StackLeaOp; import com.oracle.graal.lir.amd64.AMD64Move.StoreConstantOp; import com.oracle.graal.lir.amd64.AMD64Move.StoreOp; @@ -94,7 +93,7 @@ @Override public LIRInstruction createMove(Value result, Value input) { - return new SpillMoveOp(result, input); + return AMD64LIRGenerator.createMove(result, input); } } @@ -146,13 +145,17 @@ return result; } + private static AMD64LIRInstruction createMove(Value dst, Value src) { + if (isRegister(src) || isStackSlot(dst)) { + return new MoveFromRegOp(dst, src); + } else { + return new MoveToRegOp(dst, src); + } + } + @Override public void emitMove(Value dst, Value src) { - if (isRegister(src) || isStackSlot(dst)) { - append(new MoveFromRegOp(dst, src)); - } else { - append(new MoveToRegOp(dst, src)); - } + append(createMove(dst, src)); } private AMD64Address prepareAddress(Kind kind, Value base, int displacement, Value index, int scale) { diff -r 569b7d482918 -r a016a19f3792 graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java --- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java Thu Mar 07 09:43:30 2013 +0100 +++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java Thu Mar 07 09:43:34 2013 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -42,33 +42,6 @@ public class AMD64Move { @Opcode("MOVE") - public static class SpillMoveOp extends AMD64LIRInstruction implements MoveOp { - - @Def({REG, STACK}) protected Value result; - @Use({REG, STACK, CONST}) protected Value input; - - public SpillMoveOp(Value result, Value input) { - this.result = result; - this.input = input; - } - - @Override - public void emitCode(TargetMethodAssembler tasm, AMD64MacroAssembler masm) { - move(tasm, masm, getResult(), getInput()); - } - - @Override - public Value getInput() { - return input; - } - - @Override - public Value getResult() { - return result; - } - } - - @Opcode("MOVE") public static class MoveToRegOp extends AMD64LIRInstruction implements MoveOp { @Def({REG, HINT}) protected Value result;