Mercurial > hg > truffle
changeset 17216:7d8bb35e67c8
Merge
author | Stefan Anzinger <stefan.anzinger@oracle.com> |
---|---|
date | Thu, 25 Sep 2014 09:42:28 -0700 |
parents | 7a99826863d9 (diff) 26d07b31c4a8 (current diff) |
children | 1738211d4cdb |
files | graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/NodeRefIteratorTest.java graal/com.oracle.graal.graph/src/com/oracle/graal/graph/FirstLevelPositionCollection.java graal/com.oracle.graal.graph/src/com/oracle/graal/graph/FirstLevelPositionIterator.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeClassSubstitutions.java |
diffstat | 2 files changed, 12 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.asm/src/com/oracle/graal/asm/Assembler.java Thu Sep 25 14:43:52 2014 +0200 +++ b/graal/com.oracle.graal.asm/src/com/oracle/graal/asm/Assembler.java Thu Sep 25 09:42:28 2014 -0700 @@ -33,7 +33,7 @@ public abstract class Assembler { public final TargetDescription target; - private Set<LabelHint> jumpDisplacementHints; + private List<LabelHint> jumpDisplacementHints; /** * Backing code buffer. @@ -206,7 +206,7 @@ public LabelHint requestLabelHint(Label label) { if (jumpDisplacementHints == null) { - jumpDisplacementHints = new HashSet<>(); + jumpDisplacementHints = new ArrayList<>(); } LabelHint hint = new LabelHint(label, position()); this.jumpDisplacementHints.add(hint); @@ -216,8 +216,7 @@ public static class LabelHint { private Label label; private int forPosition; - private int capturedTarget; - private boolean captured = false; + private int capturedTarget = -1; protected LabelHint(Label label, int lastPosition) { super(); @@ -227,7 +226,6 @@ protected void capture() { this.capturedTarget = label.position(); - this.captured = true; } public int getTarget() { @@ -241,7 +239,7 @@ } public boolean isValid() { - return captured; + return capturedTarget >= 0; } } }
--- a/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArithmetic.java Thu Sep 25 14:43:52 2014 +0200 +++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArithmetic.java Thu Sep 25 09:42:28 2014 -0700 @@ -575,24 +575,24 @@ new Signx(asLongReg(src), asIntReg(dst)).emit(masm); break; case B2L: - new Sllx(asIntReg(src), 56, asLongReg(dst)).emit(masm); + new Sll(asIntReg(src), 24, asLongReg(dst)).emit(masm); delaySlotLir.emitControlTransfer(crb, masm); - new Srax(asLongReg(dst), 56, asLongReg(dst)).emit(masm); + new Sra(asLongReg(dst), 24, asLongReg(dst)).emit(masm); break; case B2I: - new Sllx(asIntReg(src), 56, asIntReg(dst)).emit(masm); + new Sll(asIntReg(src), 24, asIntReg(dst)).emit(masm); delaySlotLir.emitControlTransfer(crb, masm); - new Srax(asIntReg(dst), 56, asIntReg(dst)).emit(masm); + new Sra(asIntReg(dst), 24, asIntReg(dst)).emit(masm); break; case S2L: - new Sllx(asIntReg(src), 48, asLongReg(dst)).emit(masm); + new Sll(asIntReg(src), 16, asLongReg(dst)).emit(masm); delaySlotLir.emitControlTransfer(crb, masm); - new Srax(asLongReg(dst), 48, asLongReg(dst)).emit(masm); + new Sra(asLongReg(dst), 16, asLongReg(dst)).emit(masm); break; case S2I: - new Sllx(asIntReg(src), 48, asIntReg(dst)).emit(masm); + new Sll(asIntReg(src), 16, asIntReg(dst)).emit(masm); delaySlotLir.emitControlTransfer(crb, masm); - new Srax(asIntReg(dst), 48, asIntReg(dst)).emit(masm); + new Sra(asIntReg(dst), 16, asIntReg(dst)).emit(masm); break; case I2F: delaySlotLir.emitControlTransfer(crb, masm);