[Vm-dev] [commit][3110] CogVM source as per VMMaker.oscog-eem.912

commits at squeakvm.org commits at squeakvm.org
Fri Oct 24 20:43:51 UTC 2014


Revision: 3110
Author:   eliot
Date:     2014-10-24 13:43:48 -0700 (Fri, 24 Oct 2014)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.912

Fix another assert fail case in ceInterpretMethodFromPIC:receiver:

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

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

Modified: branches/Cog/nscogsrc/vm/cointerp.c
===================================================================
--- branches/Cog/nscogsrc/vm/cointerp.c	2014-10-24 18:53:45 UTC (rev 3109)
+++ branches/Cog/nscogsrc/vm/cointerp.c	2014-10-24 20:43:48 UTC (rev 3110)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
    from
-	CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -852,7 +852,7 @@
 void printWronglySizedContexts(sqInt printContexts);
 static void restoreHeadersFromtofromandtofrom(sqInt firstIn, sqInt lastIn, sqInt hdrBaseIn, sqInt firstOut, sqInt lastOut, sqInt hdrBaseOut) NoDbgRegParms;
 static void runLeakCheckerForFullGC(sqInt fullGCFlag) NoDbgRegParms;
-static usqInt safeObjectAfter(sqInt oop) NoDbgRegParms;
+static sqInt safeObjectAfter(sqInt oop) NoDbgRegParms;
 static sqInt safePrintStringOf(sqInt oop) NoDbgRegParms;
 static sqInt shortentoIndexableSize(sqInt obj, sqInt nSlots) NoDbgRegParms;
 static sqInt sizeBitsOfSafe(sqInt oop) NoDbgRegParms;
@@ -2085,7 +2085,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.911";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.912";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -14400,18 +14400,21 @@
     sqInt primitiveIndex;
     sqInt top;
 
-	assert(!(methodHasCogMethod(aMethodObj)));
+
+	/* pop off inner return and locate open or closed PIC */
+
 	pic = ((CogMethod *) ((popStack()) - (interpretOffset())));
 	assert((((pic->cmType)) == CMOpenPIC)
 	 || (((pic->cmType)) == CMClosedPIC));
 	if (((pic->cmType)) == CMOpenPIC) {
+		assert(!(methodHasCogMethod(aMethodObj)));
 		if (methodShouldBeCogged(aMethodObj)) {
 			cogselector(aMethodObj, (pic->selector));
-			if (methodHasCogMethod(aMethodObj)) {
-				executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
-			}
 		}
 	}
+	if (methodHasCogMethod(aMethodObj)) {
+		executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
+	}
 	GIV(messageSelector) = (pic->selector);
 	GIV(newMethod) = aMethodObj;
 	/* begin primitiveIndexOfMethod:header: */
@@ -36757,15 +36760,17 @@
     sqInt header1;
     sqInt header2;
     sqInt header3;
+    sqInt header4;
     usqInt lastWord;
     sqInt newFreeChunk;
     sqInt newOop;
-    usqInt next;
+    sqInt next;
     sqInt oop;
     sqInt realHeader;
     sqInt sz;
     sqInt sz1;
     sqInt sz2;
+    sqInt sz3;
     sqInt target;
     usqInt w;
 
@@ -36776,7 +36781,21 @@
 		/* begin objectAfterWhileForwarding: */
 		header2 = longAt(oop);
 		if ((header2 & MarkBit) == 0) {
-			next = ((sqInt) (objectAfter(oop)));
+			/* begin objectAfter: */
+			if (!(asserta(oopisLessThan(oop, GIV(freeStart))))) {
+				error("no objects after the end of memory");
+			}
+			if (((longAt(oop)) & TypeMask) == HeaderTypeFree) {
+				sz2 = (longAt(oop)) & AllButTypeMask;
+			}
+			else {
+				/* begin sizeBitsOf: */
+				header3 = longAt(oop);
+				sz2 = ((header3 & TypeMask) == HeaderTypeSizeAndClass
+					? (longAt(oop - (BytesPerWord * 2))) & LongSizeMask
+					: header3 & SizeMask);
+			}
+			next = (oop + sz2) + (headerTypeBytes[(longAt(oop + sz2)) & TypeMask]);
 			goto l1;
 		}
 		fwdBlock1 = (header2 & AllButMarkBitAndTypeMask) << 1;
