[Vm-dev] [commit][2912] CogVM source as per VMMaker.oscog-eem.699

commits at squeakvm.org commits at squeakvm.org
Fri May 2 23:26:06 UTC 2014


Revision: 2912
Author:   eliot
Date:     2014-05-02 16:26:05 -0700 (Fri, 02 May 2014)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.699

VM:
Fix instantiation of large non-byte objects.  The old code
for sufficientSpaceToInstantiate:indexableSize: stupidly
subtracted BytesPerWord instead of ShiftForWord from
LongSizeNumBits in determining the max size (mea culpa).

Slang: fix indent of expressions in do whiles.

Modified Paths:
--------------
    branches/Cog/nscogsrc/vm/cointerp.c
    branches/Cog/nscogsrc/vm/cointerp.h
    branches/Cog/nscogsrc/vm/gcc3x-cointerp.c
    branches/Cog/nscogsrc/vm/interp.h
    branches/Cog/nscogsrc/vm/vmCallback.h
    branches/Cog/sistasrc/vm/cointerp.c
    branches/Cog/sistasrc/vm/cointerp.h
    branches/Cog/sistasrc/vm/gcc3x-cointerp.c
    branches/Cog/sistasrc/vm/interp.h
    branches/Cog/sistasrc/vm/vmCallback.h
    branches/Cog/src/vm/cointerp.c
    branches/Cog/src/vm/cointerp.h
    branches/Cog/src/vm/cointerpmt.c
    branches/Cog/src/vm/cointerpmt.h
    branches/Cog/src/vm/gcc3x-cointerp.c
    branches/Cog/src/vm/gcc3x-cointerpmt.c
    branches/Cog/src/vm/interp.h
    branches/Cog/src/vm/vmCallback.h
    branches/Cog/stacksrc/vm/gcc3x-interp.c
    branches/Cog/stacksrc/vm/interp.c
    branches/Cog/stacksrc/vm/interp.h
    branches/Cog/stacksrc/vm/vmCallback.h

Property Changed:
----------------
    branches/Cog/platforms/Cross/vm/sqSCCSVersion.h

Modified: branches/Cog/nscogsrc/vm/cointerp.c
===================================================================
--- branches/Cog/nscogsrc/vm/cointerp.c	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/nscogsrc/vm/cointerp.c	2014-05-02 23:26:05 UTC (rev 2912)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
    from
-	CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1157,7 +1157,7 @@
 static void rewriteMethodCacheEntryForExternalPrimitiveToFunction(void (*localPrimAddress)(void));
 static sqInt roomToPushNArgs(sqInt n);
 static void runLeakCheckerForFullGC(sqInt fullGCFlag);
-static usqInt safeObjectAfter(sqInt oop);
+static sqInt safeObjectAfter(sqInt oop);
 static sqInt safePrintStringOf(sqInt oop);
 usqInt scavengeThresholdAddress(void);
 EXPORT(sqInt) sendInvokeCallbackContext(VMCallbackContext *vmCallbackContext);
@@ -2045,7 +2045,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.695";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.699";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -5684,6 +5684,7 @@
 						/* begin internalPush: */
 						longAtPointerput((localSP -= BytesPerOop), longAt((rcvr + BaseHeaderSize) + (byte3 << ShiftForWord)));
 					}
+					null;
 					goto l4;
 				}
 				if (opType == 3) {
@@ -5693,6 +5694,7 @@
 					assert(GIV(method) == (iframeMethod(localFP)));
 					object = longAt((GIV(method) + BaseHeaderSize) + ((byte3 + LiteralStart) << ShiftForWord));
 					longAtPointerput((localSP -= BytesPerOop), object);
+					null;
 					goto l4;
 				}
 				if (opType == 4) {
@@ -5706,6 +5708,7 @@
 					object2 = longAt((oop + BaseHeaderSize) + (ValueIndex << ShiftForWord));
 					longAtPointerput((localSP -= BytesPerOop), object2);
 
+					null;
 					goto l4;
 				}
 				top = longAtPointer(localSP);
@@ -15806,7 +15809,7 @@
 		while (1) {
 			assert(isContext(currentCtx));
 			if ((((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1))
- && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break;
+			 && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break;
 			if (((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) {
 				/* begin stackPageFor: */
 				/* begin stackPageAt: */
@@ -24004,15 +24007,17 @@
     sqInt header1;
     sqInt header2;
     sqInt header3;
+    sqInt header4;
     usqInt lastWord;
     sqInt newFreeChunk;
     sqInt newOop;
-    usqInt next;
+    sqInt next;
     sqInt oop;
     sqInt realHeader;
     sqInt sz;
     sqInt sz1;
     sqInt sz2;
+    sqInt sz3;
     sqInt target;
     usqInt w;
 
@@ -24023,7 +24028,21 @@
 		/* begin objectAfterWhileForwarding: */
 		header2 = longAt(oop);
 		if ((header2 & MarkBit) == 0) {
-			next = ((sqInt) (objectAfter(oop)));
+			/* begin objectAfter: */
+			if (!(asserta(oopisLessThan(oop, GIV(freeStart))))) {
+				error("no objects after the end of memory");
+			}
+			if (((longAt(oop)) & TypeMask) == HeaderTypeFree) {
+				sz2 = (longAt(oop)) & AllButTypeMask;
+			}
+			else {
+				/* begin sizeBitsOf: */
+				header3 = longAt(oop);
+				sz2 = ((header3 & TypeMask) == HeaderTypeSizeAndClass
+					? (longAt(oop - (BytesPerWord * 2))) & LongSizeMask
+					: header3 & SizeMask);
+			}
+			next = (oop + sz2) + (headerTypeBytes[(longAt(oop + sz2)) & TypeMask]);
 			goto l1;
 		}
 		fwdBlock1 = (header2 & AllButMarkBitAndTypeMask) << 1;
@@ -24038,7 +24057,7 @@
 		else {
 			sz1 = realHeader & SizeMask;
 		}
-		next = ((sqInt) ((oop + sz1) + (headerTypeBytes[(longAt(oop + sz1)) & TypeMask])));
+		next = (oop + sz1) + (headerTypeBytes[(longAt(oop + sz1)) & TypeMask]);
 	l1:	/* end objectAfterWhileForwarding: */;
 		if (!(((longAt(oop)) & TypeMask) == HeaderTypeFree)) {
 
@@ -24092,18 +24111,18 @@
 	}
 	/* begin safeObjectAfter: */
 	if (((longAt(newFreeChunk)) & TypeMask) == HeaderTypeFree) {
-		sz2 = (longAt(newFreeChunk)) & AllButTypeMask;
+		sz3 = (longAt(newFreeChunk)) & AllButTypeMask;
 	}
 	else {
 		/* begin sizeBitsOf: */
-		header3 = longAt(newFreeChunk);
-		sz2 = ((header3 & TypeMask) == HeaderTypeSizeAndClass
+		header4 = longAt(newFreeChunk);
+		sz3 = ((header4 & TypeMask) == HeaderTypeSizeAndClass
 			? (longAt(newFreeChunk - (BytesPerWord * 2))) & LongSizeMask
-			: header3 & SizeMask);
+			: header4 & SizeMask);
 	}
-	next = ((newFreeChunk + sz2) >= GIV(freeStart)
+	next = ((newFreeChunk + sz3) >= GIV(freeStart)
 		? GIV(freeStart)
-		: (newFreeChunk + sz2) + (headerTypeBytes[(longAt(newFreeChunk + sz2)) & TypeMask]));
+		: (newFreeChunk + sz3) + (headerTypeBytes[(longAt(newFreeChunk + sz3)) & TypeMask]));
 	assert((next == GIV(freeStart))
 	 || (next == (oopFromChunk(GIV(compEnd)))));
 	if (next == GIV(freeStart)) {
@@ -25128,7 +25147,7 @@
 			return 1;
 		}
 		if (!((theFP != ((aPage->baseFP)))
- && ((stackPageFor(theFP)) == aPage))) break;
+		 && ((stackPageFor(theFP)) == aPage))) break;
 		/* begin frameCallerFP: */
 		theFP = pointerForOop(longAt(theFP + FoxSavedFP));
 	}
@@ -29072,7 +29091,7 @@
 		do {
 			p += BytesPerWord;
 		} while(((longAtPointer(p)) == 0)
- && (p <= ((page->baseAddress))));
+			 && (p <= ((page->baseAddress))));
 		unused = (p - BytesPerWord) - ((page->lastAddress));
 		if (unused < minUnused) {
 			minUnused = unused;
@@ -40197,7 +40216,7 @@
 					spaceOkay = 0;
 					goto l1;
 				}
-				if ((((usqInt) size) >> (LongSizeNumBits - BytesPerWord)) > 0) {
+				if ((((usqInt) size) >> (LongSizeNumBits - ShiftForWord)) > 0) {
 					spaceOkay = 0;
 					goto l1;
 				}
@@ -50582,7 +50601,7 @@
 	given object or free chunk in memory. Return freeStart when
 	enumeration is complete. This is for assertion checking only. */
 
-static usqInt
+static sqInt
 safeObjectAfter(sqInt oop)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
     sqInt header;

Modified: branches/Cog/nscogsrc/vm/cointerp.h
===================================================================
--- branches/Cog/nscogsrc/vm/cointerp.h	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/nscogsrc/vm/cointerp.h	2014-05-02 23:26:05 UTC (rev 2912)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
 
 

Modified: branches/Cog/nscogsrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nscogsrc/vm/gcc3x-cointerp.c	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/nscogsrc/vm/gcc3x-cointerp.c	2014-05-02 23:26:05 UTC (rev 2912)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
    from
-	CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1160,7 +1160,7 @@
 static void rewriteMethodCacheEntryForExternalPrimitiveToFunction(void (*localPrimAddress)(void));
 static sqInt roomToPushNArgs(sqInt n);
 static void runLeakCheckerForFullGC(sqInt fullGCFlag);
-static usqInt safeObjectAfter(sqInt oop);
+static sqInt safeObjectAfter(sqInt oop);
 static sqInt safePrintStringOf(sqInt oop);
 usqInt scavengeThresholdAddress(void);
 EXPORT(sqInt) sendInvokeCallbackContext(VMCallbackContext *vmCallbackContext);
@@ -2048,7 +2048,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.695";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.699";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -5693,6 +5693,7 @@
 						/* begin internalPush: */
 						longAtPointerput((localSP -= BytesPerOop), longAt((rcvr + BaseHeaderSize) + (byte3 << ShiftForWord)));
 					}
+					null;
 					goto l4;
 				}
 				if (opType == 3) {
@@ -5702,6 +5703,7 @@
 					assert(GIV(method) == (iframeMethod(localFP)));
 					object = longAt((GIV(method) + BaseHeaderSize) + ((byte3 + LiteralStart) << ShiftForWord));
 					longAtPointerput((localSP -= BytesPerOop), object);
+					null;
 					goto l4;
 				}
 				if (opType == 4) {
@@ -5715,6 +5717,7 @@
 					object2 = longAt((oop + BaseHeaderSize) + (ValueIndex << ShiftForWord));
 					longAtPointerput((localSP -= BytesPerOop), object2);
 
+					null;
 					goto l4;
 				}
 				top = longAtPointer(localSP);
@@ -15815,7 +15818,7 @@
 		while (1) {
 			assert(isContext(currentCtx));
 			if ((((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1))
- && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break;
+			 && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break;
 			if (((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) {
 				/* begin stackPageFor: */
 				/* begin stackPageAt: */
@@ -24013,15 +24016,17 @@
     sqInt header1;
     sqInt header2;
     sqInt header3;
+    sqInt header4;
     usqInt lastWord;
     sqInt newFreeChunk;
     sqInt newOop;
-    usqInt next;
+    sqInt next;
     sqInt oop;
     sqInt realHeader;
     sqInt sz;
     sqInt sz1;
     sqInt sz2;
+    sqInt sz3;
     sqInt target;
     usqInt w;
 
@@ -24032,7 +24037,21 @@
 		/* begin objectAfterWhileForwarding: */
 		header2 = longAt(oop);
 		if ((header2 & MarkBit) == 0) {
-			next = ((sqInt) (objectAfter(oop)));
+			/* begin objectAfter: */
+			if (!(asserta(oopisLessThan(oop, GIV(freeStart))))) {
+				error("no objects after the end of memory");
+			}
+			if (((longAt(oop)) & TypeMask) == HeaderTypeFree) {
+				sz2 = (longAt(oop)) & AllButTypeMask;
+			}
+			else {
+				/* begin sizeBitsOf: */
+				header3 = longAt(oop);
+				sz2 = ((header3 & TypeMask) == HeaderTypeSizeAndClass
+					? (longAt(oop - (BytesPerWord * 2))) & LongSizeMask
+					: header3 & SizeMask);
+			}
+			next = (oop + sz2) + (headerTypeBytes[(longAt(oop + sz2)) & TypeMask]);
 			goto l1;
 		}
 		fwdBlock1 = (header2 & AllButMarkBitAndTypeMask) << 1;
@@ -24047,7 +24066,7 @@
 		else {
 			sz1 = realHeader & SizeMask;
 		}
-		next = ((sqInt) ((oop + sz1) + (headerTypeBytes[(longAt(oop + sz1)) & TypeMask])));
+		next = (oop + sz1) + (headerTypeBytes[(longAt(oop + sz1)) & TypeMask]);
 	l1:	/* end objectAfterWhileForwarding: */;
 		if (!(((longAt(oop)) & TypeMask) == HeaderTypeFree)) {
 
@@ -24101,18 +24120,18 @@
 	}
 	/* begin safeObjectAfter: */
 	if (((longAt(newFreeChunk)) & TypeMask) == HeaderTypeFree) {
-		sz2 = (longAt(newFreeChunk)) & AllButTypeMask;
+		sz3 = (longAt(newFreeChunk)) & AllButTypeMask;
 	}
 	else {
 		/* begin sizeBitsOf: */
-		header3 = longAt(newFreeChunk);
-		sz2 = ((header3 & TypeMask) == HeaderTypeSizeAndClass
+		header4 = longAt(newFreeChunk);
+		sz3 = ((header4 & TypeMask) == HeaderTypeSizeAndClass
 			? (longAt(newFreeChunk - (BytesPerWord * 2))) & LongSizeMask
-			: header3 & SizeMask);
+			: header4 & SizeMask);
 	}
-	next = ((newFreeChunk + sz2) >= GIV(freeStart)
+	next = ((newFreeChunk + sz3) >= GIV(freeStart)
 		? GIV(freeStart)
-		: (newFreeChunk + sz2) + (headerTypeBytes[(longAt(newFreeChunk + sz2)) & TypeMask]));
+		: (newFreeChunk + sz3) + (headerTypeBytes[(longAt(newFreeChunk + sz3)) & TypeMask]));
 	assert((next == GIV(freeStart))
 	 || (next == (oopFromChunk(GIV(compEnd)))));
 	if (next == GIV(freeStart)) {
@@ -25137,7 +25156,7 @@
 			return 1;
 		}
 		if (!((theFP != ((aPage->baseFP)))
- && ((stackPageFor(theFP)) == aPage))) break;
+		 && ((stackPageFor(theFP)) == aPage))) break;
 		/* begin frameCallerFP: */
 		theFP = pointerForOop(longAt(theFP + FoxSavedFP));
 	}
@@ -29081,7 +29100,7 @@
 		do {
 			p += BytesPerWord;
 		} while(((longAtPointer(p)) == 0)
- && (p <= ((page->baseAddress))));
+			 && (p <= ((page->baseAddress))));
 		unused = (p - BytesPerWord) - ((page->lastAddress));
 		if (unused < minUnused) {
 			minUnused = unused;
@@ -40206,7 +40225,7 @@
 					spaceOkay = 0;
 					goto l1;
 				}
-				if ((((usqInt) size) >> (LongSizeNumBits - BytesPerWord)) > 0) {
+				if ((((usqInt) size) >> (LongSizeNumBits - ShiftForWord)) > 0) {
 					spaceOkay = 0;
 					goto l1;
 				}
@@ -50591,7 +50610,7 @@
 	given object or free chunk in memory. Return freeStart when
 	enumeration is complete. This is for assertion checking only. */
 
-static usqInt
+static sqInt
 safeObjectAfter(sqInt oop)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
     sqInt header;

Modified: branches/Cog/nscogsrc/vm/interp.h
===================================================================
--- branches/Cog/nscogsrc/vm/interp.h	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/nscogsrc/vm/interp.h	2014-05-02 23:26:05 UTC (rev 2912)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/nscogsrc/vm/vmCallback.h
===================================================================
--- branches/Cog/nscogsrc/vm/vmCallback.h	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/nscogsrc/vm/vmCallback.h	2014-05-02 23:26:05 UTC (rev 2912)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
 
 #define VM_CALLBACK_INC 1


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Thu May  1 11:38:57 PDT 2014
   + Fri May  2 16:25:17 PDT 2014

Modified: branches/Cog/sistasrc/vm/cointerp.c
===================================================================
--- branches/Cog/sistasrc/vm/cointerp.c	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/sistasrc/vm/cointerp.c	2014-05-02 23:26:05 UTC (rev 2912)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
    from
-	CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1152,7 +1152,7 @@
 static void rewriteMethodCacheEntryForExternalPrimitiveToFunction(void (*localPrimAddress)(void));
 static sqInt roomToPushNArgs(sqInt n);
 static void runLeakCheckerForFullGC(sqInt fullGCFlag);
-static sqInt safeObjectAfter(sqInt oop);
+static usqInt safeObjectAfter(sqInt oop);
 static sqInt safePrintStringOf(sqInt oop);
 usqInt scavengeThresholdAddress(void);
 EXPORT(sqInt) sendInvokeCallbackContext(VMCallbackContext *vmCallbackContext);
@@ -2039,7 +2039,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.695]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.699]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -11739,7 +11739,7 @@
 		while (1) {
 			assert(isContext(currentCtx));
 			if ((((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1))
- && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break;
+			 && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break;
 			if (((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) {
 				/* begin stackPageFor: */
 				/* begin stackPageAt: */
@@ -19579,17 +19579,15 @@
     sqInt header1;
     sqInt header2;
     sqInt header3;
-    sqInt header4;
     usqInt lastWord;
     sqInt newFreeChunk;
     sqInt newOop;
-    sqInt next;
+    usqInt next;
     sqInt oop;
     sqInt realHeader;
     sqInt sz;
     sqInt sz1;
     sqInt sz2;
-    sqInt sz3;
     sqInt target;
     usqInt w;
 
@@ -19600,21 +19598,7 @@
 		/* begin objectAfterWhileForwarding: */
 		header2 = longAt(oop);
 		if ((header2 & MarkBit) == 0) {
-			/* begin objectAfter: */
-			if (!(asserta(oopisLessThan(oop, GIV(freeStart))))) {
-				error("no objects after the end of memory");
-			}
-			if (((longAt(oop)) & TypeMask) == HeaderTypeFree) {
-				sz2 = (longAt(oop)) & AllButTypeMask;
-			}
-			else {
-				/* begin sizeBitsOf: */
-				header3 = longAt(oop);
-				sz2 = ((header3 & TypeMask) == HeaderTypeSizeAndClass
-					? (longAt(oop - (BytesPerWord * 2))) & LongSizeMask
-					: header3 & SizeMask);
-			}
-			next = (oop + sz2) + (headerTypeBytes[(longAt(oop + sz2)) & TypeMask]);
+			next = ((sqInt) (objectAfter(oop)));
 			goto l1;
 		}
 		fwdBlock1 = (header2 & AllButMarkBitAndTypeMask) << 1;
@@ -19629,7 +19613,7 @@
 		else {
 			sz1 = realHeader & SizeMask;
 		}
-		next = (oop + sz1) + (headerTypeBytes[(longAt(oop + sz1)) & TypeMask]);
+		next = ((sqInt) ((oop + sz1) + (headerTypeBytes[(longAt(oop + sz1)) & TypeMask])));
 	l1:	/* end objectAfterWhileForwarding: */;
 		if (!(((longAt(oop)) & TypeMask) == HeaderTypeFree)) {
 
@@ -19683,18 +19667,18 @@
 	}
 	/* begin safeObjectAfter: */
 	if (((longAt(newFreeChunk)) & TypeMask) == HeaderTypeFree) {
-		sz3 = (longAt(newFreeChunk)) & AllButTypeMask;
+		sz2 = (longAt(newFreeChunk)) & AllButTypeMask;
 	}
 	else {
 		/* begin sizeBitsOf: */
-		header4 = longAt(newFreeChunk);
-		sz3 = ((header4 & TypeMask) == HeaderTypeSizeAndClass
+		header3 = longAt(newFreeChunk);
+		sz2 = ((header3 & TypeMask) == HeaderTypeSizeAndClass
 			? (longAt(newFreeChunk - (BytesPerWord * 2))) & LongSizeMask
-			: header4 & SizeMask);
+			: header3 & SizeMask);
 	}
-	next = ((newFreeChunk + sz3) >= GIV(freeStart)
+	next = ((newFreeChunk + sz2) >= GIV(freeStart)
 		? GIV(freeStart)
-		: (newFreeChunk + sz3) + (headerTypeBytes[(longAt(newFreeChunk + sz3)) & TypeMask]));
+		: (newFreeChunk + sz2) + (headerTypeBytes[(longAt(newFreeChunk + sz2)) & TypeMask]));
 	assert((next == GIV(freeStart))
 	 || (next == (oopFromChunk(GIV(compEnd)))));
 	if (next == GIV(freeStart)) {
@@ -20717,7 +20701,7 @@
 			return 1;
 		}
 		if (!((theFP != ((aPage->baseFP)))
- && ((stackPageFor(theFP)) == aPage))) break;
+		 && ((stackPageFor(theFP)) == aPage))) break;
 		/* begin frameCallerFP: */
 		theFP = pointerForOop(longAt(theFP + FoxSavedFP));
 	}
@@ -24610,7 +24594,7 @@
 		do {
 			p += BytesPerWord;
 		} while(((longAtPointer(p)) == 0)
- && (p <= ((page->baseAddress))));
+			 && (p <= ((page->baseAddress))));
 		unused = (p - BytesPerWord) - ((page->lastAddress));
 		if (unused < minUnused) {
 			minUnused = unused;
@@ -35660,7 +35644,7 @@
 					spaceOkay = 0;
 					goto l1;
 				}
-				if ((((usqInt) size) >> (LongSizeNumBits - BytesPerWord)) > 0) {
+				if ((((usqInt) size) >> (LongSizeNumBits - ShiftForWord)) > 0) {
 					spaceOkay = 0;
 					goto l1;
 				}
@@ -46077,7 +46061,7 @@
 	given object or free chunk in memory. Return freeStart when
 	enumeration is complete. This is for assertion checking only. */
 
-static sqInt
+static usqInt
 safeObjectAfter(sqInt oop)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
     sqInt header;

Modified: branches/Cog/sistasrc/vm/cointerp.h
===================================================================
--- branches/Cog/sistasrc/vm/cointerp.h	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/sistasrc/vm/cointerp.h	2014-05-02 23:26:05 UTC (rev 2912)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
 
 

Modified: branches/Cog/sistasrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/sistasrc/vm/gcc3x-cointerp.c	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/sistasrc/vm/gcc3x-cointerp.c	2014-05-02 23:26:05 UTC (rev 2912)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
    from
-	CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1155,7 +1155,7 @@
 static void rewriteMethodCacheEntryForExternalPrimitiveToFunction(void (*localPrimAddress)(void));
 static sqInt roomToPushNArgs(sqInt n);
 static void runLeakCheckerForFullGC(sqInt fullGCFlag);
-static sqInt safeObjectAfter(sqInt oop);
+static usqInt safeObjectAfter(sqInt oop);
 static sqInt safePrintStringOf(sqInt oop);
 usqInt scavengeThresholdAddress(void);
 EXPORT(sqInt) sendInvokeCallbackContext(VMCallbackContext *vmCallbackContext);
@@ -2042,7 +2042,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.695]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.699]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -11748,7 +11748,7 @@
 		while (1) {
 			assert(isContext(currentCtx));
 			if ((((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1))
- && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break;
+			 && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break;
 			if (((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) {
 				/* begin stackPageFor: */
 				/* begin stackPageAt: */
@@ -19588,17 +19588,15 @@
     sqInt header1;
     sqInt header2;
     sqInt header3;
-    sqInt header4;
     usqInt lastWord;
     sqInt newFreeChunk;
     sqInt newOop;
-    sqInt next;
+    usqInt next;
     sqInt oop;
     sqInt realHeader;
     sqInt sz;
     sqInt sz1;
     sqInt sz2;
-    sqInt sz3;
     sqInt target;
     usqInt w;
 
@@ -19609,21 +19607,7 @@
 		/* begin objectAfterWhileForwarding: */
 		header2 = longAt(oop);
 		if ((header2 & MarkBit) == 0) {
-			/* begin objectAfter: */
-			if (!(asserta(oopisLessThan(oop, GIV(freeStart))))) {
-				error("no objects after the end of memory");
-			}
-			if (((longAt(oop)) & TypeMask) == HeaderTypeFree) {
-				sz2 = (longAt(oop)) & AllButTypeMask;
-			}
-			else {
-				/* begin sizeBitsOf: */
-				header3 = longAt(oop);
-				sz2 = ((header3 & TypeMask) == HeaderTypeSizeAndClass
-					? (longAt(oop - (BytesPerWord * 2))) & LongSizeMask
-					: header3 & SizeMask);
-			}
-			next = (oop + sz2) + (headerTypeBytes[(longAt(oop + sz2)) & TypeMask]);
+			next = ((sqInt) (objectAfter(oop)));
 			goto l1;
 		}
 		fwdBlock1 = (header2 & AllButMarkBitAndTypeMask) << 1;
@@ -19638,7 +19622,7 @@
 		else {
 			sz1 = realHeader & SizeMask;
 		}
-		next = (oop + sz1) + (headerTypeBytes[(longAt(oop + sz1)) & TypeMask]);
+		next = ((sqInt) ((oop + sz1) + (headerTypeBytes[(longAt(oop + sz1)) & TypeMask])));
 	l1:	/* end objectAfterWhileForwarding: */;
 		if (!(((longAt(oop)) & TypeMask) == HeaderTypeFree)) {
 
@@ -19692,18 +19676,18 @@
 	}
 	/* begin safeObjectAfter: */
 	if (((longAt(newFreeChunk)) & TypeMask) == HeaderTypeFree) {
-		sz3 = (longAt(newFreeChunk)) & AllButTypeMask;
+		sz2 = (longAt(newFreeChunk)) & AllButTypeMask;
 	}
 	else {
 		/* begin sizeBitsOf: */
-		header4 = longAt(newFreeChunk);
-		sz3 = ((header4 & TypeMask) == HeaderTypeSizeAndClass
+		header3 = longAt(newFreeChunk);
+		sz2 = ((header3 & TypeMask) == HeaderTypeSizeAndClass
 			? (longAt(newFreeChunk - (BytesPerWord * 2))) & LongSizeMask
-			: header4 & SizeMask);
+			: header3 & SizeMask);
 	}
-	next = ((newFreeChunk + sz3) >= GIV(freeStart)
+	next = ((newFreeChunk + sz2) >= GIV(freeStart)
 		? GIV(freeStart)
-		: (newFreeChunk + sz3) + (headerTypeBytes[(longAt(newFreeChunk + sz3)) & TypeMask]));
+		: (newFreeChunk + sz2) + (headerTypeBytes[(longAt(newFreeChunk + sz2)) & TypeMask]));
 	assert((next == GIV(freeStart))
 	 || (next == (oopFromChunk(GIV(compEnd)))));
 	if (next == GIV(freeStart)) {
@@ -20726,7 +20710,7 @@
 			return 1;
 		}
 		if (!((theFP != ((aPage->baseFP)))
- && ((stackPageFor(theFP)) == aPage))) break;
+		 && ((stackPageFor(theFP)) == aPage))) break;
 		/* begin frameCallerFP: */
 		theFP = pointerForOop(longAt(theFP + FoxSavedFP));
 	}
@@ -24619,7 +24603,7 @@
 		do {
 			p += BytesPerWord;
 		} while(((longAtPointer(p)) == 0)
- && (p <= ((page->baseAddress))));
+			 && (p <= ((page->baseAddress))));
 		unused = (p - BytesPerWord) - ((page->lastAddress));
 		if (unused < minUnused) {
 			minUnused = unused;
@@ -35669,7 +35653,7 @@
 					spaceOkay = 0;
 					goto l1;
 				}
-				if ((((usqInt) size) >> (LongSizeNumBits - BytesPerWord)) > 0) {
+				if ((((usqInt) size) >> (LongSizeNumBits - ShiftForWord)) > 0) {
 					spaceOkay = 0;
 					goto l1;
 				}
@@ -46086,7 +46070,7 @@
 	given object or free chunk in memory. Return freeStart when
 	enumeration is complete. This is for assertion checking only. */
 
-static sqInt
+static usqInt
 safeObjectAfter(sqInt oop)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
     sqInt header;

Modified: branches/Cog/sistasrc/vm/interp.h
===================================================================
--- branches/Cog/sistasrc/vm/interp.h	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/sistasrc/vm/interp.h	2014-05-02 23:26:05 UTC (rev 2912)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/sistasrc/vm/vmCallback.h
===================================================================
--- branches/Cog/sistasrc/vm/vmCallback.h	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/sistasrc/vm/vmCallback.h	2014-05-02 23:26:05 UTC (rev 2912)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
 
 #define VM_CALLBACK_INC 1

Modified: branches/Cog/src/vm/cointerp.c
===================================================================
--- branches/Cog/src/vm/cointerp.c	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/src/vm/cointerp.c	2014-05-02 23:26:05 UTC (rev 2912)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
    from
-	CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2035,7 +2035,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.695]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.699]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -5550,6 +5550,7 @@
 						/* begin internalPush: */
 						longAtPointerput((localSP -= BytesPerOop), longAt((rcvr + BaseHeaderSize) + (byte3 << ShiftForWord)));
 					}
+					null;
 					goto l4;
 				}
 				if (opType == 3) {
@@ -5559,6 +5560,7 @@
 					assert(GIV(method) == (iframeMethod(localFP)));
 					object = longAt((GIV(method) + BaseHeaderSize) + ((byte3 + LiteralStart) << ShiftForWord));
 					longAtPointerput((localSP -= BytesPerOop), object);
+					null;
 					goto l4;
 				}
 				if (opType == 4) {
@@ -5572,6 +5574,7 @@
 					object2 = longAt((oop + BaseHeaderSize) + (ValueIndex << ShiftForWord));
 					longAtPointerput((localSP -= BytesPerOop), object2);
 
+					null;
 					goto l4;
 				}
 				top = longAtPointer(localSP);
@@ -11616,7 +11619,7 @@
 		while (1) {
 			assert(isContext(currentCtx));
 			if ((((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1))
- && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break;
+			 && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break;
 			if (((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) {
 				/* begin stackPageFor: */
 				/* begin stackPageAt: */
@@ -20594,7 +20597,7 @@
 			return 1;
 		}
 		if (!((theFP != ((aPage->baseFP)))
- && ((stackPageFor(theFP)) == aPage))) break;
+		 && ((stackPageFor(theFP)) == aPage))) break;
 		/* begin frameCallerFP: */
 		theFP = pointerForOop(longAt(theFP + FoxSavedFP));
 	}
@@ -24487,7 +24490,7 @@
 		do {
 			p += BytesPerWord;
 		} while(((longAtPointer(p)) == 0)
- && (p <= ((page->baseAddress))));
+			 && (p <= ((page->baseAddress))));
 		unused = (p - BytesPerWord) - ((page->lastAddress));
 		if (unused < minUnused) {
 			minUnused = unused;
@@ -35537,7 +35540,7 @@
 					spaceOkay = 0;
 					goto l1;
 				}
-				if ((((usqInt) size) >> (LongSizeNumBits - BytesPerWord)) > 0) {
+				if ((((usqInt) size) >> (LongSizeNumBits - ShiftForWord)) > 0) {
 					spaceOkay = 0;
 					goto l1;
 				}

Modified: branches/Cog/src/vm/cointerp.h
===================================================================
--- branches/Cog/src/vm/cointerp.h	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/src/vm/cointerp.h	2014-05-02 23:26:05 UTC (rev 2912)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
 
 

Modified: branches/Cog/src/vm/cointerpmt.c
===================================================================
--- branches/Cog/src/vm/cointerpmt.c	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/src/vm/cointerpmt.c	2014-05-02 23:26:05 UTC (rev 2912)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
    from
-	CoInterpreterMT VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CoInterpreterMT VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
-static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ;
+static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2132,7 +2132,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.695]";
+const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.699]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 sqInt willNotThreadWarnCount;
@@ -11949,7 +11949,7 @@
 		while (1) {
 			assert(isContext(currentCtx));
 			if ((((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1))
- && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break;
+			 && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break;
 			if (((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) {
 				/* begin stackPageFor: */
 				/* begin stackPageAt: */
@@ -21237,7 +21237,7 @@
 			return 1;
 		}
 		if (!((theFP != ((aPage->baseFP)))
- && ((stackPageFor(theFP)) == aPage))) break;
+		 && ((stackPageFor(theFP)) == aPage))) break;
 		/* begin frameCallerFP: */
 		theFP = pointerForOop(longAt(theFP + FoxSavedFP));
 	}
@@ -25176,7 +25176,7 @@
 		do {
 			p += BytesPerWord;
 		} while(((longAtPointer(p)) == 0)
- && (p <= ((page->baseAddress))));
+			 && (p <= ((page->baseAddress))));
 		unused = (p - BytesPerWord) - ((page->lastAddress));
 		if (unused < minUnused) {
 			minUnused = unused;
@@ -36755,7 +36755,7 @@
 					spaceOkay = 0;
 					goto l1;
 				}
-				if ((((usqInt) size) >> (LongSizeNumBits - BytesPerWord)) > 0) {
+				if ((((usqInt) size) >> (LongSizeNumBits - ShiftForWord)) > 0) {
 					spaceOkay = 0;
 					goto l1;
 				}

Modified: branches/Cog/src/vm/cointerpmt.h
===================================================================
--- branches/Cog/src/vm/cointerpmt.h	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/src/vm/cointerpmt.h	2014-05-02 23:26:05 UTC (rev 2912)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
 
 

Modified: branches/Cog/src/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/src/vm/gcc3x-cointerp.c	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/src/vm/gcc3x-cointerp.c	2014-05-02 23:26:05 UTC (rev 2912)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
    from
-	CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2038,7 +2038,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.695]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.699]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -5559,6 +5559,7 @@
 						/* begin internalPush: */
 						longAtPointerput((localSP -= BytesPerOop), longAt((rcvr + BaseHeaderSize) + (byte3 << ShiftForWord)));
 					}
+					null;
 					goto l4;
 				}
 				if (opType == 3) {
@@ -5568,6 +5569,7 @@
 					assert(GIV(method) == (iframeMethod(localFP)));
 					object = longAt((GIV(method) + BaseHeaderSize) + ((byte3 + LiteralStart) << ShiftForWord));
 					longAtPointerput((localSP -= BytesPerOop), object);
+					null;
 					goto l4;
 				}
 				if (opType == 4) {
@@ -5581,6 +5583,7 @@
 					object2 = longAt((oop + BaseHeaderSize) + (ValueIndex << ShiftForWord));
 					longAtPointerput((localSP -= BytesPerOop), object2);
 
+					null;
 					goto l4;
 				}
 				top = longAtPointer(localSP);
