[Vm-dev] [commit][3079] CogVM source as per VMMaker.oscog-eem.881

commits at squeakvm.org commits at squeakvm.org
Sun Sep 14 00:02:55 UTC 2014


Revision: 3079
Author:   eliot
Date:     2014-09-13 17:02:53 -0700 (Sat, 13 Sep 2014)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.881

Fix some conflicting return types (during generation).

Modified Paths:
--------------
    branches/Cog/nscogsrc/vm/cointerp.c
    branches/Cog/nscogsrc/vm/cointerp.h
    branches/Cog/nscogsrc/vm/gcc3x-cointerp.c
    branches/Cog/nsspursrc/vm/cointerp.c
    branches/Cog/nsspursrc/vm/cointerp.h
    branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
    branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
    branches/Cog/nsspurstacksrc/vm/interp.c
    branches/Cog/sistasrc/vm/cointerp.c
    branches/Cog/sistasrc/vm/cointerp.h
    branches/Cog/sistasrc/vm/gcc3x-cointerp.c
    branches/Cog/spursistasrc/vm/cointerp.c
    branches/Cog/spursistasrc/vm/cointerp.h
    branches/Cog/spursistasrc/vm/gcc3x-cointerp.c
    branches/Cog/spursrc/vm/cointerp.c
    branches/Cog/spursrc/vm/cointerp.h
    branches/Cog/spursrc/vm/gcc3x-cointerp.c
    branches/Cog/spurstacksrc/vm/gcc3x-interp.c
    branches/Cog/spurstacksrc/vm/interp.c
    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/stacksrc/vm/gcc3x-interp.c
    branches/Cog/stacksrc/vm/interp.c

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

Modified: branches/Cog/nscogsrc/vm/cointerp.c
===================================================================
--- branches/Cog/nscogsrc/vm/cointerp.c	2014-09-13 23:20:54 UTC (rev 3078)
+++ branches/Cog/nscogsrc/vm/cointerp.c	2014-09-14 00:02:53 UTC (rev 3079)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
    from
-	CoInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CoInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -852,7 +852,7 @@
 void printWronglySizedContexts(sqInt printContexts);
 static void restoreHeadersFromtofromandtofrom(sqInt firstIn, sqInt lastIn, sqInt hdrBaseIn, sqInt firstOut, sqInt lastOut, sqInt hdrBaseOut) NoDbgRegParms;
 static void runLeakCheckerForFullGC(sqInt fullGCFlag) NoDbgRegParms;
-static sqInt safeObjectAfter(sqInt oop) NoDbgRegParms;
+static usqInt safeObjectAfter(sqInt oop) NoDbgRegParms;
 static sqInt safePrintStringOf(sqInt oop) NoDbgRegParms;
 static sqInt shortentoIndexableSize(sqInt obj, sqInt nSlots) NoDbgRegParms;
 static sqInt sizeBitsOfSafe(sqInt oop) NoDbgRegParms;
@@ -2086,7 +2086,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.880";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.881";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -36766,17 +36766,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;
 
@@ -36787,21 +36785,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;
@@ -36816,7 +36800,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)) {
 
@@ -36870,18 +36854,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)) {
@@ -38753,7 +38737,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/nscogsrc/vm/cointerp.h
===================================================================
--- branches/Cog/nscogsrc/vm/cointerp.h	2014-09-13 23:20:54 UTC (rev 3078)
+++ branches/Cog/nscogsrc/vm/cointerp.h	2014-09-14 00:02:53 UTC (rev 3079)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
  */
 
 

Modified: branches/Cog/nscogsrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nscogsrc/vm/gcc3x-cointerp.c	2014-09-13 23:20:54 UTC (rev 3078)
+++ branches/Cog/nscogsrc/vm/gcc3x-cointerp.c	2014-09-14 00:02:53 UTC (rev 3079)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
    from
-	CoInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CoInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -855,7 +855,7 @@
 void printWronglySizedContexts(sqInt printContexts);
 static void restoreHeadersFromtofromandtofrom(sqInt firstIn, sqInt lastIn, sqInt hdrBaseIn, sqInt firstOut, sqInt lastOut, sqInt hdrBaseOut) NoDbgRegParms;
 static void runLeakCheckerForFullGC(sqInt fullGCFlag) NoDbgRegParms;
-static sqInt safeObjectAfter(sqInt oop) NoDbgRegParms;
+static usqInt safeObjectAfter(sqInt oop) NoDbgRegParms;
 static sqInt safePrintStringOf(sqInt oop) NoDbgRegParms;
 static sqInt shortentoIndexableSize(sqInt obj, sqInt nSlots) NoDbgRegParms;
 static sqInt sizeBitsOfSafe(sqInt oop) NoDbgRegParms;
@@ -2089,7 +2089,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.880";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.881";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -36775,17 +36775,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;
 
@@ -36796,21 +36794,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;
@@ -36825,7 +36809,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)) {
 
@@ -36879,18 +36863,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)) {
@@ -38762,7 +38746,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/nsspursrc/vm/cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.c	2014-09-13 23:20:54 UTC (rev 3078)
+++ branches/Cog/nsspursrc/vm/cointerp.c	2014-09-14 00:02:53 UTC (rev 3079)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
    from
-	CoInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CoInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2325,7 +2325,7 @@
 /*540*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.880";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.881";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -5617,6 +5617,7 @@
 							GIV(framePointer) = localFP;
 							
 							ceEnterCogCodePopReceiverReg();
+							null;
 							goto l292;
 						}
 						localIP = pointerForOop(longAt(localFP + FoxIFSavedIP));
@@ -5634,7 +5635,7 @@
 					/* begin fetchNextBytecode */
 					currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-					/* return self */
+					null;
 				l292:	/* end baseFrameReturn */;
 					goto l291;
 				}
