[Vm-dev] [commit][3185] CogVM source as per VMMaker.oscog-eem.986

commits at squeakvm.org commits at squeakvm.org
Mon Dec 15 20:45:39 UTC 2014


Revision: 3185
Author:   eliot
Date:     2014-12-15 12:44:57 -0800 (Mon, 15 Dec 2014)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.986

Spur: Eliminate the erroneous and confusing setRawNumSlotsOf:to: and
setOverflowNumSlotsOf:to:.  Use rawNumSlotsOf:put: & rawOverflowSlotsOf:put:
which match the getters.  Hence fix 64-bit compaction.

Remember to update the fixed UnixOSProcessPlugin in Newspeak-land.

Modified Paths:
--------------
    branches/Cog/nscogsrc/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.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/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/spurstack64src/vm/gcc3x-interp.c
    branches/Cog/spurstack64src/vm/interp.c
    branches/Cog/spurstacksrc/vm/gcc3x-interp.c
    branches/Cog/spurstacksrc/vm/interp.c

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

Modified: branches/Cog/nscogsrc/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c	2014-12-15 17:43:51 UTC (rev 3184)
+++ branches/Cog/nscogsrc/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c	2014-12-15 20:44:57 UTC (rev 3185)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
+	VMPluginCodeGenerator VMMaker.oscog-eem.985 uuid: f455e095-e61a-46a0-8994-c4bc33bb8a46
    from
 	UnixOSProcessPlugin VMConstruction-Plugins-OSProcessPlugin.oscog-eem.49 uuid: dbbde2e2-9103-4ba8-96a9-33c29e7ee7e4
  */
@@ -95,6 +95,7 @@
 static sqInt maskForThisThreadAndResend(int sigNum);
 static sqInt maskSignalForThisThread(int sigNum);
 EXPORT(sqInt) moduleUnloaded(char *aModuleName);
+static sqInt msg(char *s);
 static sqInt needSigaltstack(void);
 static sqInt newPthreadTypeByteArray(pthread_t aPthreadType);
 static sqInt newSQFileByteArray(void);
@@ -1199,7 +1200,14 @@
 {
 }
 
+static sqInt
+msg(char *s)
+{
+	fprintf(stderr, "\n%s: %s", moduleName, s);
+	return 0;
+}
 
+
 /*	Answer if the plugin should use a signalstack to avoid delivering signals
 	on the native stack, which can interfere with the JIT. As a side-effect,
 	allocate one if one is not already available. We use GetAttributeString

Modified: branches/Cog/nsspursrc/vm/cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.c	2014-12-15 17:43:51 UTC (rev 3184)
+++ branches/Cog/nsspursrc/vm/cointerp.c	2014-12-15 20:44:57 UTC (rev 3185)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950
    from
-	CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
+	CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2348,7 +2348,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.980";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.986";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -8852,7 +8852,7 @@
 			/* bytecodePrimBitShift */
 			{
 				sqInt integerArgument;
-				sqLong integerReceiver;
+				usqInt integerReceiver;
 				sqInt shifted;
 				char *sp;
 
@@ -8912,7 +8912,7 @@
 							null;
 							goto l76;
 						}
-						shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument);
+						shifted = ((usqInt) integerReceiver) >> (0 - integerArgument);
 					}
 					shifted = positive32BitIntegerFor(shifted);
 					/* begin pop:thenPush: */
@@ -11600,7 +11600,7 @@
 			/* bytecodePrimBitShift */
 			{
 				sqInt integerArgument;
-				sqLong integerReceiver;
+				usqInt integerReceiver;
 				sqInt shifted;
 				char *sp;
 
@@ -11660,7 +11660,7 @@
 							null;
 							goto l183;
 						}
-						shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument);
+						shifted = ((usqInt) integerReceiver) >> (0 - integerArgument);
 					}
 					shifted = positive32BitIntegerFor(shifted);
 					/* begin pop:thenPush: */
@@ -29418,7 +29418,7 @@
 primitiveBitShift(void)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
     sqInt integerArgument;
-    sqLong integerReceiver;
+    usqInt integerReceiver;
     sqInt shifted;
     char *sp;
 
@@ -29465,7 +29465,7 @@
 				}
 				return;
 			}
-			shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument);
+			shifted = ((usqInt) integerReceiver) >> (0 - integerArgument);
 		}
 		shifted = positive32BitIntegerFor(shifted);
 		/* begin pop:thenPush: */
@@ -43230,9 +43230,7 @@
 		: freeChunk);
 	freeChunkWithBytesat((limit - start) - bytes, start + bytes);
 	GIV(totalFreeOldSpace) -= bytes;
-	/* begin setOverflowNumSlotsOf:to: */
-	flag("endian");
-	long32Atput(freeChunk - BaseHeaderSize, count);
+	longAtput(freeChunk - BaseHeaderSize, count);
 	/* begin set:classIndexTo:formatTo: */
 	assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask()))));
 	assert(((2 >= 0) && (2 <= (formatMask()))));
@@ -43420,9 +43418,7 @@
 		: freeChunk);
 	freeChunkWithBytesat((limit - start) - bytes, start + bytes);
 	GIV(totalFreeOldSpace) -= bytes;
-	/* begin setOverflowNumSlotsOf:to: */
-	flag("endian");
-	long32Atput(freeChunk - BaseHeaderSize, count);
+	longAtput(freeChunk - BaseHeaderSize, count);
 	/* begin set:classIndexTo:formatTo: */
 	assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask()))));
 	assert(((2 >= 0) && (2 <= (formatMask()))));