@@ -36791,7 +36810,7 @@
 		else {
 			sz1 = realHeader & SizeMask;
 		}
-		next = ((sqInt) ((oop + sz1) + (headerTypeBytes[(longAt(oop + sz1)) & TypeMask])));
+		next = (oop + sz1) + (headerTypeBytes[(longAt(oop + sz1)) & TypeMask]);
 	l1:	/* end objectAfterWhileForwarding: */;
 		if (!(((longAt(oop)) & TypeMask) == HeaderTypeFree)) {
 
@@ -36845,18 +36864,18 @@
 	}
 	/* begin safeObjectAfter: */
 	if (((longAt(newFreeChunk)) & TypeMask) == HeaderTypeFree) {
-		sz2 = (longAt(newFreeChunk)) & AllButTypeMask;
+		sz3 = (longAt(newFreeChunk)) & AllButTypeMask;
 	}
 	else {
 		/* begin sizeBitsOf: */
-		header3 = longAt(newFreeChunk);
-		sz2 = ((header3 & TypeMask) == HeaderTypeSizeAndClass
+		header4 = longAt(newFreeChunk);
+		sz3 = ((header4 & TypeMask) == HeaderTypeSizeAndClass
 			? (longAt(newFreeChunk - (BytesPerWord * 2))) & LongSizeMask
-			: header3 & SizeMask);
+			: header4 & SizeMask);
 	}
-	next = ((((usqInt)(newFreeChunk + sz2))) >= GIV(freeStart)
+	next = ((((usqInt)(newFreeChunk + sz3))) >= GIV(freeStart)
 		? GIV(freeStart)
-		: (newFreeChunk + sz2) + (headerTypeBytes[(longAt(newFreeChunk + sz2)) & TypeMask]));
+		: (newFreeChunk + sz3) + (headerTypeBytes[(longAt(newFreeChunk + sz3)) & TypeMask]));
 	assert((next == GIV(freeStart))
 	 || (next == (oopFromChunk(GIV(compEnd)))));
 	if (next == GIV(freeStart)) {
@@ -38731,7 +38750,7 @@
 	given object or free chunk in memory. Return freeStart when
 	enumeration is complete. This is for assertion checking only. */
 
-static usqInt
+static sqInt
 safeObjectAfter(sqInt oop)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
     sqInt header;

Modified: branches/Cog/nscogsrc/vm/cointerp.h
===================================================================
--- branches/Cog/nscogsrc/vm/cointerp.h	2014-10-24 18:53:45 UTC (rev 3109)
+++ branches/Cog/nscogsrc/vm/cointerp.h	2014-10-24 20:43:48 UTC (rev 3110)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
  */
 
 

Modified: branches/Cog/nscogsrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nscogsrc/vm/gcc3x-cointerp.c	2014-10-24 18:53:45 UTC (rev 3109)
+++ branches/Cog/nscogsrc/vm/gcc3x-cointerp.c	2014-10-24 20:43:48 UTC (rev 3110)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
    from
-	CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -855,7 +855,7 @@
 void printWronglySizedContexts(sqInt printContexts);
 static void restoreHeadersFromtofromandtofrom(sqInt firstIn, sqInt lastIn, sqInt hdrBaseIn, sqInt firstOut, sqInt lastOut, sqInt hdrBaseOut) NoDbgRegParms;
 static void runLeakCheckerForFullGC(sqInt fullGCFlag) NoDbgRegParms;
-static usqInt safeObjectAfter(sqInt oop) NoDbgRegParms;
+static sqInt safeObjectAfter(sqInt oop) NoDbgRegParms;
 static sqInt safePrintStringOf(sqInt oop) NoDbgRegParms;
 static sqInt shortentoIndexableSize(sqInt obj, sqInt nSlots) NoDbgRegParms;
 static sqInt sizeBitsOfSafe(sqInt oop) NoDbgRegParms;
@@ -2088,7 +2088,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.911";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.912";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -14409,18 +14409,21 @@
     sqInt primitiveIndex;
     sqInt top;
 
-	assert(!(methodHasCogMethod(aMethodObj)));
+
+	/* pop off inner return and locate open or closed PIC */
+
 	pic = ((CogMethod *) ((popStack()) - (interpretOffset())));
 	assert((((pic->cmType)) == CMOpenPIC)
 	 || (((pic->cmType)) == CMClosedPIC));
 	if (((pic->cmType)) == CMOpenPIC) {
+		assert(!(methodHasCogMethod(aMethodObj)));
 		if (methodShouldBeCogged(aMethodObj)) {
 			cogselector(aMethodObj, (pic->selector));
-			if (methodHasCogMethod(aMethodObj)) {
-				executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
-			}
 		}
 	}
+	if (methodHasCogMethod(aMethodObj)) {
+		executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
+	}
 	GIV(messageSelector) = (pic->selector);
 	GIV(newMethod) = aMethodObj;
 	/* begin primitiveIndexOfMethod:header: */
@@ -36766,15 +36769,17 @@
     sqInt header1;
     sqInt header2;
     sqInt header3;
+    sqInt header4;
     usqInt lastWord;
     sqInt newFreeChunk;
     sqInt newOop;
-    usqInt next;
+    sqInt next;
     sqInt oop;
     sqInt realHeader;
     sqInt sz;
     sqInt sz1;
     sqInt sz2;
+    sqInt sz3;
     sqInt target;
     usqInt w;
 
@@ -36785,7 +36790,21 @@
 		/* begin objectAfterWhileForwarding: */
 		header2 = longAt(oop);
 		if ((header2 & MarkBit) == 0) {
-			next = ((sqInt) (objectAfter(oop)));
+			/* begin objectAfter: */
+			if (!(asserta(oopisLessThan(oop, GIV(freeStart))))) {
+				error("no objects after the end of memory");
+			}
+			if (((longAt(oop)) & TypeMask) == HeaderTypeFree) {
+				sz2 = (longAt(oop)) & AllButTypeMask;
+			}
+			else {
+				/* begin sizeBitsOf: */
+				header3 = longAt(oop);
+				sz2 = ((header3 & TypeMask) == HeaderTypeSizeAndClass
+					? (longAt(oop - (BytesPerWord * 2))) & LongSizeMask
+					: header3 & SizeMask);
+			}
+			next = (oop + sz2) + (headerTypeBytes[(longAt(oop + sz2)) & TypeMask]);
 			goto l1;
 		}
 		fwdBlock1 = (header2 & AllButMarkBitAndTypeMask) << 1;
@@ -36800,7 +36819,7 @@
 		else {
 			sz1 = realHeader & SizeMask;
 		}
-		next = ((sqInt) ((oop + sz1) + (headerTypeBytes[(longAt(oop + sz1)) & TypeMask])));
+		next = (oop + sz1) + (headerTypeBytes[(longAt(oop + sz1)) & TypeMask]);
 	l1:	/* end objectAfterWhileForwarding: */;
 		if (!(((longAt(oop)) & TypeMask) == HeaderTypeFree)) {
 
@@ -36854,18 +36873,18 @@
 	}
 	/* begin safeObjectAfter: */
 	if (((longAt(newFreeChunk)) & TypeMask) == HeaderTypeFree) {
-		sz2 = (longAt(newFreeChunk)) & AllButTypeMask;
+		sz3 = (longAt(newFreeChunk)) & AllButTypeMask;
 	}
 	else {
 		/* begin sizeBitsOf: */
-		header3 = longAt(newFreeChunk);
-		sz2 = ((header3 & TypeMask) == HeaderTypeSizeAndClass
+		header4 = longAt(newFreeChunk);
+		sz3 = ((header4 & TypeMask) == HeaderTypeSizeAndClass
 			? (longAt(newFreeChunk - (BytesPerWord * 2))) & LongSizeMask
-			: header3 & SizeMask);
+			: header4 & SizeMask);
 	}
-	next = ((((usqInt)(newFreeChunk + sz2))) >= GIV(freeStart)
+	next = ((((usqInt)(newFreeChunk + sz3))) >= GIV(freeStart)
 		? GIV(freeStart)
-		: (newFreeChunk + sz2) + (headerTypeBytes[(longAt(newFreeChunk + sz2)) & TypeMask]));
+		: (newFreeChunk + sz3) + (headerTypeBytes[(longAt(newFreeChunk + sz3)) & TypeMask]));
 	assert((next == GIV(freeStart))
 	 || (next == (oopFromChunk(GIV(compEnd)))));
 	if (next == GIV(freeStart)) {
@@ -38740,7 +38759,7 @@
 	given object or free chunk in memory. Return freeStart when
 	enumeration is complete. This is for assertion checking only. */
 
-static usqInt
+static sqInt
 safeObjectAfter(sqInt oop)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
     sqInt header;

Modified: branches/Cog/nsspursrc/vm/cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.c	2014-10-24 18:53:45 UTC (rev 3109)
+++ branches/Cog/nsspursrc/vm/cointerp.c	2014-10-24 20:43:48 UTC (rev 3110)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
    from
-	CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2335,7 +2335,7 @@
 /*540*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.911";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.912";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -16289,18 +16289,21 @@
     sqInt primitiveIndex;
     sqInt top;
 
-	assert(!(methodHasCogMethod(aMethodObj)));
+
+	/* pop off inner return and locate open or closed PIC */
+
 	pic = ((CogMethod *) ((popStack()) - (interpretOffset())));
 	assert((((pic->cmType)) == CMOpenPIC)
 	 || (((pic->cmType)) == CMClosedPIC));
 	if (((pic->cmType)) == CMOpenPIC) {
+		assert(!(methodHasCogMethod(aMethodObj)));
 		if (methodShouldBeCogged(aMethodObj)) {
 			cogselector(aMethodObj, (pic->selector));
-			if (methodHasCogMethod(aMethodObj)) {
-				executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
-			}
 		}
 	}
+	if (methodHasCogMethod(aMethodObj)) {
+		executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
+	}
 	GIV(messageSelector) = (pic->selector);
 	GIV(newMethod) = aMethodObj;
 	/* begin primitiveIndexOfMethod:header: */

Modified: branches/Cog/nsspursrc/vm/cointerp.h
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.h	2014-10-24 18:53:45 UTC (rev 3109)
+++ branches/Cog/nsspursrc/vm/cointerp.h	2014-10-24 20:43:48 UTC (rev 3110)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
  */
 
 

Modified: branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2014-10-24 18:53:45 UTC (rev 3109)
+++ branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2014-10-24 20:43:48 UTC (rev 3110)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
    from
-	CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2338,7 +2338,7 @@
 /*540*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.911";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.912";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -16298,18 +16298,21 @@
     sqInt primitiveIndex;
     sqInt top;
 
-	assert(!(methodHasCogMethod(aMethodObj)));
+
+	/* pop off inner return and locate open or closed PIC */
+
 	pic = ((CogMethod *) ((popStack()) - (interpretOffset())));
 	assert((((pic->cmType)) == CMOpenPIC)
 	 || (((pic->cmType)) == CMClosedPIC));
 	if (((pic->cmType)) == CMOpenPIC) {
+		assert(!(methodHasCogMethod(aMethodObj)));
 		if (methodShouldBeCogged(aMethodObj)) {
 			cogselector(aMethodObj, (pic->selector));
-			if (methodHasCogMethod(aMethodObj)) {
-				executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
-			}
 		}
 	}
+	if (methodHasCogMethod(aMethodObj)) {
+		executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
+	}
 	GIV(messageSelector) = (pic->selector);
 	GIV(newMethod) = aMethodObj;
 	/* begin primitiveIndexOfMethod:header: */


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Fri Oct 24 11:52:39 PDT 2014
   + Fri Oct 24 13:43:54 PDT 2014

Modified: branches/Cog/sistasrc/vm/cointerp.c
===================================================================
--- branches/Cog/sistasrc/vm/cointerp.c	2014-10-24 18:53:45 UTC (rev 3109)
+++ branches/Cog/sistasrc/vm/cointerp.c	2014-10-24 20:43:48 UTC (rev 3110)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
    from
-	CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2081,7 +2081,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.911]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.912]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -14639,18 +14639,21 @@
     sqInt primitiveIndex;
     sqInt top;
 
-	assert(!(methodHasCogMethod(aMethodObj)));
+
+	/* pop off inner return and locate open or closed PIC */
+
 	pic = ((CogMethod *) ((popStack()) - (interpretOffset())));
 	assert((((pic->cmType)) == CMOpenPIC)
 	 || (((pic->cmType)) == CMClosedPIC));
 	if (((pic->cmType)) == CMOpenPIC) {
+		assert(!(methodHasCogMethod(aMethodObj)));
 		if (methodShouldBeCogged(aMethodObj)) {
 			cogselector(aMethodObj, (pic->selector));
-			if (methodHasCogMethod(aMethodObj)) {
-				executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
-			}
 		}
 	}
+	if (methodHasCogMethod(aMethodObj)) {
+		executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
+	}
 	GIV(messageSelector) = (pic->selector);
 	GIV(newMethod) = aMethodObj;
 	/* begin primitiveIndexOfMethod:header: */

Modified: branches/Cog/sistasrc/vm/cointerp.h
===================================================================
--- branches/Cog/sistasrc/vm/cointerp.h	2014-10-24 18:53:45 UTC (rev 3109)
+++ branches/Cog/sistasrc/vm/cointerp.h	2014-10-24 20:43:48 UTC (rev 3110)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
  */
 
 

Modified: branches/Cog/sistasrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/sistasrc/vm/gcc3x-cointerp.c	2014-10-24 18:53:45 UTC (rev 3109)
+++ branches/Cog/sistasrc/vm/gcc3x-cointerp.c	2014-10-24 20:43:48 UTC (rev 3110)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
    from
-	CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2084,7 +2084,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.911]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.912]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -14648,18 +14648,21 @@
     sqInt primitiveIndex;
     sqInt top;
 
-	assert(!(methodHasCogMethod(aMethodObj)));
+
+	/* pop off inner return and locate open or closed PIC */
+
 	pic = ((CogMethod *) ((popStack()) - (interpretOffset())));
 	assert((((pic->cmType)) == CMOpenPIC)
 	 || (((pic->cmType)) == CMClosedPIC));
 	if (((pic->cmType)) == CMOpenPIC) {
+		assert(!(methodHasCogMethod(aMethodObj)));
 		if (methodShouldBeCogged(aMethodObj)) {
 			cogselector(aMethodObj, (pic->selector));
-			if (methodHasCogMethod(aMethodObj)) {
-				executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
-			}
 		}
 	}
+	if (methodHasCogMethod(aMethodObj)) {
+		executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
+	}
 	GIV(messageSelector) = (pic->selector);
 	GIV(newMethod) = aMethodObj;
 	/* begin primitiveIndexOfMethod:header: */

Modified: branches/Cog/spursistasrc/vm/cointerp.c
===================================================================
--- branches/Cog/spursistasrc/vm/cointerp.c	2014-10-24 18:53:45 UTC (rev 3109)
+++ branches/Cog/spursistasrc/vm/cointerp.c	2014-10-24 20:43:48 UTC (rev 3110)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
    from
-	CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2330,7 +2330,7 @@
 /*540*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.911]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.912]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -5629,6 +5629,7 @@
 							GIV(framePointer) = localFP;
 							
 							ceEnterCogCodePopReceiverReg();
+							null;
 							goto l296;
 						}
 						localIP = pointerForOop(longAt(localFP + FoxIFSavedIP));
@@ -5646,7 +5647,7 @@
 					/* begin fetchNextBytecode */
 					currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-					/* return self */
+					null;
 				l296:	/* end baseFrameReturn */;
 					goto l295;
 				}
@@ -16906,18 +16907,21 @@
     sqInt primitiveIndex;
     sqInt top;
 
-	assert(!(methodHasCogMethod(aMethodObj)));
+
+	/* pop off inner return and locate open or closed PIC */
+
 	pic = ((CogMethod *) ((popStack()) - (interpretOffset())));
 	assert((((pic->cmType)) == CMOpenPIC)
 	 || (((pic->cmType)) == CMClosedPIC));
 	if (((pic->cmType)) == CMOpenPIC) {
+		assert(!(methodHasCogMethod(aMethodObj)));
 		if (methodShouldBeCogged(aMethodObj)) {
 			cogselector(aMethodObj, (pic->selector));
-			if (methodHasCogMethod(aMethodObj)) {
-				executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
-			}
 		}
 	}
+	if (methodHasCogMethod(aMethodObj)) {
+		executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
+	}
 	GIV(messageSelector) = (pic->selector);
 	GIV(newMethod) = aMethodObj;
 	/* begin primitiveIndexOfMethod:header: */

Modified: branches/Cog/spursistasrc/vm/cointerp.h
===================================================================
--- branches/Cog/spursistasrc/vm/cointerp.h	2014-10-24 18:53:45 UTC (rev 3109)
+++ branches/Cog/spursistasrc/vm/cointerp.h	2014-10-24 20:43:48 UTC (rev 3110)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
  */
 
 

Modified: branches/Cog/spursistasrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/spursistasrc/vm/gcc3x-cointerp.c	2014-10-24 18:53:45 UTC (rev 3109)
+++ branches/Cog/spursistasrc/vm/gcc3x-cointerp.c	2014-10-24 20:43:48 UTC (rev 3110)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
    from
-	CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2333,7 +2333,7 @@
 /*540*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.911]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.912]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -5638,6 +5638,7 @@
 							GIV(framePointer) = localFP;
 							
 							ceEnterCogCodePopReceiverReg();
+							null;
 							goto l296;
 						}
 						localIP = pointerForOop(longAt(localFP + FoxIFSavedIP));
@@ -5655,7 +5656,7 @@
 					/* begin fetchNextBytecode */
 					currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-					/* return self */
+					null;
 				l296:	/* end baseFrameReturn */;
 					goto l295;
 				}
@@ -16915,18 +16916,21 @@
     sqInt primitiveIndex;
     sqInt top;
 
-	assert(!(methodHasCogMethod(aMethodObj)));
+
+	/* pop off inner return and locate open or closed PIC */
+
 	pic = ((CogMethod *) ((popStack()) - (interpretOffset())));
 	assert((((pic->cmType)) == CMOpenPIC)
 	 || (((pic->cmType)) == CMClosedPIC));
 	if (((pic->cmType)) == CMOpenPIC) {
+		assert(!(methodHasCogMethod(aMethodObj)));
 		if (methodShouldBeCogged(aMethodObj)) {
 			cogselector(aMethodObj, (pic->selector));
-			if (methodHasCogMethod(aMethodObj)) {
-				executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
-			}
 		}
 	}
+	if (methodHasCogMethod(aMethodObj)) {
+		executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
+	}
 	GIV(messageSelector) = (pic->selector);
 	GIV(newMethod) = aMethodObj;
 	/* begin primitiveIndexOfMethod:header: */

Modified: branches/Cog/spursrc/vm/cointerp.c
===================================================================
--- branches/Cog/spursrc/vm/cointerp.c	2014-10-24 18:53:45 UTC (rev 3109)
+++ branches/Cog/spursrc/vm/cointerp.c	2014-10-24 20:43:48 UTC (rev 3110)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
    from
-	CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2322,7 +2322,7 @@
 /*540*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.911]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.912]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -11548,18 +11548,21 @@
     sqInt primitiveIndex;
     sqInt top;
 
-	assert(!(methodHasCogMethod(aMethodObj)));
+
+	/* pop off inner return and locate open or closed PIC */
+
 	pic = ((CogMethod *) ((popStack()) - (interpretOffset())));
 	assert((((pic->cmType)) == CMOpenPIC)
 	 || (((pic->cmType)) == CMClosedPIC));
 	if (((pic->cmType)) == CMOpenPIC) {
+		assert(!(methodHasCogMethod(aMethodObj)));
 		if (methodShouldBeCogged(aMethodObj)) {
 			cogselector(aMethodObj, (pic->selector));
-			if (methodHasCogMethod(aMethodObj)) {
-				executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
-			}
 		}
 	}
+	if (methodHasCogMethod(aMethodObj)) {
+		executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
+	}
 	GIV(messageSelector) = (pic->selector);
 	GIV(newMethod) = aMethodObj;
 	/* begin primitiveIndexOfMethod:header: */

Modified: branches/Cog/spursrc/vm/cointerp.h
===================================================================
--- branches/Cog/spursrc/vm/cointerp.h	2014-10-24 18:53:45 UTC (rev 3109)
+++ branches/Cog/spursrc/vm/cointerp.h	2014-10-24 20:43:48 UTC (rev 3110)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
  */
 
 

Modified: branches/Cog/spursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/spursrc/vm/gcc3x-cointerp.c	2014-10-24 18:53:45 UTC (rev 3109)
+++ branches/Cog/spursrc/vm/gcc3x-cointerp.c	2014-10-24 20:43:48 UTC (rev 3110)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
    from
-	CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2325,7 +2325,7 @@
 /*540*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.911]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.912]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -11557,18 +11557,21 @@
     sqInt primitiveIndex;
     sqInt top;
 
-	assert(!(methodHasCogMethod(aMethodObj)));
+
+	/* pop off inner return and locate open or closed PIC */
+
 	pic = ((CogMethod *) ((popStack()) - (interpretOffset())));
 	assert((((pic->cmType)) == CMOpenPIC)
 	 || (((pic->cmType)) == CMClosedPIC));
 	if (((pic->cmType)) == CMOpenPIC) {
+		assert(!(methodHasCogMethod(aMethodObj)));
 		if (methodShouldBeCogged(aMethodObj)) {
 			cogselector(aMethodObj, (pic->selector));
-			if (methodHasCogMethod(aMethodObj)) {
-				executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
-			}
 		}
 	}
+	if (methodHasCogMethod(aMethodObj)) {
+		executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
+	}
 	GIV(messageSelector) = (pic->selector);
 	GIV(newMethod) = aMethodObj;
 	/* begin primitiveIndexOfMethod:header: */

Modified: branches/Cog/src/vm/cointerp.c
===================================================================
--- branches/Cog/src/vm/cointerp.c	2014-10-24 18:53:45 UTC (rev 3109)
+++ branches/Cog/src/vm/cointerp.c	2014-10-24 20:43:48 UTC (rev 3110)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
    from
-	CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2073,7 +2073,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.911]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.912]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -10202,18 +10202,21 @@
     sqInt primitiveIndex;
     sqInt top;
 
-	assert(!(methodHasCogMethod(aMethodObj)));
+
+	/* pop off inner return and locate open or closed PIC */
+
 	pic = ((CogMethod *) ((popStack()) - (interpretOffset())));
 	assert((((pic->cmType)) == CMOpenPIC)
 	 || (((pic->cmType)) == CMClosedPIC));
 	if (((pic->cmType)) == CMOpenPIC) {
+		assert(!(methodHasCogMethod(aMethodObj)));
 		if (methodShouldBeCogged(aMethodObj)) {
 			cogselector(aMethodObj, (pic->selector));
-			if (methodHasCogMethod(aMethodObj)) {
-				executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
-			}
 		}
 	}
+	if (methodHasCogMethod(aMethodObj)) {
+		executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
+	}
 	GIV(messageSelector) = (pic->selector);
 	GIV(newMethod) = aMethodObj;
 	/* begin primitiveIndexOfMethod:header: */

Modified: branches/Cog/src/vm/cointerp.h
===================================================================
--- branches/Cog/src/vm/cointerp.h	2014-10-24 18:53:45 UTC (rev 3109)
+++ branches/Cog/src/vm/cointerp.h	2014-10-24 20:43:48 UTC (rev 3110)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
  */
 
 

Modified: branches/Cog/src/vm/cointerpmt.c
===================================================================
--- branches/Cog/src/vm/cointerpmt.c	2014-10-24 18:53:45 UTC (rev 3109)
+++ branches/Cog/src/vm/cointerpmt.c	2014-10-24 20:43:48 UTC (rev 3110)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
    from
-	CoInterpreterMT VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CoInterpreterMT VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
  */
-static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd " __DATE__ ;
+static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2170,7 +2170,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.911]";
+const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.912]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 sqInt willNotThreadWarnCount;
@@ -10654,18 +10654,21 @@
     sqInt primitiveIndex;
     sqInt top;
 
-	assert(!(methodHasCogMethod(aMethodObj)));
+
+	/* pop off inner return and locate open or closed PIC */
+
 	pic = ((CogMethod *) ((popStack()) - (interpretOffset())));
 	assert((((pic->cmType)) == CMOpenPIC)
 	 || (((pic->cmType)) == CMClosedPIC));
 	if (((pic->cmType)) == CMOpenPIC) {
+		assert(!(methodHasCogMethod(aMethodObj)));
 		if (methodShouldBeCogged(aMethodObj)) {
 			cogselector(aMethodObj, (pic->selector));
-			if (methodHasCogMethod(aMethodObj)) {
-				executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
-			}
 		}
 	}