@@ -21553,6 +21554,7 @@
 				target = intOrSelector;
 			}
 			printStringOf(target);
+			/* return self */
 		}
 	}
 }
@@ -65160,7 +65162,7 @@
 	index = longAt(GIV(stackPointer) + (1 * BytesPerWord));
 	aContext = longAt(GIV(stackPointer) + (2 * BytesPerWord));
 	if (!((index & 1))) {
-		(GIV(primFailCode) = PrimErrBadArgument);
+		GIV(primFailCode) = PrimErrBadArgument;
 		return;
 	}
 	hdr = long64At(aContext);
@@ -65406,7 +65408,7 @@
 		stSize = (sp1 >> 1);
 	l2:	/* end fetchStackPointerOf: */;
 		if (!(((index >= 1) && (index <= stSize)))) {
-			(GIV(primFailCode) = PrimErrBadIndex);
+			GIV(primFailCode) = PrimErrBadIndex;
 			return;
 		}
 		/* begin subscript:with:storing:format: */
@@ -65462,7 +65464,7 @@
 	assert((senderOop & 1));
 	spouseFP = pointerForOop(senderOop - 1);
 	if (!(((index >= 1) && (index <= (stackPointerIndexForFrame(spouseFP)))))) {
-		(GIV(primFailCode) = PrimErrBadIndex);
+		GIV(primFailCode) = PrimErrBadIndex;
 		return;
 	}
 	if ((((usqInt)(longAt(spouseFP + FoxMethod)))) < (startOfMemory())) {

Modified: branches/Cog/nsspursrc/vm/cointerp.h
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.h	2014-09-13 23:20:54 UTC (rev 3078)
+++ branches/Cog/nsspursrc/vm/cointerp.h	2014-09-14 00:02:53 UTC (rev 3079)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
  */
 
 

Modified: branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2014-09-13 23:20:54 UTC (rev 3078)
+++ branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2014-09-14 00:02:53 UTC (rev 3079)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
    from
-	CoInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CoInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2328,7 +2328,7 @@
 /*540*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.880";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.881";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -5626,6 +5626,7 @@
 							GIV(framePointer) = localFP;
 							
 							ceEnterCogCodePopReceiverReg();
+							null;
 							goto l292;
 						}
 						localIP = pointerForOop(longAt(localFP + FoxIFSavedIP));
@@ -5643,7 +5644,7 @@
 					/* begin fetchNextBytecode */
 					currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-					/* return self */
+					null;
 				l292:	/* end baseFrameReturn */;
 					goto l291;
 				}
@@ -21562,6 +21563,7 @@
 				target = intOrSelector;
 			}
 			printStringOf(target);
+			/* return self */
 		}
 	}
 }
@@ -65169,7 +65171,7 @@
 	index = longAt(GIV(stackPointer) + (1 * BytesPerWord));
 	aContext = longAt(GIV(stackPointer) + (2 * BytesPerWord));
 	if (!((index & 1))) {
-		(GIV(primFailCode) = PrimErrBadArgument);
+		GIV(primFailCode) = PrimErrBadArgument;
 		return;
 	}
 	hdr = long64At(aContext);
@@ -65415,7 +65417,7 @@
 		stSize = (sp1 >> 1);
 	l2:	/* end fetchStackPointerOf: */;
 		if (!(((index >= 1) && (index <= stSize)))) {
-			(GIV(primFailCode) = PrimErrBadIndex);
+			GIV(primFailCode) = PrimErrBadIndex;
 			return;
 		}
 		/* begin subscript:with:storing:format: */
@@ -65471,7 +65473,7 @@
 	assert((senderOop & 1));
 	spouseFP = pointerForOop(senderOop - 1);
 	if (!(((index >= 1) && (index <= (stackPointerIndexForFrame(spouseFP)))))) {
-		(GIV(primFailCode) = PrimErrBadIndex);
+		GIV(primFailCode) = PrimErrBadIndex;
 		return;
 	}
 	if ((((usqInt)(longAt(spouseFP + FoxMethod)))) < (startOfMemory())) {

Modified: branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2014-09-13 23:20:54 UTC (rev 3078)
+++ branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2014-09-14 00:02:53 UTC (rev 3079)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
    from
-	StackInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	StackInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2074,7 +2074,7 @@
  0 };
 char * breakSelector;
 sqInt breakSelectorLength = -1;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.880";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.881";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -4897,6 +4897,7 @@
 					GIV(messageSelector) = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (SelectorCannotReturn << 2));
 					GIV(argumentCount) = 1;
 					goto normalSend;
+					/* return self */
 					goto l282;
 				}
 				if (unwindContextOrNilOrZero != 0) {
@@ -4919,6 +4920,7 @@
 					GIV(messageSelector) = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (SelectorAboutToReturn << 2));
 					GIV(argumentCount) = 2;
 					goto normalSend;
+					/* return self */
 					goto l282;
 				}
 				contextToReturnTo = null;
@@ -5003,6 +5005,7 @@
 						GIV(messageSelector) = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (SelectorCannotReturn << 2));
 						GIV(argumentCount) = 1;
 						goto normalSend;
+						/* return self */
 						goto l282;
 					}
 				}
@@ -56349,7 +56352,7 @@
 
 	index = longAt(GIV(stackPointer));
 	if (!((index & 1))) {
-		(GIV(primFailCode) = PrimErrBadArgument);
+		GIV(primFailCode) = PrimErrBadArgument;
 		return;
 	}
 	index = (index >> 1);
@@ -56566,7 +56569,7 @@
 		stSize = (sp1 >> 1);
 	l2:	/* end fetchStackPointerOf: */;
 		if (!(((index >= 1) && (index <= stSize)))) {
-			(GIV(primFailCode) = PrimErrBadIndex);
+			GIV(primFailCode) = PrimErrBadIndex;
 			return;
 		}
 		/* begin subscript:with:format: */
@@ -56591,7 +56594,7 @@
 	assert((senderOop & 1));
 	spouseFP = pointerForOop(senderOop - 1);
 	if (!(((index >= 1) && (index <= (stackPointerIndexForFrame(spouseFP)))))) {
-		(GIV(primFailCode) = PrimErrBadIndex);
+		GIV(primFailCode) = PrimErrBadIndex;
 		return;
 	}
 	value = ((index - 1) < ((frameNumArgs = byteAt((spouseFP + FoxFrameFlags) + 1)))
@@ -56649,7 +56652,7 @@
 	index = longAt(GIV(stackPointer) + (1 * BytesPerWord));
 	aContext = longAt(GIV(stackPointer) + (2 * BytesPerWord));
 	if (!((index & 1))) {
-		(GIV(primFailCode) = PrimErrBadArgument);
+		GIV(primFailCode) = PrimErrBadArgument;
 		return;
 	}
 	hdr = long64At(aContext);
@@ -56895,7 +56898,7 @@
 		stSize = (sp1 >> 1);
 	l2:	/* end fetchStackPointerOf: */;
 		if (!(((index >= 1) && (index <= stSize)))) {
-			(GIV(primFailCode) = PrimErrBadIndex);
+			GIV(primFailCode) = PrimErrBadIndex;
 			return;
 		}
 		/* begin subscript:with:storing:format: */
@@ -56951,7 +56954,7 @@
 	assert((senderOop & 1));
 	spouseFP = pointerForOop(senderOop - 1);
 	if (!(((index >= 1) && (index <= (stackPointerIndexForFrame(spouseFP)))))) {
-		(GIV(primFailCode) = PrimErrBadIndex);
+		GIV(primFailCode) = PrimErrBadIndex;
 		return;
 	}
 	if ((index - 1) < ((frameNumArgs = byteAt((spouseFP + FoxFrameFlags) + 1)))) {

Modified: branches/Cog/nsspurstacksrc/vm/interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/interp.c	2014-09-13 23:20:54 UTC (rev 3078)
+++ branches/Cog/nsspurstacksrc/vm/interp.c	2014-09-14 00:02:53 UTC (rev 3079)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
    from
-	StackInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	StackInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2071,7 +2071,7 @@
  0 };
 char * breakSelector;
 sqInt breakSelectorLength = -1;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.880";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.881";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -4888,6 +4888,7 @@
 					GIV(messageSelector) = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (SelectorCannotReturn << 2));
 					GIV(argumentCount) = 1;
 					goto normalSend;
+					/* return self */
 					goto l282;
 				}
 				if (unwindContextOrNilOrZero != 0) {
@@ -4910,6 +4911,7 @@
 					GIV(messageSelector) = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (SelectorAboutToReturn << 2));
 					GIV(argumentCount) = 2;
 					goto normalSend;
+					/* return self */
 					goto l282;
 				}
 				contextToReturnTo = null;
@@ -4994,6 +4996,7 @@
 						GIV(messageSelector) = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (SelectorCannotReturn << 2));
 						GIV(argumentCount) = 1;
 						goto normalSend;
+						/* return self */
 						goto l282;
 					}
 				}
@@ -56340,7 +56343,7 @@
 
 	index = longAt(GIV(stackPointer));
 	if (!((index & 1))) {
-		(GIV(primFailCode) = PrimErrBadArgument);
+		GIV(primFailCode) = PrimErrBadArgument;
 		return;
 	}
 	index = (index >> 1);
@@ -56557,7 +56560,7 @@
 		stSize = (sp1 >> 1);
 	l2:	/* end fetchStackPointerOf: */;
 		if (!(((index >= 1) && (index <= stSize)))) {
-			(GIV(primFailCode) = PrimErrBadIndex);
+			GIV(primFailCode) = PrimErrBadIndex;
 			return;
 		}
 		/* begin subscript:with:format: */
@@ -56582,7 +56585,7 @@
 	assert((senderOop & 1));
 	spouseFP = pointerForOop(senderOop - 1);
 	if (!(((index >= 1) && (index <= (stackPointerIndexForFrame(spouseFP)))))) {
-		(GIV(primFailCode) = PrimErrBadIndex);
+		GIV(primFailCode) = PrimErrBadIndex;
 		return;
 	}
 	value = ((index - 1) < ((frameNumArgs = byteAt((spouseFP + FoxFrameFlags) + 1)))
@@ -56640,7 +56643,7 @@
 	index = longAt(GIV(stackPointer) + (1 * BytesPerWord));
 	aContext = longAt(GIV(stackPointer) + (2 * BytesPerWord));
 	if (!((index & 1))) {
-		(GIV(primFailCode) = PrimErrBadArgument);
+		GIV(primFailCode) = PrimErrBadArgument;
 		return;
 	}
 	hdr = long64At(aContext);
@@ -56886,7 +56889,7 @@
 		stSize = (sp1 >> 1);
 	l2:	/* end fetchStackPointerOf: */;
 		if (!(((index >= 1) && (index <= stSize)))) {
-			(GIV(primFailCode) = PrimErrBadIndex);
+			GIV(primFailCode) = PrimErrBadIndex;
 			return;
 		}
 		/* begin subscript:with:storing:format: */
@@ -56942,7 +56945,7 @@
 	assert((senderOop & 1));
 	spouseFP = pointerForOop(senderOop - 1);
 	if (!(((index >= 1) && (index <= (stackPointerIndexForFrame(spouseFP)))))) {
-		(GIV(primFailCode) = PrimErrBadIndex);
+		GIV(primFailCode) = PrimErrBadIndex;
 		return;
 	}
 	if ((index - 1) < ((frameNumArgs = byteAt((spouseFP + FoxFrameFlags) + 1)))) {


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Sat Sep 13 16:20:19 PDT 2014
   + Sat Sep 13 17:02:19 PDT 2014

Modified: branches/Cog/sistasrc/vm/cointerp.c
===================================================================
--- branches/Cog/sistasrc/vm/cointerp.c	2014-09-13 23:20:54 UTC (rev 3078)
+++ branches/Cog/sistasrc/vm/cointerp.c	2014-09-14 00:02:53 UTC (rev 3079)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
    from
-	CoInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CoInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -851,7 +851,7 @@
 void printWronglySizedContexts(sqInt printContexts);
 static void restoreHeadersFromtofromandtofrom(sqInt firstIn, sqInt lastIn, sqInt hdrBaseIn, sqInt firstOut, sqInt lastOut, sqInt hdrBaseOut) NoDbgRegParms;
 static void runLeakCheckerForFullGC(sqInt fullGCFlag) NoDbgRegParms;
-static sqInt safeObjectAfter(sqInt oop) NoDbgRegParms;
+static usqInt safeObjectAfter(sqInt oop) NoDbgRegParms;
 static sqInt safePrintStringOf(sqInt oop) NoDbgRegParms;
 static sqInt shortentoIndexableSize(sqInt obj, sqInt nSlots) NoDbgRegParms;
 static sqInt sizeBitsOfSafe(sqInt oop) NoDbgRegParms;
@@ -2083,7 +2083,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.880]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.881]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -36763,17 +36763,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;
 
@@ -36784,21 +36782,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;
@@ -36813,7 +36797,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)) {
 
@@ -36867,18 +36851,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)) {
@@ -38750,7 +38734,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;
@@ -52580,7 +52564,7 @@
 
 	index = longAt(GIV(stackPointer));
 	if (!((index & 1))) {
-		(GIV(primFailCode) = PrimErrBadArgument);
+		GIV(primFailCode) = PrimErrBadArgument;
 		return;
 	}
 	index = (index >> 1);
@@ -52745,7 +52729,7 @@
 		stSize = (sp1 >> 1);
 	l2:	/* end fetchStackPointerOf: */;
 		if (!(((index >= 1) && (index <= stSize)))) {
-			(GIV(primFailCode) = PrimErrBadIndex);
+			GIV(primFailCode) = PrimErrBadIndex;
 			return;
 		}
 		/* begin subscript:with:format: */
@@ -52770,7 +52754,7 @@
 	assert((senderOop & 1));
 	spouseFP = pointerForOop(senderOop - 1);
 	if (!(((index >= 1) && (index <= (stackPointerIndexForFrame(spouseFP)))))) {
-		(GIV(primFailCode) = PrimErrBadIndex);
+		GIV(primFailCode) = PrimErrBadIndex;
 		return;
 	}
 	value = ((((usqInt)(longAt(spouseFP + FoxMethod)))) < (startOfMemory())
@@ -52831,7 +52815,7 @@
 	index = longAt(GIV(stackPointer) + (1 * BytesPerWord));
 	aContext = longAt(GIV(stackPointer) + (2 * BytesPerWord));
 	if (!((index & 1))) {
-		(GIV(primFailCode) = PrimErrBadArgument);
+		GIV(primFailCode) = PrimErrBadArgument;
 		return;
 	}
 	hdr = longAt(aContext);
@@ -53015,7 +52999,7 @@
 		stSize = (sp1 >> 1);
 	l2:	/* end fetchStackPointerOf: */;
 		if (!(((index >= 1) && (index <= stSize)))) {
-			(GIV(primFailCode) = PrimErrBadIndex);
+			GIV(primFailCode) = PrimErrBadIndex;
 			return;
 		}
 		/* begin subscript:with:storing:format: */
@@ -53061,7 +53045,7 @@
 	assert((senderOop & 1));
 	spouseFP = pointerForOop(senderOop - 1);
 	if (!(((index >= 1) && (index <= (stackPointerIndexForFrame(spouseFP)))))) {
-		(GIV(primFailCode) = PrimErrBadIndex);
+		GIV(primFailCode) = PrimErrBadIndex;
 		return;
 	}
 	if ((((usqInt)(longAt(spouseFP + FoxMethod)))) < (startOfMemory())) {
@@ -54272,7 +54256,7 @@
 	assert(pageListIsWellFormed());
 	
 	if (GIV(fullGCLock) > 0) {
-		(GIV(primFailCode) = PrimErrInappropriate);
+		GIV(primFailCode) = PrimErrInappropriate;
 		return;
 	}
 	incrementalGC();

Modified: branches/Cog/sistasrc/vm/cointerp.h
===================================================================
--- branches/Cog/sistasrc/vm/cointerp.h	2014-09-13 23:20:54 UTC (rev 3078)
+++ branches/Cog/sistasrc/vm/cointerp.h	2014-09-14 00:02:53 UTC (rev 3079)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
  */
 
 

Modified: branches/Cog/sistasrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/sistasrc/vm/gcc3x-cointerp.c	2014-09-13 23:20:54 UTC (rev 3078)
+++ branches/Cog/sistasrc/vm/gcc3x-cointerp.c	2014-09-14 00:02:53 UTC (rev 3079)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
    from
-	CoInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CoInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -854,7 +854,7 @@
 void printWronglySizedContexts(sqInt printContexts);
 static void restoreHeadersFromtofromandtofrom(sqInt firstIn, sqInt lastIn, sqInt hdrBaseIn, sqInt firstOut, sqInt lastOut, sqInt hdrBaseOut) NoDbgRegParms;
 static void runLeakCheckerForFullGC(sqInt fullGCFlag) NoDbgRegParms;
-static sqInt safeObjectAfter(sqInt oop) NoDbgRegParms;
+static usqInt safeObjectAfter(sqInt oop) NoDbgRegParms;
 static sqInt safePrintStringOf(sqInt oop) NoDbgRegParms;
 static sqInt shortentoIndexableSize(sqInt obj, sqInt nSlots) NoDbgRegParms;
 static sqInt sizeBitsOfSafe(sqInt oop) NoDbgRegParms;
@@ -2086,7 +2086,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.880]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.881]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -36772,17 +36772,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;
 
@@ -36793,21 +36791,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;
@@ -36822,7 +36806,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)) {
 
@@ -36876,18 +36860,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)) {
@@ -38759,7 +38743,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;
@@ -52589,7 +52573,7 @@
 
 	index = longAt(GIV(stackPointer));
 	if (!((index & 1))) {
-		(GIV(primFailCode) = PrimErrBadArgument);
+		GIV(primFailCode) = PrimErrBadArgument;
 		return;
 	}
 	index = (index >> 1);
@@ -52754,7 +52738,7 @@
 		stSize = (sp1 >> 1);
 	l2:	/* end fetchStackPointerOf: */;
 		if (!(((index >= 1) && (index <= stSize)))) {
-			(GIV(primFailCode) = PrimErrBadIndex);
+			GIV(primFailCode) = PrimErrBadIndex;
 			return;
 		}
 		/* begin subscript:with:format: */
@@ -52779,7 +52763,7 @@
 	assert((senderOop & 1));
 	spouseFP = pointerForOop(senderOop - 1);
 	if (!(((index >= 1) && (index <= (stackPointerIndexForFrame(spouseFP)))))) {
-		(GIV(primFailCode) = PrimErrBadIndex);
+		GIV(primFailCode) = PrimErrBadIndex;
 		return;
 	}
 	value = ((((usqInt)(longAt(spouseFP + FoxMethod)))) < (startOfMemory())
@@ -52840,7 +52824,7 @@
 	index = longAt(GIV(stackPointer) + (1 * BytesPerWord));
 	aContext = longAt(GIV(stackPointer) + (2 * BytesPerWord));
 	if (!((index & 1))) {
-		(GIV(primFailCode) = PrimErrBadArgument);
+		GIV(primFailCode) = PrimErrBadArgument;
 		return;
 	}
 	hdr = longAt(aContext);
@@ -53024,7 +53008,7 @@
 		stSize = (sp1 >> 1);
 	l2:	/* end fetchStackPointerOf: */;
 		if (!(((index >= 1) && (index <= stSize)))) {
-			(GIV(primFailCode) = PrimErrBadIndex);
+			GIV(primFailCode) = PrimErrBadIndex;
 			return;
 		}
 		/* begin subscript:with:storing:format: */
@@ -53070,7 +53054,7 @@
 	assert((senderOop & 1));
 	spouseFP = pointerForOop(senderOop - 1);
 	if (!(((index >= 1) && (index <= (stackPointerIndexForFrame(spouseFP)))))) {
-		(GIV(primFailCode) = PrimErrBadIndex);
+		GIV(primFailCode) = PrimErrBadIndex;
 		return;
 	}
 	if ((((usqInt)(longAt(spouseFP + FoxMethod)))) < (startOfMemory())) {
@@ -54281,7 +54265,7 @@
 	assert(pageListIsWellFormed());
 	
 	if (GIV(fullGCLock) > 0) {
-		(GIV(primFailCode) = PrimErrInappropriate);
+		GIV(primFailCode) = PrimErrInappropriate;
 		return;
 	}
 	incrementalGC();

Modified: branches/Cog/spursistasrc/vm/cointerp.c
===================================================================
--- branches/Cog/spursistasrc/vm/cointerp.c	2014-09-13 23:20:54 UTC (rev 3078)
+++ branches/Cog/spursistasrc/vm/cointerp.c	2014-09-14 00:02:53 UTC (rev 3079)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
    from
-	CoInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CoInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1132,7 +1132,7 @@
 sqInt removeGCRoot(sqInt *varLoc);
 static void runLeakCheckerForFullGCexcludeUnmarkedNewSpaceObjsclassIndicesShouldBeValid(sqInt fullGCFlag, sqInt excludeUnmarkedNewSpaceObjs, sqInt classIndicesShouldBeValid) NoDbgRegParms;
 static void scavengingGCTenuringIf(sqInt tenuringCriterion) NoDbgRegParms;
-static sqInt shortentoIndexableSize(sqInt objOop, sqInt indexableSize) NoDbgRegParms;
+static usqInt shortentoIndexableSize(sqInt objOop, sqInt indexableSize) NoDbgRegParms;
 void shortPrintObjectsFromto(sqInt startAddress, sqInt endAddress);
 sqInt shouldRemapObj(sqInt objOop);
 sqInt shouldRemapOop(sqInt oop);
@@ -2323,7 +2323,7 @@
 /*540*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.880]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.881]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -21315,6 +21315,7 @@
 				target = intOrSelector;
 			}
 			printStringOf(target);
+			/* return self */
 		}
 	}
 }
