prln("End sendToken");
}
+ private void sendData(Marina marina) {
+ prln("Begin sendToken");
+ adjustIndent(2);
+
+ prln("ILC=1");
+ marina.instrIn.fill(
+ new Instruction.Set(DOCK,false,Predicate.IgnoreOLC,SetDest.InnerLoopCounter, 1));
+
+ getCtrsFlags(marina);
+
+ prln("send data");
+ marina.instrIn.fill(
+ new Instruction.Move(DOCK,
+ false, /* requeueing */
+ Predicate.IgnoreOLC, /* predicate */
+ false, /* torpedoable */
+ null, /* path */
+ false, /* tokenIn */
+ false, /* dataIn */
+ false, /* latchData */
+ false, /* latchPath */
+ true, /* dataOut */
+ false /* tokenOut */
+ ));
+
+ getCtrsFlags(marina);
+
+ List<BitVector> dataItems = marina.data.drainMany();
+ fatal(dataItems.size()!=1, "Expected one token to emerge but got: "+dataItems.size()+" tokens");
+
+ prln("Datum="+MarinaUtils.formatDataTokAddr(dataItems.get(0)));
+
+ adjustIndent(-2);
+ prln("End sendData");
+ }
+
private void testFlagZ(Marina marina) {
prln("Begin testFlagZ");
adjustIndent(2);
case 3003: testRequeueStage0to1(marina); break;
case 3004: testFlagZ(marina); break;
case 3005: testPredicationOnAB(marina); break;
+ case 3006: sendData(marina); break;
default:
fatal(true, "Test number: "+testNum+" doesn't exist.");