1 package edu.berkeley.fleet.interpreter.ships;
2 import edu.berkeley.fleet.interpreter.*;
4 import edu.berkeley.fleet.*;
9 * @author Thomas Kho <tkho@eecs.berkeley.edu>
11 public class MemoryWriteShip extends InterpreterShip {
17 DataInbox addr = new DataInbox(this, "addr");
18 DataInbox stride = new DataInbox(this, "stride");
19 DataInbox count = new DataInbox(this, "count");
20 DataInbox data = new DataInbox(this, "data");
21 TokenOutbox done = new TokenOutbox(this, "done");
23 public MemoryWriteShip(Interpreter fleet, String name) {
27 public void service() {
29 if (!data.dataReadyForShip()) return;
30 //getInterpreter().writeMem(_addr, data.removeDataForShip());
34 done.addTokenFromShip();
36 if (count.dataReadyForShip() &&
37 addr.dataReadyForShip() &&
38 stride.dataReadyForShip() &&
39 done.readyForTokenFromShip() &&
40 data.dataReadyForShip()) {
42 _count = count.removeDataForShip();
43 _addr = addr.removeDataForShip();
44 _stride = stride.removeDataForShip();