[Vm-dev] [commit][2915] CogVM source as per VMMaker.oscog-eem.704.

commits at squeakvm.org commits at squeakvm.org
Mon May 5 00:52:48 UTC 2014


Revision: 2915
Author:   eliot
Date:     2014-05-04 17:52:47 -0700 (Sun, 04 May 2014)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.704.
Fix compilation warnings re compaction memcpy calls.
Fix stack backtrace printing when frameCallerContext is forwarded.

Modified Paths:
--------------
    branches/Cog/nsspursrc/vm/cointerp.c
    branches/Cog/nsspursrc/vm/cointerp.h
    branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
    branches/Cog/nsspursrc/vm/interp.h
    branches/Cog/nsspursrc/vm/vmCallback.h
    branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
    branches/Cog/nsspurstacksrc/vm/interp.c
    branches/Cog/nsspurstacksrc/vm/interp.h
    branches/Cog/nsspurstacksrc/vm/vmCallback.h
    branches/Cog/spursistasrc/vm/cointerp.c
    branches/Cog/spursistasrc/vm/cointerp.h
    branches/Cog/spursistasrc/vm/gcc3x-cointerp.c
    branches/Cog/spursistasrc/vm/interp.h
    branches/Cog/spursistasrc/vm/vmCallback.h
    branches/Cog/spursrc/vm/cointerp.c
    branches/Cog/spursrc/vm/cointerp.h
    branches/Cog/spursrc/vm/gcc3x-cointerp.c
    branches/Cog/spursrc/vm/interp.h
    branches/Cog/spursrc/vm/vmCallback.h
    branches/Cog/spurstacksrc/vm/gcc3x-interp.c
    branches/Cog/spurstacksrc/vm/interp.c
    branches/Cog/spurstacksrc/vm/interp.h
    branches/Cog/spurstacksrc/vm/vmCallback.h

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

Modified: branches/Cog/nsspursrc/vm/cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.c	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/nsspursrc/vm/cointerp.c	2014-05-05 00:52:47 UTC (rev 2915)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
    from
-	CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2218,7 +2218,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.702";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.704";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -37452,7 +37452,7 @@
 			 && ((freeBytes > ((there - here) + 8))
 			 || (freeBytes == (there - here))))) break;
 			moved = 1;
-			memcpy(destination, here, there - here);
+			memcpy(((void *)destination), ((void *)here), there - here);
 			/* begin forwardUnchecked:to: */
 			assert((isInOldSpace(hereObj))
 			 && (isInOldSpace(destination + (hereObj - here))));
@@ -37579,7 +37579,7 @@
 				chunkBytes = (addressAfter(freeChunk)) - dest;
 				if ((chunkBytes == pigBytes)
 				 || (chunkBytes > (pigBytes + 8))) {
-					memcpy(dest, here, pigBytes);
+					memcpy(((void *)dest), ((void *)here), pigBytes);
 					/* begin forwardUnchecked:to: */
 					assert((isInOldSpace(hereObj))
 					 && (isInOldSpace(dest + (hereObj - here))));
@@ -57035,6 +57035,7 @@
     sqInt ctxt;
     sqInt index;
     sqInt index1;
+    sqInt referent;
     char *theFP;
     StackPage *thePage;
     StackPage *thePage1;
@@ -57078,6 +57079,16 @@
 				assert((callerContextOrNil == (nilObject()))
 				 || (isContext(callerContextOrNil)));
 				ctxt = callerContextOrNil;
+				if (((longAt(ctxt)) & 0x3FFFFF) == 8) {
+					/* begin followForwarded: */
+					assert(isForwarded(ctxt));
+					referent = longAt((ctxt + (BaseHeaderSize)) + (0 << 2));
+					while (((referent & 3) == 0)
+					 && (((longAt(referent)) & 0x3FFFFF) == 8)) {
+						referent = longAt((referent + (BaseHeaderSize)) + (0 << 2));
+					}
+					ctxt = referent;
+				}
 			}
 			else {
 				print("widowed caller frame ");
@@ -63696,9 +63707,11 @@
 static sqInt
 shortReversePrintFrameAndCallers(char *aFramePointer)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
+    sqInt caller;
     sqInt callerContextOrNil;
     char *callerFP;
     sqInt index;
+    sqInt referent;
     char *theFP;
     StackPage *thePage;
 
@@ -63725,7 +63738,18 @@
 	assert(addressCouldBeObj(callerContextOrNil));
 	assert((callerContextOrNil == (nilObject()))
 	 || (isContext(callerContextOrNil)));
-	return callerContextOrNil;
+	caller = callerContextOrNil;
+	if (((longAt(caller)) & 0x3FFFFF) == 8) {
+		/* begin followForwarded: */
+		assert(isForwarded(caller));
+		referent = longAt((caller + (BaseHeaderSize)) + (0 << 2));
+		while (((referent & 3) == 0)
+		 && (((longAt(referent)) & 0x3FFFFF) == 8)) {
+			referent = longAt((referent + (BaseHeaderSize)) + (0 << 2));
+		}
+		caller = referent;
+	}
+	return caller;
 }
 
 