@@ -51864,7 +51865,7 @@
 	zero if no change
 	was possible. */
 
-static sqInt
+static usqInt
 shortentoIndexableSize(sqInt objOop, sqInt indexableSize)
 {
     usqInt bytesAfter;
@@ -64909,7 +64910,7 @@
 	index = longAt(GIV(stackPointer) + (1 * BytesPerWord));
 	aContext = longAt(GIV(stackPointer) + (2 * BytesPerWord));
 	if (!((index & 1))) {
-		(GIV(primFailCode) = PrimErrBadArgument);
+		GIV(primFailCode) = PrimErrBadArgument;
 		return;
 	}
 	hdr = long64At(aContext);
@@ -65155,7 +65156,7 @@
 		stSize = (sp1 >> 1);
 	l2:	/* end fetchStackPointerOf: */;
 		if (!(((index >= 1) && (index <= stSize)))) {
-			(GIV(primFailCode) = PrimErrBadIndex);
+			GIV(primFailCode) = PrimErrBadIndex;
 			return;
 		}
 		/* begin subscript:with:storing:format: */
@@ -65211,7 +65212,7 @@
 	assert((senderOop & 1));
 	spouseFP = pointerForOop(senderOop - 1);
 	if (!(((index >= 1) && (index <= (stackPointerIndexForFrame(spouseFP)))))) {
-		(GIV(primFailCode) = PrimErrBadIndex);
+		GIV(primFailCode) = PrimErrBadIndex;
 		return;
 	}
 	if ((((usqInt)(longAt(spouseFP + FoxMethod)))) < (startOfMemory())) {

Modified: branches/Cog/spursistasrc/vm/cointerp.h
===================================================================
--- branches/Cog/spursistasrc/vm/cointerp.h	2014-09-13 23:20:54 UTC (rev 3078)
+++ branches/Cog/spursistasrc/vm/cointerp.h	2014-09-14 00:02:53 UTC (rev 3079)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
  */
 
 

Modified: branches/Cog/spursistasrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/spursistasrc/vm/gcc3x-cointerp.c	2014-09-13 23:20:54 UTC (rev 3078)
+++ branches/Cog/spursistasrc/vm/gcc3x-cointerp.c	2014-09-14 00:02:53 UTC (rev 3079)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
    from
-	CoInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CoInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1135,7 +1135,7 @@
 sqInt removeGCRoot(sqInt *varLoc);
 static void runLeakCheckerForFullGCexcludeUnmarkedNewSpaceObjsclassIndicesShouldBeValid(sqInt fullGCFlag, sqInt excludeUnmarkedNewSpaceObjs, sqInt classIndicesShouldBeValid) NoDbgRegParms;
 static void scavengingGCTenuringIf(sqInt tenuringCriterion) NoDbgRegParms;
-static sqInt shortentoIndexableSize(sqInt objOop, sqInt indexableSize) NoDbgRegParms;
+static usqInt shortentoIndexableSize(sqInt objOop, sqInt indexableSize) NoDbgRegParms;
 void shortPrintObjectsFromto(sqInt startAddress, sqInt endAddress);
 sqInt shouldRemapObj(sqInt objOop);
 sqInt shouldRemapOop(sqInt oop);
@@ -2326,7 +2326,7 @@
 /*540*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.880]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.881]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -21324,6 +21324,7 @@
 				target = intOrSelector;
 			}
 			printStringOf(target);
+			/* return self */
 		}
 	}
 }
@@ -51873,7 +51874,7 @@
 	zero if no change
 	was possible. */
 
-static sqInt
+static usqInt
 shortentoIndexableSize(sqInt objOop, sqInt indexableSize)
 {
     usqInt bytesAfter;
@@ -64918,7 +64919,7 @@
 	index = longAt(GIV(stackPointer) + (1 * BytesPerWord));
 	aContext = longAt(GIV(stackPointer) + (2 * BytesPerWord));
 	if (!((index & 1))) {
-		(GIV(primFailCode) = PrimErrBadArgument);
+		GIV(primFailCode) = PrimErrBadArgument;
 		return;
 	}
 	hdr = long64At(aContext);
@@ -65164,7 +65165,7 @@
 		stSize = (sp1 >> 1);
 	l2:	/* end fetchStackPointerOf: */;
 		if (!(((index >= 1) && (index <= stSize)))) {
-			(GIV(primFailCode) = PrimErrBadIndex);
+			GIV(primFailCode) = PrimErrBadIndex;
 			return;
 		}
 		/* begin subscript:with:storing:format: */
@@ -65220,7 +65221,7 @@
 	assert((senderOop & 1));
 	spouseFP = pointerForOop(senderOop - 1);
 	if (!(((index >= 1) && (index <= (stackPointerIndexForFrame(spouseFP)))))) {
-		(GIV(primFailCode) = PrimErrBadIndex);
+		GIV(primFailCode) = PrimErrBadIndex;
 		return;
 	}
 	if ((((usqInt)(longAt(spouseFP + FoxMethod)))) < (startOfMemory())) {

Modified: branches/Cog/spursrc/vm/cointerp.c
===================================================================
--- branches/Cog/spursrc/vm/cointerp.c	2014-09-13 23:20:54 UTC (rev 3078)
+++ branches/Cog/spursrc/vm/cointerp.c	2014-09-14 00:02:53 UTC (rev 3079)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
    from
-	CoInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CoInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2314,7 +2314,7 @@
 /*540*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.880]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.881]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -16422,6 +16422,7 @@
 				target = intOrSelector;
 			}
 			printStringOf(target);
+			/* return self */
 		}
 	}
 }

