From: adam Date: Thu, 21 Aug 2008 10:26:16 +0000 (+0100) Subject: cleaner implementation of Shift instruction in InterpreterDock X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=3573d9a5f0abe23c6dec5141a26d08d7db1061b4;p=fleet.git cleaner implementation of Shift instruction in InterpreterDock --- diff --git a/src/edu/berkeley/fleet/interpreter/InterpreterDock.java b/src/edu/berkeley/fleet/interpreter/InterpreterDock.java index 1610d19..2ff5213 100644 --- a/src/edu/berkeley/fleet/interpreter/InterpreterDock.java +++ b/src/edu/berkeley/fleet/interpreter/InterpreterDock.java @@ -5,6 +5,7 @@ import edu.berkeley.fleet.two.*; import edu.berkeley.fleet.api.*; import edu.berkeley.fleet.api.Instruction; import static edu.berkeley.fleet.api.Predicate.*; +import static edu.berkeley.fleet.two.FleetTwoFleet.SHIFT; /** anything that has a source (instruction horn) address on the switch fabric */ class InterpreterDock extends FleetTwoDock { @@ -160,9 +161,9 @@ class InterpreterDock extends FleetTwoDock { if (executing instanceof Instruction.Shift) { Instruction.Shift shift = (Instruction.Shift)executing; - for(int i=dataLatch.length()-1; i>=19; i--) - dataLatch.set(i, dataLatch.get(i-19)); - for(int i=18; i>=0; i--) + for(int i=dataLatch.length()-1; i>=SHIFT.valmaskwidth; i--) + dataLatch.set(i, dataLatch.get(i-SHIFT.valmaskwidth)); + for(int i=SHIFT.valmaskwidth-1; i>=0; i--) dataLatch.set(i, shift.immediate.get(i)); executing = null; return;