Modified: branches/Cog/nsspursrc/vm/cointerp.h
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.h	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/nsspursrc/vm/cointerp.h	2014-05-05 00:52:47 UTC (rev 2915)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
 
 

Modified: branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2014-05-05 00:52:47 UTC (rev 2915)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
    from
-	CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2221,7 +2221,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.702";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.704";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -37461,7 +37461,7 @@
 			 && ((freeBytes > ((there - here) + 8))
 			 || (freeBytes == (there - here))))) break;
 			moved = 1;
-			memcpy(destination, here, there - here);
+			memcpy(((void *)destination), ((void *)here), there - here);
 			/* begin forwardUnchecked:to: */
 			assert((isInOldSpace(hereObj))
 			 && (isInOldSpace(destination + (hereObj - here))));
@@ -37588,7 +37588,7 @@
 				chunkBytes = (addressAfter(freeChunk)) - dest;
 				if ((chunkBytes == pigBytes)
 				 || (chunkBytes > (pigBytes + 8))) {
-					memcpy(dest, here, pigBytes);
+					memcpy(((void *)dest), ((void *)here), pigBytes);
 					/* begin forwardUnchecked:to: */
 					assert((isInOldSpace(hereObj))
 					 && (isInOldSpace(dest + (hereObj - here))));
@@ -57044,6 +57044,7 @@
     sqInt ctxt;
     sqInt index;
     sqInt index1;
+    sqInt referent;
     char *theFP;
     StackPage *thePage;
     StackPage *thePage1;
@@ -57087,6 +57088,16 @@
 				assert((callerContextOrNil == (nilObject()))
 				 || (isContext(callerContextOrNil)));
 				ctxt = callerContextOrNil;
+				if (((longAt(ctxt)) & 0x3FFFFF) == 8) {
+					/* begin followForwarded: */
+					assert(isForwarded(ctxt));
+					referent = longAt((ctxt + (BaseHeaderSize)) + (0 << 2));
+					while (((referent & 3) == 0)
+					 && (((longAt(referent)) & 0x3FFFFF) == 8)) {
+						referent = longAt((referent + (BaseHeaderSize)) + (0 << 2));
+					}
+					ctxt = referent;
+				}
 			}
 			else {
 				print("widowed caller frame ");
@@ -63705,9 +63716,11 @@
 static sqInt
 shortReversePrintFrameAndCallers(char *aFramePointer)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
+    sqInt caller;
     sqInt callerContextOrNil;
     char *callerFP;
     sqInt index;
+    sqInt referent;
     char *theFP;
     StackPage *thePage;
 
@@ -63734,7 +63747,18 @@
 	assert(addressCouldBeObj(callerContextOrNil));
 	assert((callerContextOrNil == (nilObject()))
 	 || (isContext(callerContextOrNil)));
-	return callerContextOrNil;
+	caller = callerContextOrNil;
+	if (((longAt(caller)) & 0x3FFFFF) == 8) {
+		/* begin followForwarded: */
+		assert(isForwarded(caller));
+		referent = longAt((caller + (BaseHeaderSize)) + (0 << 2));
+		while (((referent & 3) == 0)
+		 && (((longAt(referent)) & 0x3FFFFF) == 8)) {
+			referent = longAt((referent + (BaseHeaderSize)) + (0 << 2));
+		}
+		caller = referent;
+	}
+	return caller;
 }
 
 

Modified: branches/Cog/nsspursrc/vm/interp.h
===================================================================
--- branches/Cog/nsspursrc/vm/interp.h	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/nsspursrc/vm/interp.h	2014-05-05 00:52:47 UTC (rev 2915)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/nsspursrc/vm/vmCallback.h
===================================================================
--- branches/Cog/nsspursrc/vm/vmCallback.h	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/nsspursrc/vm/vmCallback.h	2014-05-05 00:52:47 UTC (rev 2915)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
 
 #define VM_CALLBACK_INC 1

Modified: branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2014-05-05 00:52:47 UTC (rev 2915)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
    from
-	StackInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	StackInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2008,7 +2008,7 @@
  0 };
 char * breakSelector;
 sqInt breakSelectorLength = -1;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.702";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.704";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -32101,7 +32101,7 @@
 			 && ((freeBytes > ((there - here) + 8))
 			 || (freeBytes == (there - here))))) break;
 			moved = 1;
-			memcpy(destination, here, there - here);
+			memcpy(((void *)destination), ((void *)here), there - here);
 			/* begin forwardUnchecked:to: */
 			assert((isInOldSpace(hereObj))
 			 && (isInOldSpace(destination + (hereObj - here))));
@@ -32228,7 +32228,7 @@
 				chunkBytes = (addressAfter(freeChunk)) - dest;
 				if ((chunkBytes == pigBytes)
 				 || (chunkBytes > (pigBytes + 8))) {
-					memcpy(dest, here, pigBytes);
+					memcpy(((void *)dest), ((void *)here), pigBytes);
 					/* begin forwardUnchecked:to: */
 					assert((isInOldSpace(hereObj))
 					 && (isInOldSpace(dest + (hereObj - here))));
@@ -51037,6 +51037,7 @@
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
     sqInt ctxt;
     sqInt index;
+    sqInt referent;
     char *theFP;
     StackPage *thePage;
     sqInt value;
@@ -51065,6 +51066,16 @@
 				shortPrintFrameAndCallers(theFP);
 				theFP = (thePage->baseFP);
 				ctxt = longAt(theFP + FoxCallerContext);
+				if (((longAt(ctxt)) & 0x3FFFFF) == 8) {
+					/* begin followForwarded: */
+					assert(isForwarded(ctxt));
+					referent = longAt((ctxt + (BaseHeaderSize)) + (0 << 2));
+					while (((referent & 3) == 0)
+					 && (((longAt(referent)) & 0x3FFFFF) == 8)) {
+						referent = longAt((referent + (BaseHeaderSize)) + (0 << 2));
+					}
+					ctxt = referent;
+				}
 			}
 			else {
 				print("widowed caller frame ");
@@ -56758,7 +56769,9 @@
 static sqInt
 shortReversePrintFrameAndCallers(char *aFramePointer)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
+    sqInt caller;
     char *callerFP;
+    sqInt referent;
     char *theFP;
 
 	if (aFramePointer == 0) {
@@ -56772,7 +56785,18 @@
 		if (!(callerFP != 0)) break;
 		theFP = callerFP;
 	}
-	return longAt(theFP + FoxCallerContext);
+	caller = longAt(theFP + FoxCallerContext);
+	if (((longAt(caller)) & 0x3FFFFF) == 8) {
+		/* begin followForwarded: */
+		assert(isForwarded(caller));
+		referent = longAt((caller + (BaseHeaderSize)) + (0 << 2));
+		while (((referent & 3) == 0)
+		 && (((longAt(referent)) & 0x3FFFFF) == 8)) {
+			referent = longAt((referent + (BaseHeaderSize)) + (0 << 2));
+		}
+		caller = referent;
+	}
+	return caller;
 }
 
 

Modified: branches/Cog/nsspurstacksrc/vm/interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/interp.c	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/nsspurstacksrc/vm/interp.c	2014-05-05 00:52:47 UTC (rev 2915)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
    from
-	StackInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	StackInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2005,7 +2005,7 @@
  0 };
 char * breakSelector;
 sqInt breakSelectorLength = -1;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.702";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.704";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -32092,7 +32092,7 @@
 			 && ((freeBytes > ((there - here) + 8))
 			 || (freeBytes == (there - here))))) break;
 			moved = 1;
-			memcpy(destination, here, there - here);
+			memcpy(((void *)destination), ((void *)here), there - here);
 			/* begin forwardUnchecked:to: */
 			assert((isInOldSpace(hereObj))
 			 && (isInOldSpace(destination + (hereObj - here))));
@@ -32219,7 +32219,7 @@
 				chunkBytes = (addressAfter(freeChunk)) - dest;
 				if ((chunkBytes == pigBytes)
 				 || (chunkBytes > (pigBytes + 8))) {
-					memcpy(dest, here, pigBytes);
+					memcpy(((void *)dest), ((void *)here), pigBytes);
 					/* begin forwardUnchecked:to: */
 					assert((isInOldSpace(hereObj))
 					 && (isInOldSpace(dest + (hereObj - here))));
@@ -51028,6 +51028,7 @@
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
     sqInt ctxt;
     sqInt index;
+    sqInt referent;
     char *theFP;
     StackPage *thePage;
     sqInt value;
@@ -51056,6 +51057,16 @@
 				shortPrintFrameAndCallers(theFP);
 				theFP = (thePage->baseFP);
 				ctxt = longAt(theFP + FoxCallerContext);
+				if (((longAt(ctxt)) & 0x3FFFFF) == 8) {
+					/* begin followForwarded: */
+					assert(isForwarded(ctxt));
+					referent = longAt((ctxt + (BaseHeaderSize)) + (0 << 2));
+					while (((referent & 3) == 0)
+					 && (((longAt(referent)) & 0x3FFFFF) == 8)) {
+						referent = longAt((referent + (BaseHeaderSize)) + (0 << 2));
+					}
+					ctxt = referent;
+				}
 			}
 			else {
 				print("widowed caller frame ");
@@ -56749,7 +56760,9 @@
 static sqInt
 shortReversePrintFrameAndCallers(char *aFramePointer)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
+    sqInt caller;
     char *callerFP;
+    sqInt referent;
     char *theFP;
 
 	if (aFramePointer == 0) {
@@ -56763,7 +56776,18 @@
 		if (!(callerFP != 0)) break;
 		theFP = callerFP;
 	}
-	return longAt(theFP + FoxCallerContext);
+	caller = longAt(theFP + FoxCallerContext);
+	if (((longAt(caller)) & 0x3FFFFF) == 8) {
+		/* begin followForwarded: */
+		assert(isForwarded(caller));
+		referent = longAt((caller + (BaseHeaderSize)) + (0 << 2));
+		while (((referent & 3) == 0)
+		 && (((longAt(referent)) & 0x3FFFFF) == 8)) {
+			referent = longAt((referent + (BaseHeaderSize)) + (0 << 2));
+		}
+		caller = referent;
+	}
+	return caller;
 }
 
 

Modified: branches/Cog/nsspurstacksrc/vm/interp.h
===================================================================
--- branches/Cog/nsspurstacksrc/vm/interp.h	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/nsspurstacksrc/vm/interp.h	2014-05-05 00:52:47 UTC (rev 2915)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/nsspurstacksrc/vm/vmCallback.h
===================================================================
--- branches/Cog/nsspurstacksrc/vm/vmCallback.h	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/nsspurstacksrc/vm/vmCallback.h	2014-05-05 00:52:47 UTC (rev 2915)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
 
 #define VM_CALLBACK_INC 1


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Sun May  4 09:33:41 PDT 2014
   + Sun May  4 17:50:58 PDT 2014

Modified: branches/Cog/spursistasrc/vm/cointerp.c
===================================================================
--- branches/Cog/spursistasrc/vm/cointerp.c	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/spursistasrc/vm/cointerp.c	2014-05-05 00:52:47 UTC (rev 2915)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
    from
-	CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1314,7 +1314,7 @@
 static void setSignalLowSpaceFlagAndSaveProcess(void);
 static void setTraceFlagOnContextsFramesPageIfNeeded(sqInt aContext);
 sqInt shiftForWord(void);
-static usqInt shortentoIndexableSize(sqInt objOop, sqInt indexableSize);
+static sqInt shortentoIndexableSize(sqInt objOop, sqInt indexableSize);
 static sqInt shortPrintContext(sqInt aContext);
 static sqInt shortPrintFrameAndCallers(char *theFP);
 EXPORT(void) shortPrintFramesInPage(StackPage *thePage);
@@ -2213,7 +2213,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.702]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.704]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -32292,7 +32292,7 @@
 			 && ((freeBytes > ((there - here) + 8))
 			 || (freeBytes == (there - here))))) break;
 			moved = 1;
-			memcpy(destination, here, there - here);
+			memcpy(((void *)destination), ((void *)here), there - here);
 			/* begin forwardUnchecked:to: */
 			assert((isInOldSpace(hereObj))
 			 && (isInOldSpace(destination + (hereObj - here))));
@@ -32419,7 +32419,7 @@
 				chunkBytes = (addressAfter(freeChunk)) - dest;
 				if ((chunkBytes == pigBytes)
 				 || (chunkBytes > (pigBytes + 8))) {
-					memcpy(dest, here, pigBytes);
+					memcpy(((void *)dest), ((void *)here), pigBytes);
 					/* begin forwardUnchecked:to: */
 					assert((isInOldSpace(hereObj))
 					 && (isInOldSpace(dest + (hereObj - here))));
@@ -51821,6 +51821,7 @@
     sqInt ctxt;
     sqInt index;
     sqInt index1;
+    sqInt referent;
     char *theFP;
     StackPage *thePage;
     StackPage *thePage1;
@@ -51864,6 +51865,16 @@
 				assert((callerContextOrNil == (nilObject()))
 				 || (isContext(callerContextOrNil)));
 				ctxt = callerContextOrNil;
+				if (((longAt(ctxt)) & 0x3FFFFF) == 8) {
+					/* begin followForwarded: */
+					assert(isForwarded(ctxt));
+					referent = longAt((ctxt + (BaseHeaderSize)) + (0 << 2));
+					while (((referent & 3) == 0)
+					 && (((longAt(referent)) & 0x3FFFFF) == 8)) {
+						referent = longAt((referent + (BaseHeaderSize)) + (0 << 2));
+					}
+					ctxt = referent;
+				}
 			}
 			else {
 				print("widowed caller frame ");
@@ -58238,7 +58249,7 @@
 	zero if no change
 	was possible. */
 
-static usqInt
+static sqInt
 shortentoIndexableSize(sqInt objOop, sqInt indexableSize)
 {
     usqInt bytesAfter;
@@ -58474,9 +58485,11 @@
 static sqInt
 shortReversePrintFrameAndCallers(char *aFramePointer)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
+    sqInt caller;
     sqInt callerContextOrNil;
     char *callerFP;
     sqInt index;
+    sqInt referent;
     char *theFP;
     StackPage *thePage;
 
@@ -58503,7 +58516,18 @@
 	assert(addressCouldBeObj(callerContextOrNil));
 	assert((callerContextOrNil == (nilObject()))
 	 || (isContext(callerContextOrNil)));
-	return callerContextOrNil;
+	caller = callerContextOrNil;
+	if (((longAt(caller)) & 0x3FFFFF) == 8) {
+		/* begin followForwarded: */
+		assert(isForwarded(caller));
+		referent = longAt((caller + (BaseHeaderSize)) + (0 << 2));
+		while (((referent & 3) == 0)
+		 && (((longAt(referent)) & 0x3FFFFF) == 8)) {
+			referent = longAt((referent + (BaseHeaderSize)) + (0 << 2));
+		}
+		caller = referent;
+	}
+	return caller;
 }
 
 

Modified: branches/Cog/spursistasrc/vm/cointerp.h
===================================================================
--- branches/Cog/spursistasrc/vm/cointerp.h	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/spursistasrc/vm/cointerp.h	2014-05-05 00:52:47 UTC (rev 2915)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
 
 

Modified: branches/Cog/spursistasrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/spursistasrc/vm/gcc3x-cointerp.c	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/spursistasrc/vm/gcc3x-cointerp.c	2014-05-05 00:52:47 UTC (rev 2915)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
    from
-	CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1317,7 +1317,7 @@
 static void setSignalLowSpaceFlagAndSaveProcess(void);
 static void setTraceFlagOnContextsFramesPageIfNeeded(sqInt aContext);
 sqInt shiftForWord(void);
-static usqInt shortentoIndexableSize(sqInt objOop, sqInt indexableSize);
+static sqInt shortentoIndexableSize(sqInt objOop, sqInt indexableSize);
 static sqInt shortPrintContext(sqInt aContext);
 static sqInt shortPrintFrameAndCallers(char *theFP);
 EXPORT(void) shortPrintFramesInPage(StackPage *thePage);
@@ -2216,7 +2216,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.702]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.704]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -32301,7 +32301,7 @@
 			 && ((freeBytes > ((there - here) + 8))
 			 || (freeBytes == (there - here))))) break;
 			moved = 1;
-			memcpy(destination, here, there - here);
+			memcpy(((void *)destination), ((void *)here), there - here);
 			/* begin forwardUnchecked:to: */
 			assert((isInOldSpace(hereObj))
 			 && (isInOldSpace(destination + (hereObj - here))));
@@ -32428,7 +32428,7 @@
 				chunkBytes = (addressAfter(freeChunk)) - dest;
 				if ((chunkBytes == pigBytes)
 				 || (chunkBytes > (pigBytes + 8))) {
-					memcpy(dest, here, pigBytes);
+					memcpy(((void *)dest), ((void *)here), pigBytes);
 					/* begin forwardUnchecked:to: */
 					assert((isInOldSpace(hereObj))
 					 && (isInOldSpace(dest + (hereObj - here))));
@@ -51830,6 +51830,7 @@
     sqInt ctxt;
     sqInt index;
     sqInt index1;
+    sqInt referent;
     char *theFP;
     StackPage *thePage;
     StackPage *thePage1;
@@ -51873,6 +51874,16 @@
 				assert((callerContextOrNil == (nilObject()))
 				 || (isContext(callerContextOrNil)));
 				ctxt = callerContextOrNil;
+				if (((longAt(ctxt)) & 0x3FFFFF) == 8) {
+					/* begin followForwarded: */
+					assert(isForwarded(ctxt));
+					referent = longAt((ctxt + (BaseHeaderSize)) + (0 << 2));
+					while (((referent & 3) == 0)
+					 && (((longAt(referent)) & 0x3FFFFF) == 8)) {
+						referent = longAt((referent + (BaseHeaderSize)) + (0 << 2));
+					}
+					ctxt = referent;
+				}
 			}
 			else {
 				print("widowed caller frame ");
@@ -58247,7 +58258,7 @@
 	zero if no change
 	was possible. */
 
-static usqInt
+static sqInt
 shortentoIndexableSize(sqInt objOop, sqInt indexableSize)
 {
     usqInt bytesAfter;
@@ -58483,9 +58494,11 @@
 static sqInt
 shortReversePrintFrameAndCallers(char *aFramePointer)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
+    sqInt caller;
     sqInt callerContextOrNil;
     char *callerFP;
     sqInt index;
+    sqInt referent;
     char *theFP;
     StackPage *thePage;
 
@@ -58512,7 +58525,18 @@
 	assert(addressCouldBeObj(callerContextOrNil));
 	assert((callerContextOrNil == (nilObject()))
 	 || (isContext(callerContextOrNil)));
-	return callerContextOrNil;
+	caller = callerContextOrNil;
+	if (((longAt(caller)) & 0x3FFFFF) == 8) {
+		/* begin followForwarded: */
+		assert(isForwarded(caller));
+		referent = longAt((caller + (BaseHeaderSize)) + (0 << 2));
+		while (((referent & 3) == 0)
+		 && (((longAt(referent)) & 0x3FFFFF) == 8)) {
+			referent = longAt((referent + (BaseHeaderSize)) + (0 << 2));
+		}
+		caller = referent;
+	}
+	return caller;
 }
 
 

Modified: branches/Cog/spursistasrc/vm/interp.h
===================================================================
--- branches/Cog/spursistasrc/vm/interp.h	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/spursistasrc/vm/interp.h	2014-05-05 00:52:47 UTC (rev 2915)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/spursistasrc/vm/vmCallback.h
===================================================================
--- branches/Cog/spursistasrc/vm/vmCallback.h	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/spursistasrc/vm/vmCallback.h	2014-05-05 00:52:47 UTC (rev 2915)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
 
 #define VM_CALLBACK_INC 1

Modified: branches/Cog/spursrc/vm/cointerp.c
===================================================================
--- branches/Cog/spursrc/vm/cointerp.c	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/spursrc/vm/cointerp.c	2014-05-05 00:52:47 UTC (rev 2915)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
    from
-	CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2208,7 +2208,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.702]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.704]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -32153,7 +32153,7 @@
 			 && ((freeBytes > ((there - here) + 8))
 			 || (freeBytes == (there - here))))) break;
 			moved = 1;
-			memcpy(destination, here, there - here);
+			memcpy(((void *)destination), ((void *)here), there - here);
 			/* begin forwardUnchecked:to: */
 			assert((isInOldSpace(hereObj))
 			 && (isInOldSpace(destination + (hereObj - here))));
@@ -32280,7 +32280,7 @@
 				chunkBytes = (addressAfter(freeChunk)) - dest;
 				if ((chunkBytes == pigBytes)
 				 || (chunkBytes > (pigBytes + 8))) {
-					memcpy(dest, here, pigBytes);
+					memcpy(((void *)dest), ((void *)here), pigBytes);
 					/* begin forwardUnchecked:to: */
 					assert((isInOldSpace(hereObj))
 					 && (isInOldSpace(dest + (hereObj - here))));
@@ -51618,6 +51618,7 @@
     sqInt ctxt;
     sqInt index;
     sqInt index1;
+    sqInt referent;
     char *theFP;
     StackPage *thePage;
     StackPage *thePage1;
@@ -51661,6 +51662,16 @@
 				assert((callerContextOrNil == (nilObject()))
 				 || (isContext(callerContextOrNil)));
 				ctxt = callerContextOrNil;
+				if (((longAt(ctxt)) & 0x3FFFFF) == 8) {
+					/* begin followForwarded: */
+					assert(isForwarded(ctxt));
+					referent = longAt((ctxt + (BaseHeaderSize)) + (0 << 2));
+					while (((referent & 3) == 0)
+					 && (((longAt(referent)) & 0x3FFFFF) == 8)) {
+						referent = longAt((referent + (BaseHeaderSize)) + (0 << 2));
+					}
+					ctxt = referent;
+				}
 			}
 			else {
 				print("widowed caller frame ");
@@ -58235,9 +58246,11 @@
 static sqInt
 shortReversePrintFrameAndCallers(char *aFramePointer)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
+    sqInt caller;
     sqInt callerContextOrNil;
     char *callerFP;
     sqInt index;
+    sqInt referent;
     char *theFP;
     StackPage *thePage;
 
@@ -58264,7 +58277,18 @@
 	assert(addressCouldBeObj(callerContextOrNil));
 	assert((callerContextOrNil == (nilObject()))
 	 || (isContext(callerContextOrNil)));
-	return callerContextOrNil;
+	caller = callerContextOrNil;
+	if (((longAt(caller)) & 0x3FFFFF) == 8) {
+		/* begin followForwarded: */
+		assert(isForwarded(caller));
+		referent = longAt((caller + (BaseHeaderSize)) + (0 << 2));
+		while (((referent & 3) == 0)
+		 && (((longAt(referent)) & 0x3FFFFF) == 8)) {
+			referent = longAt((referent + (BaseHeaderSize)) + (0 << 2));
+		}
+		caller = referent;
+	}
+	return caller;
 }
 
 

Modified: branches/Cog/spursrc/vm/cointerp.h
===================================================================
--- branches/Cog/spursrc/vm/cointerp.h	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/spursrc/vm/cointerp.h	2014-05-05 00:52:47 UTC (rev 2915)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
 
 

Modified: branches/Cog/spursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/spursrc/vm/gcc3x-cointerp.c	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/spursrc/vm/gcc3x-cointerp.c	2014-05-05 00:52:47 UTC (rev 2915)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
    from
-	CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2211,7 +2211,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.702]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.704]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -32162,7 +32162,7 @@
 			 && ((freeBytes > ((there - here) + 8))
 			 || (freeBytes == (there - here))))) break;
 			moved = 1;
-			memcpy(destination, here, there - here);
+			memcpy(((void *)destination), ((void *)here), there - here);
 			/* begin forwardUnchecked:to: */
 			assert((isInOldSpace(hereObj))
 			 && (isInOldSpace(destination + (hereObj - here))));