Modified: branches/Cog/spursrc/vm/cointerp.h
===================================================================
--- branches/Cog/spursrc/vm/cointerp.h	2014-09-13 23:20:54 UTC (rev 3078)
+++ branches/Cog/spursrc/vm/cointerp.h	2014-09-14 00:02:53 UTC (rev 3079)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
  */
 
 

Modified: branches/Cog/spursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/spursrc/vm/gcc3x-cointerp.c	2014-09-13 23:20:54 UTC (rev 3078)
+++ branches/Cog/spursrc/vm/gcc3x-cointerp.c	2014-09-14 00:02:53 UTC (rev 3079)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
    from
-	CoInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CoInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2317,7 +2317,7 @@
 /*540*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.880]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.881]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -16431,6 +16431,7 @@
 				target = intOrSelector;
 			}
 			printStringOf(target);
+			/* return self */
 		}
 	}
 }

Modified: branches/Cog/spurstacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/spurstacksrc/vm/gcc3x-interp.c	2014-09-13 23:20:54 UTC (rev 3078)
+++ branches/Cog/spurstacksrc/vm/gcc3x-interp.c	2014-09-14 00:02:53 UTC (rev 3079)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
    from
-	StackInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261
+	StackInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.880 uuid: 4aeaa3e0-8c6b-44b4-a124-128870605261 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.881 uuid: 539d444b-dd24-4254-a007-bd1e298e84f7 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2066,7 +2066,7 @@
  0 };
 char * breakSelector;
 sqInt breakSelectorLength = -1;
-const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.880]";
+const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.881]";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -4791,6 +4791,7 @@
 					GIV(messageSelector) = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (SelectorCannotReturn << 2));
 					GIV(argumentCount) = 1;
 					goto normalSend;
+					/* return self */
 					goto l140;
 				}
 				if (unwindContextOrNilOrZero != 0) {
@@ -4813,6 +4814,7 @@
 					GIV(messageSelector) = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (SelectorAboutToReturn << 2));
 					GIV(argumentCount) = 2;
 					goto normalSend;
+					/* return self */
 					goto l140;
 				}
 				contextToReturnTo = null;
@@ -4897,6 +4899,7 @@
 						GIV(messageSelector) = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (SelectorCannotReturn << 2));
 						GIV(argumentCount) = 1;

@@ Diff output truncated at 50000 characters. @@


More information about the Vm-dev mailing list