@@ -44445,8 +44441,6 @@
 				}
 				longAtput((obj1 + BaseHeaderSize) + (0 << (shiftForWord())), clone2);
 				if ((byteAt(obj1 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj1 + 7, 1);
 				}
 				/* begin forward:to: */
@@ -44472,8 +44466,6 @@
 				}
 				longAtput((obj2 + BaseHeaderSize) + (0 << (shiftForWord())), clone1);
 				if ((byteAt(obj2 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj2 + 7, 1);
 				}
 				if (((isYoungObject(obj1)) != (isYoungObject(clone2)))
@@ -44594,8 +44586,6 @@
 				}
 				longAtput((obj11 + BaseHeaderSize) + (0 << (shiftForWord())), obj21);
 				if ((byteAt(obj11 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj11 + 7, 1);
 				}
 				if (copyHashFlag) {
@@ -47058,8 +47048,6 @@
 			if (firstOfFreeRun == 0) {
 				/* begin setObjectFree: */
 				if ((byteAt(objOop3 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(objOop3 + 7, 1);
 				}
 				/* begin setFree: */
@@ -48663,8 +48651,6 @@
 			here = here1;
 			/* begin setObjectFree: */
 			if ((byteAt(here + 7)) == 0) {
-				/* begin setRawNumSlotsOf:to: */
-				flag("endian");
 				byteAtput(here + 7, 1);
 			}
 			/* begin setFree: */
@@ -50636,8 +50622,6 @@
 				}
 				longAtput((objOop2 + BaseHeaderSize) + (0 << (shiftForWord())), oldClone);
 				if ((byteAt(objOop2 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(objOop2 + 7, 1);
 				}
 			}
@@ -50645,13 +50629,9 @@
 		objOop2 = objectAfterlimit(objOop2, segmentLimit);
 	}
 	if ((byteAt(segmentWordArray + 7)) == 0xFF) {
-		/* begin setOverflowNumSlotsOf:to: */
-		flag("endian");
-		long32Atput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop);
+		longAtput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop);
 	}
 	else {
-		/* begin setRawNumSlotsOf:to: */
-		flag("endian");
 		byteAtput(segmentWordArray + 7, 8 / BytesPerOop);
 	}
 	if ((checkForLeaks & 16) != 0) {
@@ -58933,8 +58913,6 @@
 		}
 		longAtput((objOop + BaseHeaderSize) + (0 << (shiftForWord())), oldClone);
 		if ((byteAt(objOop + 7)) == 0) {
-			/* begin setRawNumSlotsOf:to: */
-			flag("endian");
 			byteAtput(objOop + 7, 1);
 		}
 	}
@@ -70671,9 +70649,11 @@
 	if (((longAt(oop)) & 0x3FFFFF) == 0) {
 		print(" is a free chunk of size ");
 		printNum(sizeOfFree(oop));
+		print(" 0th: ");
+		printHex(longAt((oop + BaseHeaderSize) + (0 << (shiftForWord()))));
+
 		/* begin cr */
 		printf("\n");
-
 		return;
 	}
 	if (((longAt(oop)) & (0x3FFFFF - 8)) == 0) {

Modified: branches/Cog/nsspursrc/vm/cointerp.h
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.h	2014-12-15 17:43:51 UTC (rev 3184)
+++ branches/Cog/nsspursrc/vm/cointerp.h	2014-12-15 20:44:57 UTC (rev 3185)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950
  */
 
 

Modified: branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2014-12-15 17:43:51 UTC (rev 3184)
+++ branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2014-12-15 20:44:57 UTC (rev 3185)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950
    from
-	CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
+	CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2351,7 +2351,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.980";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.986";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -8861,7 +8861,7 @@
 			/* bytecodePrimBitShift */
 			{
 				sqInt integerArgument;
-				sqLong integerReceiver;
+				usqInt integerReceiver;
 				sqInt shifted;
 				char *sp;
 
@@ -8921,7 +8921,7 @@
 							null;
 							goto l76;
 						}
-						shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument);
+						shifted = ((usqInt) integerReceiver) >> (0 - integerArgument);
 					}
 					shifted = positive32BitIntegerFor(shifted);
 					/* begin pop:thenPush: */
@@ -11609,7 +11609,7 @@
 			/* bytecodePrimBitShift */
 			{
 				sqInt integerArgument;
-				sqLong integerReceiver;
+				usqInt integerReceiver;
 				sqInt shifted;
 				char *sp;
 
@@ -11669,7 +11669,7 @@
 							null;
 							goto l183;
 						}
-						shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument);
+						shifted = ((usqInt) integerReceiver) >> (0 - integerArgument);
 					}
 					shifted = positive32BitIntegerFor(shifted);
 					/* begin pop:thenPush: */
@@ -29427,7 +29427,7 @@
 primitiveBitShift(void)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
     sqInt integerArgument;
-    sqLong integerReceiver;
+    usqInt integerReceiver;
     sqInt shifted;
     char *sp;
 
@@ -29474,7 +29474,7 @@
 				}
 				return;
 			}
-			shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument);
+			shifted = ((usqInt) integerReceiver) >> (0 - integerArgument);
 		}
 		shifted = positive32BitIntegerFor(shifted);
 		/* begin pop:thenPush: */
@@ -43239,9 +43239,7 @@
 		: freeChunk);
 	freeChunkWithBytesat((limit - start) - bytes, start + bytes);
 	GIV(totalFreeOldSpace) -= bytes;
-	/* begin setOverflowNumSlotsOf:to: */
-	flag("endian");
-	long32Atput(freeChunk - BaseHeaderSize, count);
+	longAtput(freeChunk - BaseHeaderSize, count);
 	/* begin set:classIndexTo:formatTo: */
 	assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask()))));
 	assert(((2 >= 0) && (2 <= (formatMask()))));
@@ -43429,9 +43427,7 @@
 		: freeChunk);
 	freeChunkWithBytesat((limit - start) - bytes, start + bytes);
 	GIV(totalFreeOldSpace) -= bytes;
-	/* begin setOverflowNumSlotsOf:to: */
-	flag("endian");
-	long32Atput(freeChunk - BaseHeaderSize, count);
+	longAtput(freeChunk - BaseHeaderSize, count);
 	/* begin set:classIndexTo:formatTo: */
 	assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask()))));
 	assert(((2 >= 0) && (2 <= (formatMask()))));
@@ -44454,8 +44450,6 @@
 				}
 				longAtput((obj1 + BaseHeaderSize) + (0 << (shiftForWord())), clone2);
 				if ((byteAt(obj1 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj1 + 7, 1);
 				}
 				/* begin forward:to: */
@@ -44481,8 +44475,6 @@
 				}
 				longAtput((obj2 + BaseHeaderSize) + (0 << (shiftForWord())), clone1);
 				if ((byteAt(obj2 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj2 + 7, 1);
 				}
 				if (((isYoungObject(obj1)) != (isYoungObject(clone2)))
@@ -44603,8 +44595,6 @@
 				}
 				longAtput((obj11 + BaseHeaderSize) + (0 << (shiftForWord())), obj21);
 				if ((byteAt(obj11 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj11 + 7, 1);
 				}
 				if (copyHashFlag) {
@@ -47067,8 +47057,6 @@
 			if (firstOfFreeRun == 0) {
 				/* begin setObjectFree: */
 				if ((byteAt(objOop3 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(objOop3 + 7, 1);
 				}
 				/* begin setFree: */
@@ -48672,8 +48660,6 @@
 			here = here1;
 			/* begin setObjectFree: */
 			if ((byteAt(here + 7)) == 0) {
-				/* begin setRawNumSlotsOf:to: */
-				flag("endian");
 				byteAtput(here + 7, 1);
 			}
 			/* begin setFree: */
@@ -50645,8 +50631,6 @@
 				}
 				longAtput((objOop2 + BaseHeaderSize) + (0 << (shiftForWord())), oldClone);
 				if ((byteAt(objOop2 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(objOop2 + 7, 1);
 				}
 			}
@@ -50654,13 +50638,9 @@
 		objOop2 = objectAfterlimit(objOop2, segmentLimit);
 	}
 	if ((byteAt(segmentWordArray + 7)) == 0xFF) {
-		/* begin setOverflowNumSlotsOf:to: */
-		flag("endian");
-		long32Atput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop);
+		longAtput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop);
 	}
 	else {
-		/* begin setRawNumSlotsOf:to: */
-		flag("endian");
 		byteAtput(segmentWordArray + 7, 8 / BytesPerOop);
 	}
 	if ((checkForLeaks & 16) != 0) {
@@ -58942,8 +58922,6 @@
 		}
 		longAtput((objOop + BaseHeaderSize) + (0 << (shiftForWord())), oldClone);
 		if ((byteAt(objOop + 7)) == 0) {
-			/* begin setRawNumSlotsOf:to: */
-			flag("endian");
 			byteAtput(objOop + 7, 1);
 		}
 	}
@@ -70680,9 +70658,11 @@
 	if (((longAt(oop)) & 0x3FFFFF) == 0) {
 		print(" is a free chunk of size ");
 		printNum(sizeOfFree(oop));
+		print(" 0th: ");
+		printHex(longAt((oop + BaseHeaderSize) + (0 << (shiftForWord()))));
+
 		/* begin cr */
 		printf("\n");
-
 		return;
 	}
 	if (((longAt(oop)) & (0x3FFFFF - 8)) == 0) {

Modified: branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2014-12-15 17:43:51 UTC (rev 3184)
+++ branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2014-12-15 20:44:57 UTC (rev 3185)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950
    from
-	StackInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
+	StackInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2097,7 +2097,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.980";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.986";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -29269,9 +29269,7 @@
 		: freeChunk);
 	freeChunkWithBytesat((limit - start) - bytes, start + bytes);
 	GIV(totalFreeOldSpace) -= bytes;
-	/* begin setOverflowNumSlotsOf:to: */
-	flag("endian");
-	long32Atput(freeChunk - BaseHeaderSize, count);
+	longAtput(freeChunk - BaseHeaderSize, count);
 	/* begin set:classIndexTo:formatTo: */
 	assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask()))));
 	assert(((2 >= 0) && (2 <= (formatMask()))));
@@ -29459,9 +29457,7 @@
 		: freeChunk);
 	freeChunkWithBytesat((limit - start) - bytes, start + bytes);
 	GIV(totalFreeOldSpace) -= bytes;
-	/* begin setOverflowNumSlotsOf:to: */
-	flag("endian");
-	long32Atput(freeChunk - BaseHeaderSize, count);
+	longAtput(freeChunk - BaseHeaderSize, count);
 	/* begin set:classIndexTo:formatTo: */
 	assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask()))));
 	assert(((2 >= 0) && (2 <= (formatMask()))));
@@ -30471,8 +30467,6 @@
 				}
 				longAtput((obj1 + BaseHeaderSize) + (0 << (shiftForWord())), clone2);
 				if ((byteAt(obj1 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj1 + 7, 1);
 				}
 				/* begin forward:to: */
@@ -30498,8 +30492,6 @@
 				}
 				longAtput((obj2 + BaseHeaderSize) + (0 << (shiftForWord())), clone1);
 				if ((byteAt(obj2 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj2 + 7, 1);
 				}
 				if (((isYoungObject(obj1)) != (isYoungObject(clone2)))
@@ -30620,8 +30612,6 @@
 				}
 				longAtput((obj11 + BaseHeaderSize) + (0 << (shiftForWord())), obj21);
 				if ((byteAt(obj11 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj11 + 7, 1);
 				}
 				if (copyHashFlag) {
@@ -33120,8 +33110,6 @@
 			if (firstOfFreeRun == 0) {
 				/* begin setObjectFree: */
 				if ((byteAt(objOop3 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(objOop3 + 7, 1);
 				}
 				/* begin setFree: */
@@ -34725,8 +34713,6 @@
 			here = here1;
 			/* begin setObjectFree: */
 			if ((byteAt(here + 7)) == 0) {
-				/* begin setRawNumSlotsOf:to: */
-				flag("endian");
 				byteAtput(here + 7, 1);
 			}
 			/* begin setFree: */
@@ -36719,8 +36705,6 @@
 				}
 				longAtput((objOop2 + BaseHeaderSize) + (0 << (shiftForWord())), oldClone);
 				if ((byteAt(objOop2 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(objOop2 + 7, 1);
 				}
 			}
@@ -36728,13 +36712,9 @@
 		objOop2 = objectAfterlimit(objOop2, segmentLimit);
 	}
 	if ((byteAt(segmentWordArray + 7)) == 0xFF) {
-		/* begin setOverflowNumSlotsOf:to: */
-		flag("endian");
-		long32Atput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop);
+		longAtput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop);
 	}
 	else {
-		/* begin setRawNumSlotsOf:to: */
-		flag("endian");
 		byteAtput(segmentWordArray + 7, 8 / BytesPerOop);
 	}
 	if ((checkForLeaks & 16) != 0) {
@@ -44888,8 +44868,6 @@
 		}
 		longAtput((objOop + BaseHeaderSize) + (0 << (shiftForWord())), oldClone);
 		if ((byteAt(objOop + 7)) == 0) {
-			/* begin setRawNumSlotsOf:to: */
-			flag("endian");
 			byteAtput(objOop + 7, 1);
 		}
 	}
@@ -59269,9 +59247,11 @@
 	if (((longAt(oop)) & 0x3FFFFF) == 0) {
 		print(" is a free chunk of size ");
 		printNum(sizeOfFree(oop));
+		print(" 0th: ");
+		printHex(longAt((oop + BaseHeaderSize) + (0 << (shiftForWord()))));
+
 		/* begin cr */
 		printf("\n");
-
 		return;
 	}
 	if (((longAt(oop)) & (0x3FFFFF - 8)) == 0) {

Modified: branches/Cog/nsspurstacksrc/vm/interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/interp.c	2014-12-15 17:43:51 UTC (rev 3184)
+++ branches/Cog/nsspurstacksrc/vm/interp.c	2014-12-15 20:44:57 UTC (rev 3185)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950
    from
-	StackInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
+	StackInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2094,7 +2094,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.980";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.986";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -29260,9 +29260,7 @@
 		: freeChunk);
 	freeChunkWithBytesat((limit - start) - bytes, start + bytes);
 	GIV(totalFreeOldSpace) -= bytes;
-	/* begin setOverflowNumSlotsOf:to: */
-	flag("endian");
-	long32Atput(freeChunk - BaseHeaderSize, count);
+	longAtput(freeChunk - BaseHeaderSize, count);
 	/* begin set:classIndexTo:formatTo: */
 	assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask()))));
 	assert(((2 >= 0) && (2 <= (formatMask()))));
@@ -29450,9 +29448,7 @@
 		: freeChunk);
 	freeChunkWithBytesat((limit - start) - bytes, start + bytes);
 	GIV(totalFreeOldSpace) -= bytes;
-	/* begin setOverflowNumSlotsOf:to: */
-	flag("endian");
-	long32Atput(freeChunk - BaseHeaderSize, count);
+	longAtput(freeChunk - BaseHeaderSize, count);
 	/* begin set:classIndexTo:formatTo: */
 	assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask()))));
 	assert(((2 >= 0) && (2 <= (formatMask()))));
@@ -30462,8 +30458,6 @@
 				}
 				longAtput((obj1 + BaseHeaderSize) + (0 << (shiftForWord())), clone2);
 				if ((byteAt(obj1 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj1 + 7, 1);
 				}
 				/* begin forward:to: */
@@ -30489,8 +30483,6 @@
 				}
 				longAtput((obj2 + BaseHeaderSize) + (0 << (shiftForWord())), clone1);
 				if ((byteAt(obj2 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj2 + 7, 1);
 				}
 				if (((isYoungObject(obj1)) != (isYoungObject(clone2)))
@@ -30611,8 +30603,6 @@
 				}
 				longAtput((obj11 + BaseHeaderSize) + (0 << (shiftForWord())), obj21);
 				if ((byteAt(obj11 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj11 + 7, 1);
 				}
 				if (copyHashFlag) {
@@ -33111,8 +33101,6 @@
 			if (firstOfFreeRun == 0) {
 				/* begin setObjectFree: */
 				if ((byteAt(objOop3 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(objOop3 + 7, 1);
 				}
 				/* begin setFree: */
@@ -34716,8 +34704,6 @@
 			here = here1;
 			/* begin setObjectFree: */
 			if ((byteAt(here + 7)) == 0) {
-				/* begin setRawNumSlotsOf:to: */
-				flag("endian");
 				byteAtput(here + 7, 1);
 			}
 			/* begin setFree: */
@@ -36710,8 +36696,6 @@
 				}
 				longAtput((objOop2 + BaseHeaderSize) + (0 << (shiftForWord())), oldClone);
 				if ((byteAt(objOop2 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(objOop2 + 7, 1);
 				}
 			}
@@ -36719,13 +36703,9 @@
 		objOop2 = objectAfterlimit(objOop2, segmentLimit);
 	}
 	if ((byteAt(segmentWordArray + 7)) == 0xFF) {
-		/* begin setOverflowNumSlotsOf:to: */
-		flag("endian");
-		long32Atput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop);
+		longAtput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop);
 	}
 	else {
-		/* begin setRawNumSlotsOf:to: */
-		flag("endian");
 		byteAtput(segmentWordArray + 7, 8 / BytesPerOop);
 	}
 	if ((checkForLeaks & 16) != 0) {
@@ -44879,8 +44859,6 @@
 		}
 		longAtput((objOop + BaseHeaderSize) + (0 << (shiftForWord())), oldClone);
 		if ((byteAt(objOop + 7)) == 0) {
-			/* begin setRawNumSlotsOf:to: */
-			flag("endian");
 			byteAtput(objOop + 7, 1);
 		}
 	}
@@ -59260,9 +59238,11 @@
 	if (((longAt(oop)) & 0x3FFFFF) == 0) {
 		print(" is a free chunk of size ");
 		printNum(sizeOfFree(oop));
+		print(" 0th: ");
+		printHex(longAt((oop + BaseHeaderSize) + (0 << (shiftForWord()))));
+
 		/* begin cr */
 		printf("\n");
-
 		return;
 	}
 	if (((longAt(oop)) & (0x3FFFFF - 8)) == 0) {


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Mon Dec 15 09:43:54 PST 2014
   + Mon Dec 15 12:41:47 PST 2014

Modified: branches/Cog/spursistasrc/vm/cointerp.c
===================================================================
--- branches/Cog/spursistasrc/vm/cointerp.c	2014-12-15 17:43:51 UTC (rev 3184)
+++ branches/Cog/spursistasrc/vm/cointerp.c	2014-12-15 20:44:57 UTC (rev 3185)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950
    from
-	CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
+	CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2344,7 +2344,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.980]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.986]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -5591,6 +5591,7 @@
 							GIV(framePointer) = localFP;
 							
 							ceEnterCogCodePopReceiverReg();
+							null;
 							goto l256;
 						}
 						localIP = pointerForOop(longAt(localFP + FoxIFSavedIP));
