use BitVector.toLong() in InterpreterDock.peekDataForShip() to get proper sign-extension
authormegacz <adam@megacz.com>
Fri, 16 Jan 2009 20:20:29 +0000 (12:20 -0800)
committermegacz <adam@megacz.com>
Fri, 16 Jan 2009 20:20:29 +0000 (12:20 -0800)
src/edu/berkeley/fleet/interpreter/InterpreterDock.java

index a9ed4f7..52aadba 100644 (file)
@@ -255,12 +255,7 @@ class InterpreterDock extends FleetTwoDock {
     protected long peekDataForShip() {
         if (!dataReadyForShip)
             throw new RuntimeException("peekDataForShip() invoked when dataReadyForShip()==false");
-        BitVector bv = dataLatch;
-        long val = 0;
-        for(int i=0; i<bv.length(); i++)
-            if (bv.get(i))
-                val |= (1L << i);
-        return val;
+        return dataLatch.toLong();
     }
     protected void addDataFromShip(long data) { addDataFromShip(data, false); }
     protected void addDataFromShip(long data, boolean pending_flag_c) {