@@ -32289,7 +32289,7 @@
 				chunkBytes = (addressAfter(freeChunk)) - dest;
 				if ((chunkBytes == pigBytes)
 				 || (chunkBytes > (pigBytes + 8))) {
-					memcpy(dest, here, pigBytes);
+					memcpy(((void *)dest), ((void *)here), pigBytes);
 					/* begin forwardUnchecked:to: */
 					assert((isInOldSpace(hereObj))
 					 && (isInOldSpace(dest + (hereObj - here))));
@@ -51627,6 +51627,7 @@
     sqInt ctxt;
     sqInt index;
     sqInt index1;
+    sqInt referent;
     char *theFP;
     StackPage *thePage;
     StackPage *thePage1;
@@ -51670,6 +51671,16 @@
 				assert((callerContextOrNil == (nilObject()))
 				 || (isContext(callerContextOrNil)));
 				ctxt = callerContextOrNil;
+				if (((longAt(ctxt)) & 0x3FFFFF) == 8) {
+					/* begin followForwarded: */
+					assert(isForwarded(ctxt));
+					referent = longAt((ctxt + (BaseHeaderSize)) + (0 << 2));
+					while (((referent & 3) == 0)
+					 && (((longAt(referent)) & 0x3FFFFF) == 8)) {
+						referent = longAt((referent + (BaseHeaderSize)) + (0 << 2));
+					}
+					ctxt = referent;
+				}
 			}
 			else {
 				print("widowed caller frame ");
@@ -58244,9 +58255,11 @@
 static sqInt
 shortReversePrintFrameAndCallers(char *aFramePointer)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
+    sqInt caller;
     sqInt callerContextOrNil;
     char *callerFP;
     sqInt index;
+    sqInt referent;
     char *theFP;
     StackPage *thePage;
 
@@ -58273,7 +58286,18 @@
 	assert(addressCouldBeObj(callerContextOrNil));
 	assert((callerContextOrNil == (nilObject()))
 	 || (isContext(callerContextOrNil)));
-	return callerContextOrNil;
+	caller = callerContextOrNil;
+	if (((longAt(caller)) & 0x3FFFFF) == 8) {
+		/* begin followForwarded: */
+		assert(isForwarded(caller));
+		referent = longAt((caller + (BaseHeaderSize)) + (0 << 2));
+		while (((referent & 3) == 0)
+		 && (((longAt(referent)) & 0x3FFFFF) == 8)) {
+			referent = longAt((referent + (BaseHeaderSize)) + (0 << 2));
+		}
+		caller = referent;
+	}
+	return caller;
 }
 
 

Modified: branches/Cog/spursrc/vm/interp.h
===================================================================
--- branches/Cog/spursrc/vm/interp.h	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/spursrc/vm/interp.h	2014-05-05 00:52:47 UTC (rev 2915)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/spursrc/vm/vmCallback.h
===================================================================
--- branches/Cog/spursrc/vm/vmCallback.h	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/spursrc/vm/vmCallback.h	2014-05-05 00:52:47 UTC (rev 2915)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
 
 #define VM_CALLBACK_INC 1

Modified: branches/Cog/spurstacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/spurstacksrc/vm/gcc3x-interp.c	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/spurstacksrc/vm/gcc3x-interp.c	2014-05-05 00:52:47 UTC (rev 2915)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
    from
-	StackInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	StackInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2001,7 +2001,7 @@
  0 };
 char * breakSelector;
 sqInt breakSelectorLength = -1;
-const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.702]";
+const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.704]";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -27165,7 +27165,7 @@
 			 && ((freeBytes > ((there - here) + 8))
 			 || (freeBytes == (there - here))))) break;
 			moved = 1;
-			memcpy(destination, here, there - here);
+			memcpy(((void *)destination), ((void *)here), there - here);
 			/* begin forwardUnchecked:to: */
 			assert((isInOldSpace(hereObj))
 			 && (isInOldSpace(destination + (hereObj - here))));
@@ -27292,7 +27292,7 @@
 				chunkBytes = (addressAfter(freeChunk)) - dest;
 				if ((chunkBytes == pigBytes)
 				 || (chunkBytes > (pigBytes + 8))) {
-					memcpy(dest, here, pigBytes);
+					memcpy(((void *)dest), ((void *)here), pigBytes);
 					/* begin forwardUnchecked:to: */
 					assert((isInOldSpace(hereObj))
 					 && (isInOldSpace(dest + (hereObj - here))));
@@ -45933,6 +45933,7 @@
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
     sqInt ctxt;
     sqInt index;
+    sqInt referent;
     char *theFP;
     StackPage *thePage;
     sqInt value;
@@ -45961,6 +45962,16 @@
 				shortPrintFrameAndCallers(theFP);
 				theFP = (thePage->baseFP);
 				ctxt = longAt(theFP + FoxCallerContext);
+				if (((longAt(ctxt)) & 0x3FFFFF) == 8) {
+					/* begin followForwarded: */
+					assert(isForwarded(ctxt));
+					referent = longAt((ctxt + (BaseHeaderSize)) + (0 << 2));
+					while (((referent & 3) == 0)
+					 && (((longAt(referent)) & 0x3FFFFF) == 8)) {
+						referent = longAt((referent + (BaseHeaderSize)) + (0 << 2));
+					}
+					ctxt = referent;
+				}
 			}
 			else {
 				print("widowed caller frame ");
@@ -51607,7 +51618,9 @@
 static sqInt
 shortReversePrintFrameAndCallers(char *aFramePointer)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
+    sqInt caller;
     char *callerFP;
+    sqInt referent;
     char *theFP;
 
 	if (aFramePointer == 0) {
@@ -51621,7 +51634,18 @@
 		if (!(callerFP != 0)) break;
 		theFP = callerFP;
 	}
-	return longAt(theFP + FoxCallerContext);
+	caller = longAt(theFP + FoxCallerContext);
+	if (((longAt(caller)) & 0x3FFFFF) == 8) {
+		/* begin followForwarded: */
+		assert(isForwarded(caller));
+		referent = longAt((caller + (BaseHeaderSize)) + (0 << 2));
+		while (((referent & 3) == 0)
+		 && (((longAt(referent)) & 0x3FFFFF) == 8)) {
+			referent = longAt((referent + (BaseHeaderSize)) + (0 << 2));
+		}
+		caller = referent;
+	}
+	return caller;
 }
 
 

