[Tinyos-commits] CVS: tinyos-1.x/tos/lib/VM/languages/motlle/mate MOPcontrol.nc, 1.4, 1.5 MOPcontrolM.nc, 1.5, 1.6

David Gay idgay at users.sourceforge.net
Tue Nov 22 15:54:58 PST 2005


Update of /cvsroot/tinyos/tinyos-1.x/tos/lib/VM/languages/motlle/mate
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12104/mate

Modified Files:
	MOPcontrol.nc MOPcontrolM.nc 
Log Message:
doc, example vmsf file update
fix preserve control ops


Index: MOPcontrol.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/tos/lib/VM/languages/motlle/mate/MOPcontrol.nc,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** MOPcontrol.nc	22 Nov 2005 23:25:22 -0000	1.4
--- MOPcontrol.nc	22 Nov 2005 23:54:56 -0000	1.5
***************
*** 13,18 ****
      interface MateBytecode as BranchIfFalse;
      interface MateBytecode as BranchIfTrue;
-     interface MateBytecode as BranchIfFalsePreserve;
-     interface MateBytecode as BranchIfTruePreserve;
    }
  }
--- 13,16 ----
***************
*** 23,28 ****
    BranchIfTrue = MOPcontrolM.BranchIfTrue;
    BranchIfFalse = MOPcontrolM.BranchIfFalse;
-   BranchIfFalsePreserve = MOPcontrolM.BranchIfFalsePreserve;
-   BranchIfTruePreserve = MOPcontrolM.BranchIfTruePreserve;
  
    MOPcontrolM.T -> MProxy;
--- 21,24 ----

Index: MOPcontrolM.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/tos/lib/VM/languages/motlle/mate/MOPcontrolM.nc,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** MOPcontrolM.nc	22 Nov 2005 23:35:17 -0000	1.5
--- MOPcontrolM.nc	22 Nov 2005 23:54:56 -0000	1.6
***************
*** 13,18 ****
      interface MateBytecode as BranchIfFalse;
      interface MateBytecode as BranchIfTrue;
-     interface MateBytecode as BranchIfFalsePreserve;
-     interface MateBytecode as BranchIfTruePreserve;
    }
    uses {
--- 13,16 ----
***************
*** 66,101 ****
      return 1;
    }
- 
-   /* Branches that pop if the value is false, don't pop if it's true
-      (used to support Scheme's => (in cond) and or constructions
-   */
-   mvalue preservePop(MateContext *context) {
-     mvalue v = call S.get(context, 0);
- 
-     if (!call T.truep(v))
-       call S.pop(context, 1);
- 
-     return v;
-   }
- 
-   command result_t BranchIfTruePreserve.execute(uint8_t instr, MateContext *context) {
-     mvalue v = preservePop(context);
-     branch(instr - OP_MBTP3, call T.truep(v), context);
-     return SUCCESS;
-   }
- 
-   command uint8_t BranchIfTruePreserve.byteLength() {
-     return 1;
-   }
- 
-   command result_t BranchIfFalsePreserve.execute(uint8_t instr, MateContext *context) {
-     mvalue v = preservePop(context);
-     branch(instr - OP_MBFP3, !call T.truep(v), context);
-     return SUCCESS;
-   }
- 
-   command uint8_t BranchIfFalsePreserve.byteLength() {
-     return 1;
-   }
  }
  
--- 64,67 ----



More information about the Tinyos-commits mailing list