@@ -11625,7 +11628,7 @@
 		while (1) {
 			assert(isContext(currentCtx));
 			if ((((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1))
- && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break;
+			 && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break;
 			if (((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) {
 				/* begin stackPageFor: */
 				/* begin stackPageAt: */
@@ -20603,7 +20606,7 @@
 			return 1;
 		}
 		if (!((theFP != ((aPage->baseFP)))
- && ((stackPageFor(theFP)) == aPage))) break;
+		 && ((stackPageFor(theFP)) == aPage))) break;
 		/* begin frameCallerFP: */
 		theFP = pointerForOop(longAt(theFP + FoxSavedFP));
 	}
@@ -24496,7 +24499,7 @@
 		do {
 			p += BytesPerWord;
 		} while(((longAtPointer(p)) == 0)
- && (p <= ((page->baseAddress))));
+			 && (p <= ((page->baseAddress))));
 		unused = (p - BytesPerWord) - ((page->lastAddress));
 		if (unused < minUnused) {
 			minUnused = unused;
@@ -35546,7 +35549,7 @@
 					spaceOkay = 0;
 					goto l1;
 				}
-				if ((((usqInt) size) >> (LongSizeNumBits - BytesPerWord)) > 0) {
+				if ((((usqInt) size) >> (LongSizeNumBits - ShiftForWord)) > 0) {
 					spaceOkay = 0;
 					goto l1;
 				}

Modified: branches/Cog/src/vm/gcc3x-cointerpmt.c
===================================================================
--- branches/Cog/src/vm/gcc3x-cointerpmt.c	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/src/vm/gcc3x-cointerpmt.c	2014-05-02 23:26:05 UTC (rev 2912)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
    from
-	CoInterpreterMT VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CoInterpreterMT VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
-static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ;
+static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2135,7 +2135,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.695]";
+const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.699]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 sqInt willNotThreadWarnCount;
@@ -11958,7 +11958,7 @@
 		while (1) {
 			assert(isContext(currentCtx));
 			if ((((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1))
- && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break;
+			 && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break;
 			if (((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) {
 				/* begin stackPageFor: */
 				/* begin stackPageAt: */
@@ -21246,7 +21246,7 @@
 			return 1;
 		}
 		if (!((theFP != ((aPage->baseFP)))
- && ((stackPageFor(theFP)) == aPage))) break;
+		 && ((stackPageFor(theFP)) == aPage))) break;
 		/* begin frameCallerFP: */
 		theFP = pointerForOop(longAt(theFP + FoxSavedFP));
 	}
@@ -25185,7 +25185,7 @@
 		do {
 			p += BytesPerWord;
 		} while(((longAtPointer(p)) == 0)
- && (p <= ((page->baseAddress))));
+			 && (p <= ((page->baseAddress))));
 		unused = (p - BytesPerWord) - ((page->lastAddress));
 		if (unused < minUnused) {
 			minUnused = unused;
@@ -36764,7 +36764,7 @@
 					spaceOkay = 0;
 					goto l1;
 				}
-				if ((((usqInt) size) >> (LongSizeNumBits - BytesPerWord)) > 0) {
+				if ((((usqInt) size) >> (LongSizeNumBits - ShiftForWord)) > 0) {
 					spaceOkay = 0;
 					goto l1;
 				}

Modified: branches/Cog/src/vm/interp.h
===================================================================
--- branches/Cog/src/vm/interp.h	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/src/vm/interp.h	2014-05-02 23:26:05 UTC (rev 2912)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/src/vm/vmCallback.h
===================================================================
--- branches/Cog/src/vm/vmCallback.h	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/src/vm/vmCallback.h	2014-05-02 23:26:05 UTC (rev 2912)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
 
 #define VM_CALLBACK_INC 1

Modified: branches/Cog/stacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/stacksrc/vm/gcc3x-interp.c	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/stacksrc/vm/gcc3x-interp.c	2014-05-02 23:26:05 UTC (rev 2912)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
    from
-	StackInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	StackInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1824,7 +1824,7 @@
  0 };
 char * breakSelector;
 sqInt breakSelectorLength = -1;
-const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.695]";
+const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.699]";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -4182,7 +4182,7 @@
 					while (1) {
 						assert(isContext(currentCtx));
 						if ((((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1))
- && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break;
+						 && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break;
 						if (((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) {
 							/* begin stackPageFor: */
 							/* begin stackPageAt: */
@@ -16452,7 +16452,7 @@
 			return 1;
 		}
 		if (!((theFP != ((aPage->baseFP)))
- && ((stackPageFor(theFP)) == aPage))) break;
+		 && ((stackPageFor(theFP)) == aPage))) break;
 		/* begin frameCallerFP: */
 		theFP = pointerForOop(longAt(theFP + FoxSavedFP));
 	}
@@ -30214,7 +30214,7 @@
 					spaceOkay = 0;
 					goto l1;
 				}
-				if ((((usqInt) size) >> (LongSizeNumBits - BytesPerWord)) > 0) {
+				if ((((usqInt) size) >> (LongSizeNumBits - ShiftForWord)) > 0) {
 					spaceOkay = 0;
 					goto l1;
 				}

Modified: branches/Cog/stacksrc/vm/interp.c
===================================================================
--- branches/Cog/stacksrc/vm/interp.c	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/stacksrc/vm/interp.c	2014-05-02 23:26:05 UTC (rev 2912)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
    from
-	StackInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	StackInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1821,7 +1821,7 @@
  0 };
 char * breakSelector;
 sqInt breakSelectorLength = -1;
-const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.695]";
+const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.699]";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -4173,7 +4173,7 @@
 					while (1) {
 						assert(isContext(currentCtx));
 						if ((((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1))
- && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break;
+						 && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break;
 						if (((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) {
 							/* begin stackPageFor: */
 							/* begin stackPageAt: */
@@ -16443,7 +16443,7 @@
 			return 1;
 		}
 		if (!((theFP != ((aPage->baseFP)))
- && ((stackPageFor(theFP)) == aPage))) break;
+		 && ((stackPageFor(theFP)) == aPage))) break;
 		/* begin frameCallerFP: */
 		theFP = pointerForOop(longAt(theFP + FoxSavedFP));
 	}
@@ -30205,7 +30205,7 @@
 					spaceOkay = 0;
 					goto l1;
 				}
-				if ((((usqInt) size) >> (LongSizeNumBits - BytesPerWord)) > 0) {
+				if ((((usqInt) size) >> (LongSizeNumBits - ShiftForWord)) > 0) {
 					spaceOkay = 0;
 					goto l1;
 				}

Modified: branches/Cog/stacksrc/vm/interp.h
===================================================================
--- branches/Cog/stacksrc/vm/interp.h	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/stacksrc/vm/interp.h	2014-05-02 23:26:05 UTC (rev 2912)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/stacksrc/vm/vmCallback.h
===================================================================
--- branches/Cog/stacksrc/vm/vmCallback.h	2014-05-01 18:40:52 UTC (rev 2911)
+++ branches/Cog/stacksrc/vm/vmCallback.h	2014-05-02 23:26:05 UTC (rev 2912)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255
  */
 
 #define VM_CALLBACK_INC 1



More information about the Vm-dev mailing list