@@ -5608,7 +5609,7 @@
 					/* begin fetchNextBytecode */
 					currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-					/* return self */
+					null;
 				l256:	/* end baseFrameReturn */;
 					goto l255;
 				}
@@ -43474,9 +43475,7 @@
 		: freeChunk);
 	freeChunkWithBytesat((limit - start) - bytes, start + bytes);
 	GIV(totalFreeOldSpace) -= bytes;
-	/* begin setOverflowNumSlotsOf:to: */
-	flag("endian");
-	long32Atput(freeChunk - BaseHeaderSize, count);
+	longAtput(freeChunk - BaseHeaderSize, count);
 	/* begin set:classIndexTo:formatTo: */
 	assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask()))));
 	assert(((2 >= 0) && (2 <= (formatMask()))));
@@ -43664,9 +43663,7 @@
 		: freeChunk);
 	freeChunkWithBytesat((limit - start) - bytes, start + bytes);
 	GIV(totalFreeOldSpace) -= bytes;
-	/* begin setOverflowNumSlotsOf:to: */
-	flag("endian");
-	long32Atput(freeChunk - BaseHeaderSize, count);
+	longAtput(freeChunk - BaseHeaderSize, count);
 	/* begin set:classIndexTo:formatTo: */
 	assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask()))));
 	assert(((2 >= 0) && (2 <= (formatMask()))));
@@ -44689,8 +44686,6 @@
 				}
 				longAtput((obj1 + BaseHeaderSize) + (0 << (shiftForWord())), clone2);
 				if ((byteAt(obj1 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj1 + 7, 1);
 				}
 				/* begin forward:to: */
@@ -44716,8 +44711,6 @@
 				}
 				longAtput((obj2 + BaseHeaderSize) + (0 << (shiftForWord())), clone1);
 				if ((byteAt(obj2 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj2 + 7, 1);
 				}
 				if (((isYoungObject(obj1)) != (isYoungObject(clone2)))
@@ -44838,8 +44831,6 @@
 				}
 				longAtput((obj11 + BaseHeaderSize) + (0 << (shiftForWord())), obj21);
 				if ((byteAt(obj11 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj11 + 7, 1);
 				}
 				if (copyHashFlag) {
@@ -47302,8 +47293,6 @@
 			if (firstOfFreeRun == 0) {
 				/* begin setObjectFree: */
 				if ((byteAt(objOop3 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(objOop3 + 7, 1);
 				}
 				/* begin setFree: */
@@ -48896,8 +48885,6 @@
 			here = here1;
 			/* begin setObjectFree: */
 			if ((byteAt(here + 7)) == 0) {
-				/* begin setRawNumSlotsOf:to: */
-				flag("endian");
 				byteAtput(here + 7, 1);
 			}
 			/* begin setFree: */
@@ -50869,8 +50856,6 @@
 				}
 				longAtput((objOop2 + BaseHeaderSize) + (0 << (shiftForWord())), oldClone);
 				if ((byteAt(objOop2 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(objOop2 + 7, 1);
 				}
 			}
@@ -50878,13 +50863,9 @@
 		objOop2 = objectAfterlimit(objOop2, segmentLimit);
 	}
 	if ((byteAt(segmentWordArray + 7)) == 0xFF) {
-		/* begin setOverflowNumSlotsOf:to: */
-		flag("endian");
-		long32Atput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop);
+		longAtput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop);
 	}
 	else {
-		/* begin setRawNumSlotsOf:to: */
-		flag("endian");
 		byteAtput(segmentWordArray + 7, 8 / BytesPerOop);
 	}
 	if ((checkForLeaks & 16) != 0) {
@@ -59151,8 +59132,6 @@
 		}
 		longAtput((objOop + BaseHeaderSize) + (0 << (shiftForWord())), oldClone);
 		if ((byteAt(objOop + 7)) == 0) {
-			/* begin setRawNumSlotsOf:to: */
-			flag("endian");
 			byteAtput(objOop + 7, 1);
 		}
 	}
@@ -70783,9 +70762,11 @@
 	if (((longAt(oop)) & 0x3FFFFF) == 0) {
 		print(" is a free chunk of size ");
 		printNum(sizeOfFree(oop));
+		print(" 0th: ");
+		printHex(longAt((oop + BaseHeaderSize) + (0 << (shiftForWord()))));
+
 		/* begin cr */
 		printf("\n");
-
 		return;
 	}
 	if (((longAt(oop)) & (0x3FFFFF - 8)) == 0) {

Modified: branches/Cog/spursistasrc/vm/cointerp.h
===================================================================
--- branches/Cog/spursistasrc/vm/cointerp.h	2014-12-15 17:43:51 UTC (rev 3184)
+++ branches/Cog/spursistasrc/vm/cointerp.h	2014-12-15 20:44:57 UTC (rev 3185)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950
  */
 
 

Modified: branches/Cog/spursistasrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/spursistasrc/vm/gcc3x-cointerp.c	2014-12-15 17:43:51 UTC (rev 3184)
+++ branches/Cog/spursistasrc/vm/gcc3x-cointerp.c	2014-12-15 20:44:57 UTC (rev 3185)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950
    from
-	CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
+	CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2347,7 +2347,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.980]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.986]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -5600,6 +5600,7 @@
 							GIV(framePointer) = localFP;
 							
 							ceEnterCogCodePopReceiverReg();
+							null;
 							goto l256;
 						}
 						localIP = pointerForOop(longAt(localFP + FoxIFSavedIP));
@@ -5617,7 +5618,7 @@
 					/* begin fetchNextBytecode */
 					currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-					/* return self */
