mild overhaul of Interpreter; now capable of performing MergeSort
[fleet.git] / src / edu / berkeley / fleet / interpreter / DebugDock.java
index 75fb8ec..36ffa66 100644 (file)
@@ -13,35 +13,31 @@ public class DebugDock {
         dock = (InterpreterDock)d;
     }
 
-    public Dock getDock()                   { return dock; }
-    public int getOLC()                     { return dock.olc; }
-    public int getILC()                     { return dock.ilc; }
-    public Instruction getExecuting()       { return dock.executing; }
+    public Dock getDock()                       { return dock; }
+    public int getOLC()                         { return dock.olc; }
+    public int getILC()                         { return dock.ilc; }
+    public Instruction getExecuting()           { return dock.instructions.peek(); }
     public Queue<Instruction> getInstructions() { return dock.instructions; }
-    public Queue<Instruction> getEpilogue() { return dock.epilogue; }
-    public boolean getDataReadyForShip()    { return dock.dataReadyForShip; }
-    public boolean getReadyForDataFromShip(){ return dock.readyForDataFromShip;}
-    public long getDataFromShip()           { return dock.dataFromShip; }
-    public boolean getTorpedoWaiting()      { return dock.torpedoWaiting; }
-    public boolean isHatchOpen()            { return dock.hatchIsOpen; }
-    public boolean getFlagA()               { return dock.flag_a; }
-    public boolean getFlagB()               { return dock.flag_b; }
-    public boolean getFlagC()               { return dock.flag_c; }
-    public BitVector getDataLatch()         { return dock.dataLatch; }
+    public boolean getDataReadyForShip()        { return dock.dataReadyForShip; }
+    public boolean getReadyForDataFromShip()    { return dock.readyForDataFromShip;}
+    public long getDataFromShip()               { return dock.dataFromShip; }
+    public boolean getTorpedoWaiting()          { throw new RuntimeException("obsolete"); }
+    public boolean isHatchOpen()                { return !dock.requeueStageInCirculatingState; }
+    public boolean getFlagA()                   { return dock.flag_a; }
+    public boolean getFlagB()                   { return dock.flag_b; }
+    public boolean getFlagC()                   { return dock.flag_c; }
+    public BitVector getDataLatch()             { return dock.dataLatch; }
     public Queue<BitVector> getDataDestPackets() {
         Queue<BitVector> values = new LinkedList<BitVector>();
-        for (Packet p : dock.dataPackets) {
-            if (p.isToken())
-                continue;
-            values.add(p.getValue());
-        }
+        for (Packet p : dock.dataPackets)
+            if (!p.isToken())
+                values.add(p.getValue());
         return values;
     }
+    public Queue<Instruction> getEpilogue() {
+        throw new RuntimeException("this method has been removed");
+    }
     public Queue<Instruction> getInstructionsInFabric() {
-        Queue<Instruction> instr = new LinkedList<Instruction>();
-
-        for (Instruction inst : dock.epilogue) instr.add(inst);
-
-        return instr;
+        throw new RuntimeException("this method has been removed");
     }
 }