Interpreter: use Packet.send() more often
[fleet.git] / src / edu / berkeley / fleet / interpreter / Interpreter.java
index c43ad40..5f10626 100644 (file)
@@ -162,7 +162,9 @@ public class Interpreter extends FleetTwoFleet {
 
     public FleetProcess run(final Instruction[] instructions) {
         InterpreterProcess ip = initialize(instructions);
-        new Thread(ip).start();
+        Thread ipt = new Thread(ip);
+        ipt.setDaemon(true);
+        ipt.start();
         return ip;
     }
 
@@ -175,13 +177,11 @@ public class Interpreter extends FleetTwoFleet {
         public synchronized void sendWord(Destination d, BitVector word) { sendWord(d, word, null); }
         public synchronized void sendWord(Destination d, BitVector word, BitVector signal) {
             InterpreterPath path = (InterpreterPath)debugShip.getDock("in").getPath(d, signal==null?new BitVector(1):signal);
-            ((InterpreterDestination)d).
-                addDataFromFabric(new Packet(path, word, false));
+            new Packet(path, word, false).send();
         }
         public synchronized void sendToken(Destination d) {
             InterpreterPath path = (InterpreterPath)debugShip.getDock("in").getPath(d, new BitVector(1));
-            ((InterpreterDestination)d).
-                addDataFromFabric(new Packet(path, new BitVector(getWordWidth()), true));
+            new Packet(path, new BitVector(getWordWidth()), true).send();
         }
         public InterpreterProcess(Instruction[] instructions) {
             this.instructions = instructions;