# HG changeset patch # User Roland Schatz # Date 1371719867 -7200 # Node ID 6188764e66af70e25b5e9d6bbe644f517fc03b2a # Parent 58777dad7f9027bdd7fab48de10374d37ec97a50 Use stack kind to determine instruction in AMD64LIRGenerator. diff -r 58777dad7f90 -r 6188764e66af 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 Jun 20 10:18:15 2013 +0200 +++ b/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java Thu Jun 20 11:17:47 2013 +0200 @@ -416,7 +416,7 @@ @Override public Variable emitAdd(Value a, Value b) { - switch (a.getKind()) { + switch (a.getKind().getStackKind()) { case Int: return emitBinary(IADD, true, a, b); case Long: @@ -432,7 +432,7 @@ @Override public Variable emitSub(Value a, Value b) { - switch (a.getKind()) { + switch (a.getKind().getStackKind()) { case Int: return emitBinary(ISUB, false, a, b); case Long: @@ -448,7 +448,7 @@ @Override public Variable emitMul(Value a, Value b) { - switch (a.getKind()) { + switch (a.getKind().getStackKind()) { case Int: return emitBinary(IMUL, true, a, b); case Long: @@ -497,7 +497,7 @@ public Value[] emitIntegerDivRem(Value a, Value b, DeoptimizingNode deopting) { LIRFrameState state = state(deopting); - switch (a.getKind()) { + switch (a.getKind().getStackKind()) { case Int: emitDivRem(IDIVREM, a, b, state); return new Value[]{emitMove(RAX_I), emitMove(RDX_I)}; @@ -511,7 +511,7 @@ @Override public Value emitDiv(Value a, Value b, DeoptimizingNode deopting) { - switch (a.getKind()) { + switch (a.getKind().getStackKind()) { case Int: emitDivRem(IDIV, a, b, state(deopting)); return emitMove(RAX_I); @@ -535,7 +535,7 @@ @Override public Value emitRem(Value a, Value b, DeoptimizingNode deopting) { - switch (a.getKind()) { + switch (a.getKind().getStackKind()) { case Int: emitDivRem(IREM, a, b, state(deopting)); return emitMove(RDX_I); @@ -560,7 +560,7 @@ @Override public Variable emitUDiv(Value a, Value b, DeoptimizingNode deopting) { LIRFrameState state = state(deopting); - switch (a.getKind()) { + switch (a.getKind().getStackKind()) { case Int: emitDivRem(IUDIV, a, b, state); return emitMove(RAX_I); @@ -575,7 +575,7 @@ @Override public Variable emitURem(Value a, Value b, DeoptimizingNode deopting) { LIRFrameState state = state(deopting); - switch (a.getKind()) { + switch (a.getKind().getStackKind()) { case Int: emitDivRem(IUREM, a, b, state); return emitMove(RDX_I); @@ -589,7 +589,7 @@ @Override public Variable emitAnd(Value a, Value b) { - switch (a.getKind()) { + switch (a.getKind().getStackKind()) { case Int: return emitBinary(IAND, true, a, b); case Long: @@ -601,7 +601,7 @@ @Override public Variable emitOr(Value a, Value b) { - switch (a.getKind()) { + switch (a.getKind().getStackKind()) { case Int: return emitBinary(IOR, true, a, b); case Long: @@ -613,7 +613,7 @@ @Override public Variable emitXor(Value a, Value b) { - switch (a.getKind()) { + switch (a.getKind().getStackKind()) { case Int: return emitBinary(IXOR, true, a, b); case Long: @@ -637,7 +637,7 @@ @Override public Variable emitShl(Value a, Value b) { - switch (a.getKind()) { + switch (a.getKind().getStackKind()) { case Int: return emitShift(ISHL, a, b); case Long: @@ -649,7 +649,7 @@ @Override public Variable emitShr(Value a, Value b) { - switch (a.getKind()) { + switch (a.getKind().getStackKind()) { case Int: return emitShift(ISHR, a, b); case Long: @@ -661,7 +661,7 @@ @Override public Variable emitUShr(Value a, Value b) { - switch (a.getKind()) { + switch (a.getKind().getStackKind()) { case Int: return emitShift(IUSHR, a, b); case Long: