[Vm-dev] [commit][3386] CogVM source as per VMMaker.oscog-eem.1370

commits at squeakvm.org commits at squeakvm.org
Sat Jun 20 22:42:15 UTC 2015


Revision: 3386
Author:   eliot
Date:     2015-06-20 15:42:13 -0700 (Sat, 20 Jun 2015)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.1370

Whoops!  isForwarded: is the api, not isObjectForwarded:, which is V3
compaction-related.

Modified Paths:
--------------
    branches/Cog/nsspursrc/vm/cogit.h
    branches/Cog/nsspursrc/vm/cointerp.c
    branches/Cog/nsspursrc/vm/cointerp.h
    branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
    branches/Cog/nsspurstack64src/vm/gcc3x-interp.c
    branches/Cog/nsspurstack64src/vm/interp.c
    branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
    branches/Cog/nsspurstacksrc/vm/interp.c
    branches/Cog/spursistasrc/vm/cogit.h
    branches/Cog/spursistasrc/vm/cointerp.c
    branches/Cog/spursistasrc/vm/cointerp.h
    branches/Cog/spursistasrc/vm/gcc3x-cointerp.c
    branches/Cog/spursrc/vm/cogit.h
    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
    branches/Cog/src/vm/cogit.h
    branches/Cog/src/vm/cointerp.c
    branches/Cog/src/vm/cointerp.h
    branches/Cog/src/vm/cointerpmt.c
    branches/Cog/src/vm/cointerpmt.h
    branches/Cog/src/vm/gcc3x-cointerp.c
    branches/Cog/src/vm/gcc3x-cointerpmt.c
    branches/Cog/stacksrc/vm/gcc3x-interp.c
    branches/Cog/stacksrc/vm/interp.c

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

Modified: branches/Cog/nsspursrc/vm/cogit.h
===================================================================
--- branches/Cog/nsspursrc/vm/cogit.h	2015-06-20 19:52:45 UTC (rev 3385)
+++ branches/Cog/nsspursrc/vm/cogit.h	2015-06-20 22:42:13 UTC (rev 3386)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CCodeGenerator VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
  */
 
 

Modified: branches/Cog/nsspursrc/vm/cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.c	2015-06-20 19:52:45 UTC (rev 3385)
+++ branches/Cog/nsspursrc/vm/cointerp.c	2015-06-20 22:42:13 UTC (rev 3386)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
    from
-	CoInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CoInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2376,7 +2376,7 @@
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1369";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1370";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -18113,7 +18113,7 @@
 static sqInt
 checkForAndFollowForwardedPrimitiveState(void)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
-    signed char accessorDepth;
+    sqInt accessorDepth;
     sqInt firstBytecode;
     sqInt found;
     sqInt found1;
@@ -30550,7 +30550,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -30761,7 +30761,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -32046,7 +32046,7 @@
     usqInt newObj;
     usqInt numBytes;
     sqInt numSlots;
-    usqInt s;
+    sqInt s;
     char *sp;
     sqInt sz;
 
