From ebbfdbb803fd44a4a9daaff7987e96c13fcb6a68 Mon Sep 17 00:00:00 2001 From: megacz Date: Fri, 12 Dec 2008 22:14:31 -0800 Subject: [PATCH] fix bug in Interpreter.getDestAddr() --- src/edu/berkeley/fleet/interpreter/Interpreter.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/edu/berkeley/fleet/interpreter/Interpreter.java b/src/edu/berkeley/fleet/interpreter/Interpreter.java index 1964f05..b6a68ce 100644 --- a/src/edu/berkeley/fleet/interpreter/Interpreter.java +++ b/src/edu/berkeley/fleet/interpreter/Interpreter.java @@ -76,12 +76,14 @@ public class Interpreter extends FleetTwoFleet implements Parser.FleetWithDynami public BitVector getDestAddr(Path path) { long ret = ((InterpreterDestination)path.getDestination()).addr; - BitVector bv = path.getSignal(); - if (bv != null) { - if (bv.length() > 1) throw new RuntimeException("signal was " + bv.length() + " bits long!"); - if (bv.length() > 0 && bv.get(0)) ret |= 1; + BitVector sig = path.getSignal(); + BitVector bv = new BitVector(DISPATCH_PATH.valmaskwidth+1); + bv.set(ret); + if (sig != null) { + if (sig.length() > 1) throw new RuntimeException("signal was " + sig.length() + " bits long!"); + if (sig.length() > 0 && sig.get(0)) bv.set(bv.length()-1,true); } - throw new RuntimeException("fixme"); + return bv; } -- 1.7.10.4