+					null;
 				l256:	/* end baseFrameReturn */;
 					goto l255;
 				}
@@ -43483,9 +43484,7 @@
 		: freeChunk);
 	freeChunkWithBytesat((limit - start) - bytes, start + bytes);
 	GIV(totalFreeOldSpace) -= bytes;
-	/* begin setOverflowNumSlotsOf:to: */
-	flag("endian");
-	long32Atput(freeChunk - BaseHeaderSize, count);
+	longAtput(freeChunk - BaseHeaderSize, count);
 	/* begin set:classIndexTo:formatTo: */
 	assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask()))));
 	assert(((2 >= 0) && (2 <= (formatMask()))));
@@ -43673,9 +43672,7 @@
 		: freeChunk);
 	freeChunkWithBytesat((limit - start) - bytes, start + bytes);
 	GIV(totalFreeOldSpace) -= bytes;
-	/* begin setOverflowNumSlotsOf:to: */
-	flag("endian");
-	long32Atput(freeChunk - BaseHeaderSize, count);
+	longAtput(freeChunk - BaseHeaderSize, count);
 	/* begin set:classIndexTo:formatTo: */
 	assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask()))));
 	assert(((2 >= 0) && (2 <= (formatMask()))));
@@ -44698,8 +44695,6 @@
 				}
 				longAtput((obj1 + BaseHeaderSize) + (0 << (shiftForWord())), clone2);
 				if ((byteAt(obj1 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj1 + 7, 1);
 				}
 				/* begin forward:to: */
@@ -44725,8 +44720,6 @@
 				}
 				longAtput((obj2 + BaseHeaderSize) + (0 << (shiftForWord())), clone1);
 				if ((byteAt(obj2 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj2 + 7, 1);
 				}
 				if (((isYoungObject(obj1)) != (isYoungObject(clone2)))
@@ -44847,8 +44840,6 @@
 				}
 				longAtput((obj11 + BaseHeaderSize) + (0 << (shiftForWord())), obj21);
 				if ((byteAt(obj11 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj11 + 7, 1);
 				}
 				if (copyHashFlag) {
@@ -47311,8 +47302,6 @@
 			if (firstOfFreeRun == 0) {
 				/* begin setObjectFree: */
 				if ((byteAt(objOop3 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(objOop3 + 7, 1);
 				}
 				/* begin setFree: */
@@ -48905,8 +48894,6 @@
 			here = here1;
 			/* begin setObjectFree: */
 			if ((byteAt(here + 7)) == 0) {
-				/* begin setRawNumSlotsOf:to: */
-				flag("endian");
 				byteAtput(here + 7, 1);
 			}
 			/* begin setFree: */
@@ -50878,8 +50865,6 @@
 				}
 				longAtput((objOop2 + BaseHeaderSize) + (0 << (shiftForWord())), oldClone);
 				if ((byteAt(objOop2 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(objOop2 + 7, 1);
 				}
 			}
@@ -50887,13 +50872,9 @@
 		objOop2 = objectAfterlimit(objOop2, segmentLimit);
 	}
 	if ((byteAt(segmentWordArray + 7)) == 0xFF) {
-		/* begin setOverflowNumSlotsOf:to: */
-		flag("endian");
-		long32Atput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop);
+		longAtput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop);
 	}
 	else {
-		/* begin setRawNumSlotsOf:to: */
-		flag("endian");
 		byteAtput(segmentWordArray + 7, 8 / BytesPerOop);
 	}
 	if ((checkForLeaks & 16) != 0) {
@@ -59160,8 +59141,6 @@
 		}
 		longAtput((objOop + BaseHeaderSize) + (0 << (shiftForWord())), oldClone);
 		if ((byteAt(objOop + 7)) == 0) {
-			/* begin setRawNumSlotsOf:to: */
-			flag("endian");
 			byteAtput(objOop + 7, 1);
 		}
 	}
@@ -70792,9 +70771,11 @@
 	if (((longAt(oop)) & 0x3FFFFF) == 0) {
 		print(" is a free chunk of size ");
 		printNum(sizeOfFree(oop));
+		print(" 0th: ");
+		printHex(longAt((oop + BaseHeaderSize) + (0 << (shiftForWord()))));
+
 		/* begin cr */
 		printf("\n");
-
 		return;
 	}
 	if (((longAt(oop)) & (0x3FFFFF - 8)) == 0) {

Modified: branches/Cog/spursrc/vm/cointerp.c
===================================================================
--- branches/Cog/spursrc/vm/cointerp.c	2014-12-15 17:43:51 UTC (rev 3184)
+++ branches/Cog/spursrc/vm/cointerp.c	2014-12-15 20:44:57 UTC (rev 3185)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950
    from
-	CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
+	CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2335,7 +2335,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.980]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.986]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -5474,7 +5474,6 @@
 							GIV(framePointer) = localFP;
 							
 							ceEnterCogCodePopReceiverReg();
-							null;
 							goto l129;
 						}
 						localIP = pointerForOop(longAt(localFP + FoxIFSavedIP));
@@ -5489,7 +5488,7 @@
 					/* begin fetchNextBytecode */
 					currentBytecode = byteAtPointer(++localIP);
 
-					null;
+					/* return self */
 				l129:	/* end baseFrameReturn */;
 					goto l128;
 				}
@@ -8673,7 +8672,7 @@
 			/* bytecodePrimBitShift */
 			{
 				sqInt integerArgument;
-				sqLong integerReceiver;
+				usqInt integerReceiver;
 				sqInt shifted;
 				char *sp;
 
@@ -8733,7 +8732,7 @@
 							null;
 							goto l75;
 						}
-						shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument);
+						shifted = ((usqInt) integerReceiver) >> (0 - integerArgument);
 					}
 					shifted = positive32BitIntegerFor(shifted);
 					/* begin pop:thenPush: */
@@ -24587,7 +24586,7 @@
 primitiveBitShift(void)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
     sqInt integerArgument;
-    sqLong integerReceiver;
+    usqInt integerReceiver;
     sqInt shifted;
     char *sp;
 
@@ -24634,7 +24633,7 @@
 				}
 				return;
 			}
-			shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument);
+			shifted = ((usqInt) integerReceiver) >> (0 - integerArgument);
 		}
 		shifted = positive32BitIntegerFor(shifted);
 		/* begin pop:thenPush: */
@@ -38380,9 +38379,7 @@
 		: freeChunk);
 	freeChunkWithBytesat((limit - start) - bytes, start + bytes);
 	GIV(totalFreeOldSpace) -= bytes;
-	/* begin setOverflowNumSlotsOf:to: */
-	flag("endian");
-	long32Atput(freeChunk - BaseHeaderSize, count);
+	longAtput(freeChunk - BaseHeaderSize, count);
 	/* begin set:classIndexTo:formatTo: */
 	assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask()))));
 	assert(((2 >= 0) && (2 <= (formatMask()))));
@@ -38570,9 +38567,7 @@
 		: freeChunk);
 	freeChunkWithBytesat((limit - start) - bytes, start + bytes);
 	GIV(totalFreeOldSpace) -= bytes;
-	/* begin setOverflowNumSlotsOf:to: */
-	flag("endian");
-	long32Atput(freeChunk - BaseHeaderSize, count);
+	longAtput(freeChunk - BaseHeaderSize, count);
 	/* begin set:classIndexTo:formatTo: */
 	assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask()))));
 	assert(((2 >= 0) && (2 <= (formatMask()))));
@@ -39595,8 +39590,6 @@
 				}
 				longAtput((obj1 + BaseHeaderSize) + (0 << (shiftForWord())), clone2);
 				if ((byteAt(obj1 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj1 + 7, 1);
 				}
 				/* begin forward:to: */
@@ -39622,8 +39615,6 @@
 				}
 				longAtput((obj2 + BaseHeaderSize) + (0 << (shiftForWord())), clone1);
 				if ((byteAt(obj2 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj2 + 7, 1);
 				}
 				if (((isYoungObject(obj1)) != (isYoungObject(clone2)))
@@ -39744,8 +39735,6 @@
 				}
 				longAtput((obj11 + BaseHeaderSize) + (0 << (shiftForWord())), obj21);
 				if ((byteAt(obj11 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj11 + 7, 1);
 				}
 				if (copyHashFlag) {
@@ -42208,8 +42197,6 @@
 			if (firstOfFreeRun == 0) {
 				/* begin setObjectFree: */
 				if ((byteAt(objOop3 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(objOop3 + 7, 1);
 				}
 				/* begin setFree: */
@@ -43795,8 +43782,6 @@
 			here = here1;
 			/* begin setObjectFree: */
 			if ((byteAt(here + 7)) == 0) {
-				/* begin setRawNumSlotsOf:to: */
-				flag("endian");
 				byteAtput(here + 7, 1);
 			}
 			/* begin setFree: */
@@ -45768,8 +45753,6 @@
 				}
 				longAtput((objOop2 + BaseHeaderSize) + (0 << (shiftForWord())), oldClone);
 				if ((byteAt(objOop2 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(objOop2 + 7, 1);
 				}
 			}
@@ -45777,13 +45760,9 @@
 		objOop2 = objectAfterlimit(objOop2, segmentLimit);
 	}
 	if ((byteAt(segmentWordArray + 7)) == 0xFF) {
-		/* begin setOverflowNumSlotsOf:to: */
-		flag("endian");
-		long32Atput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop);
+		longAtput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop);
 	}
 	else {
-		/* begin setRawNumSlotsOf:to: */
-		flag("endian");
 		byteAtput(segmentWordArray + 7, 8 / BytesPerOop);
 	}
 	if ((checkForLeaks & 16) != 0) {
@@ -54050,8 +54029,6 @@
 		}
 		longAtput((objOop + BaseHeaderSize) + (0 << (shiftForWord())), oldClone);
 		if ((byteAt(objOop + 7)) == 0) {
-			/* begin setRawNumSlotsOf:to: */
-			flag("endian");
 			byteAtput(objOop + 7, 1);
 		}
 	}
@@ -65668,9 +65645,11 @@
 	if (((longAt(oop)) & 0x3FFFFF) == 0) {
 		print(" is a free chunk of size ");
 		printNum(sizeOfFree(oop));
+		print(" 0th: ");
+		printHex(longAt((oop + BaseHeaderSize) + (0 << (shiftForWord()))));
+
 		/* begin cr */
 		printf("\n");
-
 		return;
 	}
 	if (((longAt(oop)) & (0x3FFFFF - 8)) == 0) {

Modified: branches/Cog/spursrc/vm/cointerp.h
===================================================================
--- branches/Cog/spursrc/vm/cointerp.h	2014-12-15 17:43:51 UTC (rev 3184)
+++ branches/Cog/spursrc/vm/cointerp.h	2014-12-15 20:44:57 UTC (rev 3185)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950
  */
 
 

Modified: branches/Cog/spursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/spursrc/vm/gcc3x-cointerp.c	2014-12-15 17:43:51 UTC (rev 3184)
+++ branches/Cog/spursrc/vm/gcc3x-cointerp.c	2014-12-15 20:44:57 UTC (rev 3185)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950
    from
-	CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
+	CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2338,7 +2338,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.980]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.986]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -5483,7 +5483,6 @@
 							GIV(framePointer) = localFP;
 							
 							ceEnterCogCodePopReceiverReg();
-							null;
 							goto l129;
 						}
 						localIP = pointerForOop(longAt(localFP + FoxIFSavedIP));
@@ -5498,7 +5497,7 @@
 					/* begin fetchNextBytecode */
 					currentBytecode = byteAtPointer(++localIP);
 
-					null;
+					/* return self */
 				l129:	/* end baseFrameReturn */;
 					goto l128;
 				}
@@ -8682,7 +8681,7 @@
 			/* bytecodePrimBitShift */
 			{
 				sqInt integerArgument;
-				sqLong integerReceiver;
+				usqInt integerReceiver;
 				sqInt shifted;
 				char *sp;
 
@@ -8742,7 +8741,7 @@
 							null;
 							goto l75;
 						}