@@ -36126,7 +36126,7 @@
 	thisReceiver = longAt(GIV(stackPointer));
 	if (((thisReceiver & 3) != 0)
 	 || ((GIV(argumentCount) > 0)
-	 && (isObjectForwarded(thisReceiver)))) {
+	 && (((longAt(thisReceiver)) & (0x3FFFFF - 8)) == 0))) {
 		/* begin primitiveFail */
 		if (!GIV(primFailCode)) {
 			GIV(primFailCode) = 1;
@@ -37752,7 +37752,7 @@
     sqInt err;
     sqInt hash;
     sqInt instSpec;
-    usqInt newObj;
+    sqInt newObj;
     usqInt newObj1;
     usqInt numBytes;
     sqInt numSlots;
@@ -37877,7 +37877,7 @@
     sqInt i;
     usqInt instSpec;
     sqInt literalCount;
-    usqInt newObj;
+    sqInt newObj;
     usqInt newObj1;
     usqInt numBytes;
     sqInt numSlots;
@@ -40968,7 +40968,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -41188,7 +41188,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -43807,7 +43807,7 @@
     sqInt fillValue;
     sqInt hash;
     usqInt instSpec;
-    usqInt newObj;
+    sqInt newObj;
     usqInt newObj1;
     usqInt numBytes;
     usqInt numSlots;
@@ -45939,7 +45939,7 @@
     sqInt entry;
     sqInt expectedIndex;
     sqInt expectedIndex1;
-    usqInt freeChunk;
+    sqInt freeChunk;
     sqInt i;
     sqInt i1;
     sqInt index;
@@ -45978,8 +45978,8 @@
     sqInt ptr1;
     sqInt ptr2;
     sqInt slotBytes;
-    usqInt smallObj;
-    usqInt start;
+    sqInt smallObj;
+    sqInt start;
 
 	classIndex = (long32At(aClass + 4)) & 0x3FFFFF;
 	if (classIndex == 0) {
@@ -48937,7 +48937,7 @@
     sqInt fmt;
     sqInt hasYoung;
     sqInt i;
-    usqInt newObj;
+    sqInt newObj;
     usqInt newObj1;
     usqInt numBytes;
     usqInt numSlots;
@@ -60240,7 +60240,7 @@
     usqInt prevFree;
     usqInt prevFreeChunk;
     usqInt prevPrevFree;
-    usqInt prevPrevFreeChunk;
+    sqInt prevPrevFreeChunk;
     sqInt slotBytes;
     sqInt slotBytes1;
     usqInt there;
@@ -63582,8 +63582,8 @@
     sqInt prevPrevObj;
     sqInt prevPrevObj1;
     sqInt ptr;
-    usqInt savedInHashes;
-    usqInt savedOutHashes;
+    sqInt savedInHashes;
+    sqInt savedOutHashes;
     sqInt segAddr;
     sqInt segStart;
     sqInt slotBytes;
@@ -64059,7 +64059,7 @@
     sqInt formatField;
     sqInt len;
     usqInt newObj;
-    usqInt newString;
+    sqInt newString;
     usqInt numBytes;
     sqInt numSlots;
 
@@ -77668,7 +77668,7 @@
 		}
 		else {
 			if ((GIV(argumentCount) == 0)
-			 || (!(isObjectForwarded(rcvr)))) {
+			 || (!(((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 				newCopy = clone(rcvr);
 			}
 			else {

Modified: branches/Cog/nsspursrc/vm/cointerp.h
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.h	2015-06-20 19:52:45 UTC (rev 3385)
+++ branches/Cog/nsspursrc/vm/cointerp.h	2015-06-20 22:42:13 UTC (rev 3386)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
  */
 
 

Modified: branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2015-06-20 19:52:45 UTC (rev 3385)
+++ branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2015-06-20 22:42:13 UTC (rev 3386)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
    from
-	CoInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CoInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2379,7 +2379,7 @@
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1369";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1370";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -18122,7 +18122,7 @@
 static sqInt
 checkForAndFollowForwardedPrimitiveState(void)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
-    signed char accessorDepth;
+    sqInt accessorDepth;
     sqInt firstBytecode;
     sqInt found;
     sqInt found1;
@@ -30559,7 +30559,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -30770,7 +30770,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -32055,7 +32055,7 @@
     usqInt newObj;
     usqInt numBytes;
     sqInt numSlots;
-    usqInt s;
+    sqInt s;
     char *sp;
     sqInt sz;
 
@@ -36135,7 +36135,7 @@
 	thisReceiver = longAt(GIV(stackPointer));
 	if (((thisReceiver & 3) != 0)
 	 || ((GIV(argumentCount) > 0)
-	 && (isObjectForwarded(thisReceiver)))) {
+	 && (((longAt(thisReceiver)) & (0x3FFFFF - 8)) == 0))) {
 		/* begin primitiveFail */
 		if (!GIV(primFailCode)) {
 			GIV(primFailCode) = 1;
@@ -37761,7 +37761,7 @@
     sqInt err;
     sqInt hash;
     sqInt instSpec;
-    usqInt newObj;
+    sqInt newObj;
     usqInt newObj1;
     usqInt numBytes;
     sqInt numSlots;
@@ -37886,7 +37886,7 @@
     sqInt i;
     usqInt instSpec;
     sqInt literalCount;
-    usqInt newObj;
+    sqInt newObj;
     usqInt newObj1;
     usqInt numBytes;
     sqInt numSlots;
@@ -40977,7 +40977,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -41197,7 +41197,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -43816,7 +43816,7 @@
     sqInt fillValue;
     sqInt hash;
     usqInt instSpec;
-    usqInt newObj;
+    sqInt newObj;
     usqInt newObj1;
     usqInt numBytes;
     usqInt numSlots;
@@ -45948,7 +45948,7 @@
     sqInt entry;
     sqInt expectedIndex;
     sqInt expectedIndex1;
-    usqInt freeChunk;
+    sqInt freeChunk;
     sqInt i;
     sqInt i1;
     sqInt index;
@@ -45987,8 +45987,8 @@
     sqInt ptr1;
     sqInt ptr2;
     sqInt slotBytes;
-    usqInt smallObj;
-    usqInt start;
+    sqInt smallObj;
+    sqInt start;
 
 	classIndex = (long32At(aClass + 4)) & 0x3FFFFF;
 	if (classIndex == 0) {
@@ -48946,7 +48946,7 @@
     sqInt fmt;
     sqInt hasYoung;
     sqInt i;
-    usqInt newObj;
+    sqInt newObj;
     usqInt newObj1;
     usqInt numBytes;
     usqInt numSlots;
@@ -60249,7 +60249,7 @@
     usqInt prevFree;
     usqInt prevFreeChunk;
     usqInt prevPrevFree;
-    usqInt prevPrevFreeChunk;
+    sqInt prevPrevFreeChunk;
     sqInt slotBytes;
     sqInt slotBytes1;
     usqInt there;
@@ -63591,8 +63591,8 @@
     sqInt prevPrevObj;
     sqInt prevPrevObj1;
     sqInt ptr;
-    usqInt savedInHashes;
-    usqInt savedOutHashes;
+    sqInt savedInHashes;
+    sqInt savedOutHashes;
     sqInt segAddr;
     sqInt segStart;
     sqInt slotBytes;
@@ -64068,7 +64068,7 @@
     sqInt formatField;
     sqInt len;
     usqInt newObj;
-    usqInt newString;
+    sqInt newString;
     usqInt numBytes;
     sqInt numSlots;
 
@@ -77677,7 +77677,7 @@
 		}
 		else {
 			if ((GIV(argumentCount) == 0)
-			 || (!(isObjectForwarded(rcvr)))) {
+			 || (!(((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 				newCopy = clone(rcvr);
 			}
 			else {

Modified: branches/Cog/nsspurstack64src/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/nsspurstack64src/vm/gcc3x-interp.c	2015-06-20 19:52:45 UTC (rev 3385)
+++ branches/Cog/nsspurstack64src/vm/gcc3x-interp.c	2015-06-20 22:42:13 UTC (rev 3386)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
    from
-	StackInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	StackInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2146,7 +2146,7 @@
 	/* 575 */ (void (*)(void))0,
  0 };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1369";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1370";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -15940,7 +15940,7 @@
 	}
 	if (((index & 7) != 1)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -16104,7 +16104,7 @@
 	}
 	if (((index & 7) != 1)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -21040,7 +21040,7 @@
 	thisReceiver = longAt(GIV(stackPointer));
 	if (((thisReceiver & 7) != 0)
 	 || ((GIV(argumentCount) > 0)
-	 && (isObjectForwarded(thisReceiver)))) {
+	 && (((longAt(thisReceiver)) & (0x3FFFFF - 8)) == 0))) {
 		/* begin primitiveFail */
 		if (!GIV(primFailCode)) {
 			GIV(primFailCode) = 1;
@@ -27431,7 +27431,7 @@
 	}
 	if (((index & 7) != 1)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -27604,7 +27604,7 @@
 	}
 	if (((index & 7) != 1)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -70971,7 +70971,7 @@
 		}
 		else {
 			if ((GIV(argumentCount) == 0)
-			 || (!(isObjectForwarded(rcvr)))) {
+			 || (!(((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 				newCopy = clone(rcvr);
 			}
 			else {

Modified: branches/Cog/nsspurstack64src/vm/interp.c
===================================================================
--- branches/Cog/nsspurstack64src/vm/interp.c	2015-06-20 19:52:45 UTC (rev 3385)
+++ branches/Cog/nsspurstack64src/vm/interp.c	2015-06-20 22:42:13 UTC (rev 3386)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
    from
-	StackInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	StackInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2143,7 +2143,7 @@
 	/* 575 */ (void (*)(void))0,
  0 };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1369";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1370";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -15931,7 +15931,7 @@
 	}
 	if (((index & 7) != 1)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -16095,7 +16095,7 @@
 	}
 	if (((index & 7) != 1)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -21031,7 +21031,7 @@
 	thisReceiver = longAt(GIV(stackPointer));
 	if (((thisReceiver & 7) != 0)
 	 || ((GIV(argumentCount) > 0)
-	 && (isObjectForwarded(thisReceiver)))) {
+	 && (((longAt(thisReceiver)) & (0x3FFFFF - 8)) == 0))) {
 		/* begin primitiveFail */
 		if (!GIV(primFailCode)) {
 			GIV(primFailCode) = 1;
@@ -27422,7 +27422,7 @@
 	}
 	if (((index & 7) != 1)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -27595,7 +27595,7 @@
 	}
 	if (((index & 7) != 1)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -70962,7 +70962,7 @@
 		}
 		else {
 			if ((GIV(argumentCount) == 0)
-			 || (!(isObjectForwarded(rcvr)))) {
+			 || (!(((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 				newCopy = clone(rcvr);
 			}
 			else {

Modified: branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2015-06-20 19:52:45 UTC (rev 3385)
+++ branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2015-06-20 22:42:13 UTC (rev 3386)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
    from
-	StackInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	StackInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2117,7 +2117,7 @@
 	/* 575 */ (void (*)(void))0,
  0 };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1369";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1370";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -15319,7 +15319,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -15530,7 +15530,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -20559,7 +20559,7 @@
 	thisReceiver = longAt(GIV(stackPointer));
 	if (((thisReceiver & 3) != 0)
 	 || ((GIV(argumentCount) > 0)
-	 && (isObjectForwarded(thisReceiver)))) {
+	 && (((longAt(thisReceiver)) & (0x3FFFFF - 8)) == 0))) {
 		/* begin primitiveFail */
 		if (!GIV(primFailCode)) {
 			GIV(primFailCode) = 1;
@@ -25966,7 +25966,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -26186,7 +26186,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -66757,7 +66757,7 @@
 		}
 		else {
 			if ((GIV(argumentCount) == 0)
-			 || (!(isObjectForwarded(rcvr)))) {
+			 || (!(((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 				newCopy = clone(rcvr);
 			}
 			else {

Modified: branches/Cog/nsspurstacksrc/vm/interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/interp.c	2015-06-20 19:52:45 UTC (rev 3385)
+++ branches/Cog/nsspurstacksrc/vm/interp.c	2015-06-20 22:42:13 UTC (rev 3386)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
    from
-	StackInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	StackInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2114,7 +2114,7 @@
 	/* 575 */ (void (*)(void))0,
  0 };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1369";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1370";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -15310,7 +15310,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -15521,7 +15521,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -20550,7 +20550,7 @@
 	thisReceiver = longAt(GIV(stackPointer));
 	if (((thisReceiver & 3) != 0)
 	 || ((GIV(argumentCount) > 0)
-	 && (isObjectForwarded(thisReceiver)))) {
+	 && (((longAt(thisReceiver)) & (0x3FFFFF - 8)) == 0))) {
 		/* begin primitiveFail */
 		if (!GIV(primFailCode)) {
 			GIV(primFailCode) = 1;
@@ -25957,7 +25957,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -26177,7 +26177,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -66748,7 +66748,7 @@
 		}
 		else {
 			if ((GIV(argumentCount) == 0)
-			 || (!(isObjectForwarded(rcvr)))) {
+			 || (!(((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 				newCopy = clone(rcvr);
 			}
 			else {


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Sat Jun 20 12:51:42 PDT 2015
   + Sat Jun 20 15:41:38 PDT 2015

Modified: branches/Cog/spursistasrc/vm/cogit.h
===================================================================
--- branches/Cog/spursistasrc/vm/cogit.h	2015-06-20 19:52:45 UTC (rev 3385)
+++ branches/Cog/spursistasrc/vm/cogit.h	2015-06-20 22:42:13 UTC (rev 3386)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CCodeGenerator VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
  */
 
 

Modified: branches/Cog/spursistasrc/vm/cointerp.c
===================================================================
--- branches/Cog/spursistasrc/vm/cointerp.c	2015-06-20 19:52:45 UTC (rev 3385)
+++ branches/Cog/spursistasrc/vm/cointerp.c	2015-06-20 22:42:13 UTC (rev 3386)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
    from
-	CoInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CoInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2373,7 +2373,7 @@
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Croquet Closure Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-eem.1369]";
+const char *interpreterVersion = "Croquet Closure Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-eem.1370]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -17016,7 +17016,7 @@
 static sqInt
 checkForAndFollowForwardedPrimitiveState(void)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
-    sqInt accessorDepth;
+    signed char accessorDepth;
     sqInt firstBytecode;
     sqInt found;
     sqInt found1;
@@ -29264,7 +29264,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -29475,7 +29475,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -30753,7 +30753,7 @@
     usqInt newObj;
     usqInt numBytes;
     sqInt numSlots;
-    sqInt s;
+    usqInt s;
     char *sp;
     sqInt sz;
 
@@ -30802,7 +30802,7 @@
 				GIV(needGCFlag) = 1;
 				forceInterruptCheck();
 			}
-			s = ((usqInt) (allocateSlotsInOldSpacebytesformatclassIndex(numSlots, numBytes, formatField, ClassByteStringCompactIndex)));
+			s = allocateSlotsInOldSpacebytesformatclassIndex(numSlots, numBytes, formatField, ClassByteStringCompactIndex);
 			goto l1;
 		}
 		if (numSlots >= 0xFF) {
@@ -34833,7 +34833,7 @@
 	thisReceiver = longAt(GIV(stackPointer));
 	if (((thisReceiver & 3) != 0)
 	 || ((GIV(argumentCount) > 0)
-	 && (isObjectForwarded(thisReceiver)))) {
+	 && (((longAt(thisReceiver)) & (0x3FFFFF - 8)) == 0))) {
 		/* begin primitiveFail */
 		if (!GIV(primFailCode)) {
 			GIV(primFailCode) = 1;
@@ -39650,7 +39650,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -39870,7 +39870,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -44661,7 +44661,7 @@
     sqInt ptr2;
     sqInt slotBytes;
     usqInt smallObj;
-    usqInt start;
+    sqInt start;
 
 	classIndex = (long32At(aClass + 4)) & 0x3FFFFF;
 	if (classIndex == 0) {
@@ -58930,7 +58930,7 @@
     usqInt prevFree;
     usqInt prevFreeChunk;
     usqInt prevPrevFree;
-    usqInt prevPrevFreeChunk;
+    sqInt prevPrevFreeChunk;
     sqInt slotBytes;
     sqInt slotBytes1;
     usqInt there;
@@ -63469,7 +63469,7 @@
 bridgeFromto(SpurSegmentInfo *aSegment, SpurSegmentInfo *nextSegmentOrNil)
 {
     usqInt bridgeSpan;
-    usqInt clifton;
+    sqInt clifton;
     usqInt segEnd;
 
 	segEnd = ((aSegment->segSize)) + ((aSegment->segStart));
@@ -76310,7 +76310,7 @@
 		}
 		else {
 			if ((GIV(argumentCount) == 0)
-			 || (!(isObjectForwarded(rcvr)))) {
+			 || (!(((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 				newCopy = clone(rcvr);
 			}
 			else {

Modified: branches/Cog/spursistasrc/vm/cointerp.h
===================================================================
--- branches/Cog/spursistasrc/vm/cointerp.h	2015-06-20 19:52:45 UTC (rev 3385)
+++ branches/Cog/spursistasrc/vm/cointerp.h	2015-06-20 22:42:13 UTC (rev 3386)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
  */
 
 

Modified: branches/Cog/spursistasrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/spursistasrc/vm/gcc3x-cointerp.c	2015-06-20 19:52:45 UTC (rev 3385)
+++ branches/Cog/spursistasrc/vm/gcc3x-cointerp.c	2015-06-20 22:42:13 UTC (rev 3386)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
    from
-	CoInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CoInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2376,7 +2376,7 @@
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Croquet Closure Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-eem.1369]";
+const char *interpreterVersion = "Croquet Closure Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-eem.1370]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -17025,7 +17025,7 @@
 static sqInt
 checkForAndFollowForwardedPrimitiveState(void)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
-    sqInt accessorDepth;
+    signed char accessorDepth;
     sqInt firstBytecode;
     sqInt found;
     sqInt found1;
@@ -29273,7 +29273,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -29484,7 +29484,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -30762,7 +30762,7 @@
     usqInt newObj;
     usqInt numBytes;
     sqInt numSlots;
-    sqInt s;
+    usqInt s;
     char *sp;
     sqInt sz;
 
@@ -30811,7 +30811,7 @@
 				GIV(needGCFlag) = 1;
 				forceInterruptCheck();
 			}
-			s = ((usqInt) (allocateSlotsInOldSpacebytesformatclassIndex(numSlots, numBytes, formatField, ClassByteStringCompactIndex)));
+			s = allocateSlotsInOldSpacebytesformatclassIndex(numSlots, numBytes, formatField, ClassByteStringCompactIndex);
 			goto l1;
 		}
 		if (numSlots >= 0xFF) {
@@ -34842,7 +34842,7 @@
 	thisReceiver = longAt(GIV(stackPointer));
 	if (((thisReceiver & 3) != 0)
 	 || ((GIV(argumentCount) > 0)
-	 && (isObjectForwarded(thisReceiver)))) {
+	 && (((longAt(thisReceiver)) & (0x3FFFFF - 8)) == 0))) {
 		/* begin primitiveFail */
 		if (!GIV(primFailCode)) {
 			GIV(primFailCode) = 1;
@@ -39659,7 +39659,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -39879,7 +39879,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -44670,7 +44670,7 @@
     sqInt ptr2;
     sqInt slotBytes;
     usqInt smallObj;
-    usqInt start;
+    sqInt start;
 
 	classIndex = (long32At(aClass + 4)) & 0x3FFFFF;
 	if (classIndex == 0) {
@@ -58939,7 +58939,7 @@
     usqInt prevFree;
     usqInt prevFreeChunk;
     usqInt prevPrevFree;
-    usqInt prevPrevFreeChunk;
+    sqInt prevPrevFreeChunk;
     sqInt slotBytes;
     sqInt slotBytes1;
     usqInt there;
@@ -63478,7 +63478,7 @@
 bridgeFromto(SpurSegmentInfo *aSegment, SpurSegmentInfo *nextSegmentOrNil)
 {
     usqInt bridgeSpan;
-    usqInt clifton;
+    sqInt clifton;
     usqInt segEnd;
 
 	segEnd = ((aSegment->segSize)) + ((aSegment->segStart));
@@ -76319,7 +76319,7 @@
 		}
 		else {
 			if ((GIV(argumentCount) == 0)
-			 || (!(isObjectForwarded(rcvr)))) {
+			 || (!(((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 				newCopy = clone(rcvr);
 			}
 			else {

Modified: branches/Cog/spursrc/vm/cogit.h
===================================================================
--- branches/Cog/spursrc/vm/cogit.h	2015-06-20 19:52:45 UTC (rev 3385)
+++ branches/Cog/spursrc/vm/cogit.h	2015-06-20 22:42:13 UTC (rev 3386)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CCodeGenerator VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
  */
 
 

Modified: branches/Cog/spursrc/vm/cointerp.c
===================================================================
--- branches/Cog/spursrc/vm/cointerp.c	2015-06-20 19:52:45 UTC (rev 3385)
+++ branches/Cog/spursrc/vm/cointerp.c	2015-06-20 22:42:13 UTC (rev 3386)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
    from
-	CoInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CoInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2360,7 +2360,7 @@
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Croquet Closure Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-eem.1369]";
+const char *interpreterVersion = "Croquet Closure Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-eem.1370]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -12041,7 +12041,7 @@
 static sqInt
 checkForAndFollowForwardedPrimitiveState(void)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
-    sqInt accessorDepth;
+    signed char accessorDepth;
     sqInt firstBytecode;
     sqInt found;
     sqInt found1;
@@ -24211,7 +24211,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -24422,7 +24422,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -25700,7 +25700,7 @@
     usqInt newObj;
     usqInt numBytes;
     sqInt numSlots;
-    sqInt s;
+    usqInt s;
     char *sp;
     sqInt sz;
 
@@ -25749,7 +25749,7 @@
 				GIV(needGCFlag) = 1;
 				forceInterruptCheck();
 			}
-			s = ((usqInt) (allocateSlotsInOldSpacebytesformatclassIndex(numSlots, numBytes, formatField, ClassByteStringCompactIndex)));
+			s = allocateSlotsInOldSpacebytesformatclassIndex(numSlots, numBytes, formatField, ClassByteStringCompactIndex);
 			goto l1;
 		}
 		if (numSlots >= 0xFF) {
@@ -29771,7 +29771,7 @@
 	thisReceiver = longAt(GIV(stackPointer));
 	if (((thisReceiver & 3) != 0)
 	 || ((GIV(argumentCount) > 0)
-	 && (isObjectForwarded(thisReceiver)))) {
+	 && (((longAt(thisReceiver)) & (0x3FFFFF - 8)) == 0))) {
 		/* begin primitiveFail */
 		if (!GIV(primFailCode)) {
 			GIV(primFailCode) = 1;
@@ -34588,7 +34588,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -34808,7 +34808,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -39559,7 +39559,7 @@
     sqInt entry;
     sqInt expectedIndex;
     sqInt expectedIndex1;
-    sqInt freeChunk;
+    usqInt freeChunk;
     sqInt i;
     sqInt i1;
     sqInt index;
@@ -39613,7 +39613,7 @@
 				GIV(needGCFlag) = 1;
 				forceInterruptCheck();
 			}
-			freeChunk = ((usqInt) (allocateSlotsInOldSpacebytesformatclassIndex(0, numBytes, 2, ClassArrayCompactIndex)));
+			freeChunk = allocateSlotsInOldSpacebytesformatclassIndex(0, numBytes, 2, ClassArrayCompactIndex);
 			goto l1;
 		}
 		long64Atput(newObj, (((((usqLong) 0)) << 56) + (2 << 24)) + ClassArrayCompactIndex);
@@ -53860,7 +53860,7 @@
     usqInt prevFree;
     usqInt prevFreeChunk;
     usqInt prevPrevFree;
-    usqInt prevPrevFreeChunk;
+    sqInt prevPrevFreeChunk;
     sqInt slotBytes;
     sqInt slotBytes1;
     usqInt there;
@@ -58373,7 +58373,7 @@
 bridgeFromto(SpurSegmentInfo *aSegment, SpurSegmentInfo *nextSegmentOrNil)
 {
     usqInt bridgeSpan;
-    sqInt clifton;
+    usqInt clifton;
     usqInt segEnd;
 
 	segEnd = ((aSegment->segSize)) + ((aSegment->segStart));
@@ -58614,7 +58614,7 @@
     sqInt largeChild;
     sqInt newEndOfMemory;
     sqInt next;
-    sqInt node;
+    usqInt node;
     SpurSegmentInfo *seg;
     sqInt smallChild;
     sqInt treeNode;
@@ -58718,7 +58718,7 @@
 static sqInt
 readHeapFromImageFiledataBytes(sqImageFile f, sqInt numBytes)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
-    usqInt bridge;
+    sqInt bridge;
     usqInt bridgehead;
     usqInt bridgeSpan;
     sqInt bytesRead;
@@ -71179,7 +71179,7 @@
 		}
 		else {
 			if ((GIV(argumentCount) == 0)
-			 || (!(isObjectForwarded(rcvr)))) {
+			 || (!(((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 				newCopy = clone(rcvr);
 			}
 			else {

Modified: branches/Cog/spursrc/vm/cointerp.h
===================================================================
--- branches/Cog/spursrc/vm/cointerp.h	2015-06-20 19:52:45 UTC (rev 3385)
+++ branches/Cog/spursrc/vm/cointerp.h	2015-06-20 22:42:13 UTC (rev 3386)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
  */
 
 

Modified: branches/Cog/spursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/spursrc/vm/gcc3x-cointerp.c	2015-06-20 19:52:45 UTC (rev 3385)
+++ branches/Cog/spursrc/vm/gcc3x-cointerp.c	2015-06-20 22:42:13 UTC (rev 3386)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
    from
-	CoInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CoInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2363,7 +2363,7 @@
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Croquet Closure Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-eem.1369]";
+const char *interpreterVersion = "Croquet Closure Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-eem.1370]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -12050,7 +12050,7 @@
 static sqInt
 checkForAndFollowForwardedPrimitiveState(void)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
-    sqInt accessorDepth;
+    signed char accessorDepth;
     sqInt firstBytecode;
     sqInt found;
     sqInt found1;
@@ -24220,7 +24220,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -24431,7 +24431,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -25709,7 +25709,7 @@
     usqInt newObj;
     usqInt numBytes;
     sqInt numSlots;
-    sqInt s;
+    usqInt s;
     char *sp;
     sqInt sz;
 
@@ -25758,7 +25758,7 @@
 				GIV(needGCFlag) = 1;
 				forceInterruptCheck();
 			}
-			s = ((usqInt) (allocateSlotsInOldSpacebytesformatclassIndex(numSlots, numBytes, formatField, ClassByteStringCompactIndex)));
+			s = allocateSlotsInOldSpacebytesformatclassIndex(numSlots, numBytes, formatField, ClassByteStringCompactIndex);
 			goto l1;
 		}
 		if (numSlots >= 0xFF) {
@@ -29780,7 +29780,7 @@
 	thisReceiver = longAt(GIV(stackPointer));
 	if (((thisReceiver & 3) != 0)
 	 || ((GIV(argumentCount) > 0)
-	 && (isObjectForwarded(thisReceiver)))) {
+	 && (((longAt(thisReceiver)) & (0x3FFFFF - 8)) == 0))) {
 		/* begin primitiveFail */
 		if (!GIV(primFailCode)) {
 			GIV(primFailCode) = 1;
@@ -34597,7 +34597,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -34817,7 +34817,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -39568,7 +39568,7 @@
     sqInt entry;
     sqInt expectedIndex;
     sqInt expectedIndex1;
-    sqInt freeChunk;
+    usqInt freeChunk;
     sqInt i;
     sqInt i1;
     sqInt index;
@@ -39622,7 +39622,7 @@
 				GIV(needGCFlag) = 1;
 				forceInterruptCheck();
 			}
-			freeChunk = ((usqInt) (allocateSlotsInOldSpacebytesformatclassIndex(0, numBytes, 2, ClassArrayCompactIndex)));
+			freeChunk = allocateSlotsInOldSpacebytesformatclassIndex(0, numBytes, 2, ClassArrayCompactIndex);
 			goto l1;
 		}
 		long64Atput(newObj, (((((usqLong) 0)) << 56) + (2 << 24)) + ClassArrayCompactIndex);
@@ -53869,7 +53869,7 @@
     usqInt prevFree;
     usqInt prevFreeChunk;
     usqInt prevPrevFree;
-    usqInt prevPrevFreeChunk;
+    sqInt prevPrevFreeChunk;
     sqInt slotBytes;
     sqInt slotBytes1;
     usqInt there;
@@ -58382,7 +58382,7 @@
 bridgeFromto(SpurSegmentInfo *aSegment, SpurSegmentInfo *nextSegmentOrNil)
 {
     usqInt bridgeSpan;
-    sqInt clifton;
+    usqInt clifton;
     usqInt segEnd;
 
 	segEnd = ((aSegment->segSize)) + ((aSegment->segStart));
@@ -58623,7 +58623,7 @@
     sqInt largeChild;
     sqInt newEndOfMemory;
     sqInt next;
-    sqInt node;
+    usqInt node;
     SpurSegmentInfo *seg;
     sqInt smallChild;
     sqInt treeNode;
@@ -58727,7 +58727,7 @@
 static sqInt
 readHeapFromImageFiledataBytes(sqImageFile f, sqInt numBytes)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
-    usqInt bridge;
+    sqInt bridge;
     usqInt bridgehead;
     usqInt bridgeSpan;
     sqInt bytesRead;
@@ -71188,7 +71188,7 @@
 		}
 		else {
 			if ((GIV(argumentCount) == 0)
-			 || (!(isObjectForwarded(rcvr)))) {
+			 || (!(((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 				newCopy = clone(rcvr);
 			}
 			else {

Modified: branches/Cog/spurstack64src/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/spurstack64src/vm/gcc3x-interp.c	2015-06-20 19:52:45 UTC (rev 3385)
+++ branches/Cog/spurstack64src/vm/gcc3x-interp.c	2015-06-20 22:42:13 UTC (rev 3386)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
    from
-	StackInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	StackInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2136,7 +2136,7 @@
 	/* 575 */ (void (*)(void))0,
  0 };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.1369]";
+const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.1370]";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -10556,7 +10556,7 @@
 	}
 	if (((index & 7) != 1)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -10720,7 +10720,7 @@
 	}
 	if (((index & 7) != 1)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -15640,7 +15640,7 @@
 	thisReceiver = longAt(GIV(stackPointer));
 	if (((thisReceiver & 7) != 0)
 	 || ((GIV(argumentCount) > 0)
-	 && (isObjectForwarded(thisReceiver)))) {
+	 && (((longAt(thisReceiver)) & (0x3FFFFF - 8)) == 0))) {
 		/* begin primitiveFail */
 		if (!GIV(primFailCode)) {
 			GIV(primFailCode) = 1;
@@ -21991,7 +21991,7 @@
 	}
 	if (((index & 7) != 1)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -22164,7 +22164,7 @@
 	}
 	if (((index & 7) != 1)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -65209,7 +65209,7 @@
 		}
 		else {
 			if ((GIV(argumentCount) == 0)
-			 || (!(isObjectForwarded(rcvr)))) {
+			 || (!(((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 				newCopy = clone(rcvr);
 			}
 			else {

Modified: branches/Cog/spurstack64src/vm/interp.c
===================================================================
--- branches/Cog/spurstack64src/vm/interp.c	2015-06-20 19:52:45 UTC (rev 3385)
+++ branches/Cog/spurstack64src/vm/interp.c	2015-06-20 22:42:13 UTC (rev 3386)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
    from
-	StackInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	StackInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2133,7 +2133,7 @@
 	/* 575 */ (void (*)(void))0,
  0 };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.1369]";
+const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.1370]";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -10547,7 +10547,7 @@
 	}
 	if (((index & 7) != 1)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -10711,7 +10711,7 @@
 	}
 	if (((index & 7) != 1)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -15631,7 +15631,7 @@
 	thisReceiver = longAt(GIV(stackPointer));
 	if (((thisReceiver & 7) != 0)
 	 || ((GIV(argumentCount) > 0)
-	 && (isObjectForwarded(thisReceiver)))) {
+	 && (((longAt(thisReceiver)) & (0x3FFFFF - 8)) == 0))) {
 		/* begin primitiveFail */
 		if (!GIV(primFailCode)) {
 			GIV(primFailCode) = 1;
@@ -21982,7 +21982,7 @@
 	}
 	if (((index & 7) != 1)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -22155,7 +22155,7 @@
 	}
 	if (((index & 7) != 1)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -65200,7 +65200,7 @@
 		}
 		else {
 			if ((GIV(argumentCount) == 0)
-			 || (!(isObjectForwarded(rcvr)))) {
+			 || (!(((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 				newCopy = clone(rcvr);
 			}
 			else {

Modified: branches/Cog/spurstacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/spurstacksrc/vm/gcc3x-interp.c	2015-06-20 19:52:45 UTC (rev 3385)
+++ branches/Cog/spurstacksrc/vm/gcc3x-interp.c	2015-06-20 22:42:13 UTC (rev 3386)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
    from
-	StackInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753
+	StackInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1369 uuid: 46477ec0-5610-4000-b7b6-4d32e240b753 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1370 uuid: 779d3751-cd1b-4882-b870-156bf7da752a " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2107,7 +2107,7 @@
 	/* 575 */ (void (*)(void))0,
  0 };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.1369]";
+const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.1370]";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -10250,7 +10250,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 1)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -10461,7 +10461,7 @@
 	}
 	if (((index & 1) == 0)
 	 || ((GIV(argumentCount) > 2)
-	 && (isObjectForwarded(rcvr)))) {
+	 && (((longAt(rcvr)) & (0x3FFFFF - 8)) == 0))) {
 		GIV(primFailCode) = PrimErrBadArgument;
 		goto l1;
 	}
@@ -15474,7 +15474,7 @@
 	thisReceiver = longAt(GIV(stackPointer));
 	if (((thisReceiver & 3) != 0)
 	 || ((GIV(argumentCount) > 0)
-	 && (isObjectForwarded(thisReceiver)))) {
+	 && (((longAt(thisReceiver)) & (0x3FFFFF - 8)) == 0))) {

@@ Diff output truncated at 50000 characters. @@


More information about the Vm-dev mailing list