Modified: branches/Cog/spurstacksrc/vm/interp.c
===================================================================
--- branches/Cog/spurstacksrc/vm/interp.c	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/spurstacksrc/vm/interp.c	2014-05-05 00:52:47 UTC (rev 2915)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
    from
-	StackInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	StackInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1998,7 +1998,7 @@
  0 };
 char * breakSelector;
 sqInt breakSelectorLength = -1;
-const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.702]";
+const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.704]";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -27156,7 +27156,7 @@
 			 && ((freeBytes > ((there - here) + 8))
 			 || (freeBytes == (there - here))))) break;
 			moved = 1;
-			memcpy(destination, here, there - here);
+			memcpy(((void *)destination), ((void *)here), there - here);
 			/* begin forwardUnchecked:to: */
 			assert((isInOldSpace(hereObj))
 			 && (isInOldSpace(destination + (hereObj - here))));
@@ -27283,7 +27283,7 @@
 				chunkBytes = (addressAfter(freeChunk)) - dest;
 				if ((chunkBytes == pigBytes)
 				 || (chunkBytes > (pigBytes + 8))) {
-					memcpy(dest, here, pigBytes);
+					memcpy(((void *)dest), ((void *)here), pigBytes);
 					/* begin forwardUnchecked:to: */
 					assert((isInOldSpace(hereObj))
 					 && (isInOldSpace(dest + (hereObj - here))));
@@ -45924,6 +45924,7 @@
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
     sqInt ctxt;
     sqInt index;
+    sqInt referent;
     char *theFP;
     StackPage *thePage;
     sqInt value;
@@ -45952,6 +45953,16 @@
 				shortPrintFrameAndCallers(theFP);
 				theFP = (thePage->baseFP);
 				ctxt = longAt(theFP + FoxCallerContext);
+				if (((longAt(ctxt)) & 0x3FFFFF) == 8) {
+					/* begin followForwarded: */
+					assert(isForwarded(ctxt));
+					referent = longAt((ctxt + (BaseHeaderSize)) + (0 << 2));
+					while (((referent & 3) == 0)
+					 && (((longAt(referent)) & 0x3FFFFF) == 8)) {
+						referent = longAt((referent + (BaseHeaderSize)) + (0 << 2));
+					}
+					ctxt = referent;
+				}
 			}
 			else {
 				print("widowed caller frame ");
@@ -51598,7 +51609,9 @@
 static sqInt
 shortReversePrintFrameAndCallers(char *aFramePointer)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
+    sqInt caller;
     char *callerFP;
+    sqInt referent;
     char *theFP;
 
 	if (aFramePointer == 0) {
@@ -51612,7 +51625,18 @@
 		if (!(callerFP != 0)) break;
 		theFP = callerFP;
 	}
-	return longAt(theFP + FoxCallerContext);
+	caller = longAt(theFP + FoxCallerContext);
+	if (((longAt(caller)) & 0x3FFFFF) == 8) {
+		/* begin followForwarded: */
+		assert(isForwarded(caller));
+		referent = longAt((caller + (BaseHeaderSize)) + (0 << 2));
+		while (((referent & 3) == 0)
+		 && (((longAt(referent)) & 0x3FFFFF) == 8)) {
+			referent = longAt((referent + (BaseHeaderSize)) + (0 << 2));
+		}
+		caller = referent;
+	}
+	return caller;
 }
 
 

Modified: branches/Cog/spurstacksrc/vm/interp.h
===================================================================
--- branches/Cog/spurstacksrc/vm/interp.h	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/spurstacksrc/vm/interp.h	2014-05-05 00:52:47 UTC (rev 2915)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/spurstacksrc/vm/vmCallback.h
===================================================================
--- branches/Cog/spurstacksrc/vm/vmCallback.h	2014-05-04 16:34:55 UTC (rev 2914)
+++ branches/Cog/spurstacksrc/vm/vmCallback.h	2014-05-05 00:52:47 UTC (rev 2915)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e
  */
 
 #define VM_CALLBACK_INC 1



More information about the Vm-dev mailing list