-						shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument);
+						shifted = ((usqInt) integerReceiver) >> (0 - integerArgument);
 					}
 					shifted = positive32BitIntegerFor(shifted);
 					/* begin pop:thenPush: */
@@ -24596,7 +24595,7 @@
 primitiveBitShift(void)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
     sqInt integerArgument;
-    sqLong integerReceiver;
+    usqInt integerReceiver;
     sqInt shifted;
     char *sp;
 
@@ -24643,7 +24642,7 @@
 				}
 				return;
 			}
-			shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument);
+			shifted = ((usqInt) integerReceiver) >> (0 - integerArgument);
 		}
 		shifted = positive32BitIntegerFor(shifted);
 		/* begin pop:thenPush: */
@@ -38389,9 +38388,7 @@
 		: freeChunk);
 	freeChunkWithBytesat((limit - start) - bytes, start + bytes);
 	GIV(totalFreeOldSpace) -= bytes;
-	/* begin setOverflowNumSlotsOf:to: */
-	flag("endian");
-	long32Atput(freeChunk - BaseHeaderSize, count);
+	longAtput(freeChunk - BaseHeaderSize, count);
 	/* begin set:classIndexTo:formatTo: */
 	assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask()))));
 	assert(((2 >= 0) && (2 <= (formatMask()))));
@@ -38579,9 +38576,7 @@
 		: freeChunk);
 	freeChunkWithBytesat((limit - start) - bytes, start + bytes);
 	GIV(totalFreeOldSpace) -= bytes;
-	/* begin setOverflowNumSlotsOf:to: */
-	flag("endian");
-	long32Atput(freeChunk - BaseHeaderSize, count);
+	longAtput(freeChunk - BaseHeaderSize, count);
 	/* begin set:classIndexTo:formatTo: */
 	assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask()))));
 	assert(((2 >= 0) && (2 <= (formatMask()))));
@@ -39604,8 +39599,6 @@
 				}
 				longAtput((obj1 + BaseHeaderSize) + (0 << (shiftForWord())), clone2);
 				if ((byteAt(obj1 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj1 + 7, 1);
 				}
 				/* begin forward:to: */
@@ -39631,8 +39624,6 @@
 				}
 				longAtput((obj2 + BaseHeaderSize) + (0 << (shiftForWord())), clone1);
 				if ((byteAt(obj2 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj2 + 7, 1);
 				}
 				if (((isYoungObject(obj1)) != (isYoungObject(clone2)))
@@ -39753,8 +39744,6 @@
 				}
 				longAtput((obj11 + BaseHeaderSize) + (0 << (shiftForWord())), obj21);
 				if ((byteAt(obj11 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(obj11 + 7, 1);
 				}
 				if (copyHashFlag) {
@@ -42217,8 +42206,6 @@
 			if (firstOfFreeRun == 0) {
 				/* begin setObjectFree: */
 				if ((byteAt(objOop3 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(objOop3 + 7, 1);
 				}
 				/* begin setFree: */
@@ -43804,8 +43791,6 @@
 			here = here1;
 			/* begin setObjectFree: */
 			if ((byteAt(here + 7)) == 0) {
-				/* begin setRawNumSlotsOf:to: */
-				flag("endian");
 				byteAtput(here + 7, 1);
 			}
 			/* begin setFree: */
@@ -45777,8 +45762,6 @@
 				}
 				longAtput((objOop2 + BaseHeaderSize) + (0 << (shiftForWord())), oldClone);
 				if ((byteAt(objOop2 + 7)) == 0) {
-					/* begin setRawNumSlotsOf:to: */
-					flag("endian");
 					byteAtput(objOop2 + 7, 1);
 				}
 			}
@@ -45786,13 +45769,9 @@
 		objOop2 = objectAfterlimit(objOop2, segmentLimit);
 	}
 	if ((byteAt(segmentWordArray + 7)) == 0xFF) {
-		/* begin setOverflowNumSlotsOf:to: */
-		flag("endian");
-		long32Atput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop);
+		longAtput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop);
 	}
 	else {
-		/* begin setRawNumSlotsOf:to: */
-		flag("endian");
 		byteAtput(segmentWordArray + 7, 8 / BytesPerOop);
 	}
 	if ((checkForLeaks & 16) != 0) {
@@ -54059,8 +54038,6 @@
 		}
 		longAtput((objOop + BaseHeaderSize) + (0 << (shiftForWord())), oldClone);
 		if ((byteAt(objOop + 7)) == 0) {
-			/* begin setRawNumSlotsOf:to: */
-			flag("endian");
 			byteAtput(objOop + 7, 1);
 		}
 	}
@@ -65677,9 +65654,11 @@
 	if (((longAt(oop)) & 0x3FFFFF) == 0) {
 		print(" is a free chunk of size ");
 		printNum(sizeOfFree(oop));
+		print(" 0th: ");
+		printHex(longAt((oop + BaseHeaderSize) + (0 << (shiftForWord()))));
+
 		/* begin cr */
 		printf("\n");
-
 		return;
 	}
 	if (((longAt(oop)) & (0x3FFFFF - 8)) == 0) {

Modified: branches/Cog/spurstack64src/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/spurstack64src/vm/gcc3x-interp.c	2014-12-15 17:43:51 UTC (rev 3184)
+++ branches/Cog/spurstack64src/vm/gcc3x-interp.c	2014-12-15 20:44:57 UTC (rev 3185)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.984 uuid: 82523b67-016c-4327-b41e-658b54a99470
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950
    from
-	StackInterpreter VMMaker.oscog-eem.984 uuid: 82523b67-016c-4327-b41e-658b54a99470
+	StackInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.984 uuid: 82523b67-016c-4327-b41e-658b54a99470 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2116,7 +2116,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.984]";
+const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.986]";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -25182,9 +25182,10 @@
 		: freeChunk);
 	freeChunkWithBytesat((limit - start) - bytes, start + bytes);
 	GIV(totalFreeOldSpace) -= bytes;

@@ Diff output truncated at 50000 characters. @@


More information about the Vm-dev mailing list