1 package edu.berkeley.fleet.interpreter;
3 import edu.berkeley.fleet.two.*;
4 import edu.berkeley.fleet.api.*;
5 import edu.berkeley.fleet.api.Instruction;
6 import static edu.berkeley.fleet.api.Predicate.*;
8 /** EXPERIMENTAL -- DO NOT RELY ON THIS INTERFACE */
9 public class DebugDock {
10 final InterpreterDock dock;
12 public DebugDock(Dock d) {
13 dock = (InterpreterDock)d;
16 public Dock getDock() { return dock; }
17 public int getOLC() { return dock.olc; }
18 public int getILC() { return dock.ilc; }
19 public Instruction getExecuting() { return dock.instructions.peek(); }
20 public Queue<Instruction> getInstructions() { return dock.instructions; }
21 public boolean getDataReadyForShip() { return dock.dataReadyForShip; }
22 public boolean getReadyForDataFromShip() { return dock.readyForDataFromShip;}
23 public long getDataFromShip() { return dock.dataFromShip; }
24 public boolean getTorpedoWaiting() { throw new RuntimeException("obsolete"); }
25 public boolean isHatchOpen() { return !dock.requeueStageInCirculatingState; }
26 public boolean getFlagA() { return dock.flag_a; }
27 public boolean getFlagB() { return dock.flag_b; }
28 public boolean getFlagC() { return dock.flag_c; }
29 public BitVector getDataLatch() { return dock.dataLatch; }
30 public Queue<BitVector> getDataDestPackets() {
31 Queue<BitVector> values = new LinkedList<BitVector>();
32 for (Packet p : dock.dataPackets)
34 values.add(p.getValue());
37 public Queue<Instruction> getEpilogue() {
38 throw new RuntimeException("this method has been removed");
40 public Queue<Instruction> getInstructionsInFabric() {
41 throw new RuntimeException("this method has been removed");