+	if (methodHasCogMethod(aMethodObj)) {
+		executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
+	}
 	GIV(messageSelector) = (pic->selector);
 	GIV(newMethod) = aMethodObj;
 	/* begin primitiveIndexOfMethod:header: */

Modified: branches/Cog/src/vm/cointerpmt.h
===================================================================
--- branches/Cog/src/vm/cointerpmt.h	2014-10-24 18:53:45 UTC (rev 3109)
+++ branches/Cog/src/vm/cointerpmt.h	2014-10-24 20:43:48 UTC (rev 3110)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
  */
 
 

Modified: branches/Cog/src/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/src/vm/gcc3x-cointerp.c	2014-10-24 18:53:45 UTC (rev 3109)
+++ branches/Cog/src/vm/gcc3x-cointerp.c	2014-10-24 20:43:48 UTC (rev 3110)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
    from
-	CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2076,7 +2076,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.911]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.912]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -10211,18 +10211,21 @@
     sqInt primitiveIndex;
     sqInt top;
 
-	assert(!(methodHasCogMethod(aMethodObj)));
+
+	/* pop off inner return and locate open or closed PIC */
+
 	pic = ((CogMethod *) ((popStack()) - (interpretOffset())));
 	assert((((pic->cmType)) == CMOpenPIC)
 	 || (((pic->cmType)) == CMClosedPIC));
 	if (((pic->cmType)) == CMOpenPIC) {
+		assert(!(methodHasCogMethod(aMethodObj)));
 		if (methodShouldBeCogged(aMethodObj)) {
 			cogselector(aMethodObj, (pic->selector));
-			if (methodHasCogMethod(aMethodObj)) {
-				executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
-			}
 		}
 	}
+	if (methodHasCogMethod(aMethodObj)) {
+		executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
+	}
 	GIV(messageSelector) = (pic->selector);
 	GIV(newMethod) = aMethodObj;
 	/* begin primitiveIndexOfMethod:header: */

Modified: branches/Cog/src/vm/gcc3x-cointerpmt.c
===================================================================
--- branches/Cog/src/vm/gcc3x-cointerpmt.c	2014-10-24 18:53:45 UTC (rev 3109)
+++ branches/Cog/src/vm/gcc3x-cointerpmt.c	2014-10-24 20:43:48 UTC (rev 3110)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
    from
-	CoInterpreterMT VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd
+	CoInterpreterMT VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c
  */
-static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.911 uuid: 39c7bff8-ff88-43a5-88bc-cbbdb206cbcd " __DATE__ ;
+static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.912 uuid: d8b9d04a-adc6-44f8-b460-225d5ab73f6c " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2173,7 +2173,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.911]";
+const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.912]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 sqInt willNotThreadWarnCount;
@@ -10663,18 +10663,21 @@
     sqInt primitiveIndex;
     sqInt top;
 
-	assert(!(methodHasCogMethod(aMethodObj)));
+
+	/* pop off inner return and locate open or closed PIC */
+
 	pic = ((CogMethod *) ((popStack()) - (interpretOffset())));
 	assert((((pic->cmType)) == CMOpenPIC)
 	 || (((pic->cmType)) == CMClosedPIC));
 	if (((pic->cmType)) == CMOpenPIC) {
+		assert(!(methodHasCogMethod(aMethodObj)));
 		if (methodShouldBeCogged(aMethodObj)) {
 			cogselector(aMethodObj, (pic->selector));
-			if (methodHasCogMethod(aMethodObj)) {
-				executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
-			}
 		}
 	}
+	if (methodHasCogMethod(aMethodObj)) {
+		executeCogMethodfromUnlinkedSendWithReceiver(cogMethodOf(aMethodObj), rcvr);
+	}
 	GIV(messageSelector) = (pic->selector);
 	GIV(newMethod) = aMethodObj;
 	/* begin primitiveIndexOfMethod:header: */



More information about the Vm-dev mailing list