use local (non-static) references in Parser.java
authoradam <adam@megacz.com>
Mon, 3 Nov 2008 09:38:32 +0000 (10:38 +0100)
committeradam <adam@megacz.com>
Mon, 3 Nov 2008 09:38:32 +0000 (10:38 +0100)
src/edu/berkeley/fleet/assembler/Parser.java

index 2f8cc5a..24e7ab5 100644 (file)
@@ -12,7 +12,6 @@ import static edu.berkeley.fleet.api.Instruction.*;
 import static edu.berkeley.fleet.api.Instruction.Set.*;
 import static edu.berkeley.fleet.api.Predicate.*;
 import edu.berkeley.fleet.two.*;
-import static edu.berkeley.fleet.two.FleetTwoFleet.SHIFT;
 import edu.berkeley.fleet.fpga.*;
 import edu.berkeley.fleet.interpreter.*;
 import java.util.*;
@@ -104,8 +103,8 @@ public class Parser {
                 if (c.isCBD.contains(j)) {
                     Set old = (Set)inst;
                     long lit = 0;
-                    lit = FleetTwoFleet.CBD_SIZE.setval(lit, codeBags.get((int)old.immediate).size());
-                    lit = FleetTwoFleet.CBD_OFFSET.setval(lit, codeBagMap[(int)old.immediate]);
+                    lit = ((FleetTwoFleet)fleet).CBD_SIZE.setval(lit, codeBags.get((int)old.immediate).size());
+                    lit = ((FleetTwoFleet)fleet).CBD_OFFSET.setval(lit, codeBagMap[(int)old.immediate]);
                     inst = new Set(old.dock, false, IgnoreOLC, SetDest.DataLatch, lit);
                 }
                 ret.add(inst);
@@ -116,8 +115,8 @@ public class Parser {
         for(int i=0; i<codeBags.size(); i++) {
             if (codeBags.get(i)==rootCodeBag) {
                 long lit = 0;
-                lit = FleetTwoFleet.CBD_SIZE.setval(lit, codeBags.get(i).size());
-                lit = FleetTwoFleet.CBD_OFFSET.setval(lit, codeBagMap[i]);
+                lit = ((FleetTwoFleet)fleet).CBD_SIZE.setval(lit, codeBags.get(i).size());
+                lit = ((FleetTwoFleet)fleet).CBD_OFFSET.setval(lit, codeBagMap[i]);
                 startcbd = lit;
             }
         }
@@ -167,7 +166,7 @@ public class Parser {
         ret.add(deliver(inCBD));
         ret.add(sendto(out, out.getPath(inCBD.getDataDestination(),null)));
 
-        int count = (int)FleetTwoFleet.CBD_SIZE.getval(startcbd);
+        int count = (int)((FleetTwoFleet)fleet).CBD_SIZE.getval(startcbd);
         // FIXME FIXME FIXME!
         int MAX_ILC = 31;
         int num_instrs = 0;
@@ -445,11 +444,11 @@ public class Parser {
                     */
 
 
-                    if (FleetTwoFleet.isSmallEnoughToFit(literal)) {
+                    if (((FleetTwoFleet)fleet).isSmallEnoughToFit(literal)) {
                         cb.add(new Set(dock, looping, predicate, SetDest.DataLatch, (literal)));
                     } else {
                         int counter = 0;
-                        while(counter < dock.getShip().getFleet().getWordWidth()) counter += SHIFT.valmaskwidth;
+                        while(counter < dock.getShip().getFleet().getWordWidth()) counter += fleet.getShiftWidth();
                         while(counter > 0) {
                             cb.add(new Shift(dock, looping, predicate,
                                              new BitVector(dock.getShip().getFleet().getShiftWidth())