[Vm-dev] [commit][2911] CogVM source as per VMMaker.oscog-eem.696

commits at squeakvm.org commits at squeakvm.org
Thu May 1 18:40:55 UTC 2014


Revision: 2911
Author:   eliot
Date:     2014-05-01 11:40:52 -0700 (Thu, 01 May 2014)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.696

Slang:
Fix generation of expressions in while forever with break
and do while loops.  Hence rescue compilability of Spur VMs.

Spur:
Remove redundant test from moveARunOfObjectsStartingAt:upTo:

Rename the 64-bit accessors in sqMemoryAccess.h from longLongAt... to long64At...
to reflect the change in the Spur hierarchy.

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/platforms/Cross/vm/sqMemoryAccess.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-01 17:16:01 UTC (rev 2910)
+++ branches/Cog/nsspursrc/vm/cointerp.c	2014-05-01 18:40:52 UTC (rev 2911)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
    from
-	CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CoInterpreter VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -773,7 +773,6 @@
 static sqInt isMachineCodeFrame(char *theFP);
 sqInt isMarked(sqInt objOop);
 static sqInt isMarriedOrWidowedContext(sqInt aContext);
-static sqInt isMobileObject(sqInt objOop);
 static sqInt isNegativeIntegerValueOf(sqInt oop);
 sqInt isNonImmediate(sqInt oop);
 static sqInt isNullExternalPrimitiveCall(sqInt aMethodObj);
@@ -1476,9 +1475,9 @@
 _iss sqInt weaklingStack;
 _iss sqInt jmpDepth;
 _iss sqLong nextProfileTick;
-_iss sqInt numClassTablePages;
 _iss sqInt numRememberedEphemerons;
 _iss sqInt classNameIndex;
+_iss sqInt numClassTablePages;
 _iss sqInt longRunningPrimitiveCheckSemaphore;
 _iss sqInt tempOop;
 _iss char * objStackInvalidBecause;
@@ -2212,7 +2211,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.695";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.696";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -5504,7 +5503,6 @@
 							GIV(framePointer) = localFP;
 							
 							ceEnterCogCodePopReceiverReg();
-							null;
 							goto l290;
 						}
 						localIP = pointerForOop(longAt(localFP + FoxIFSavedIP));
@@ -5522,7 +5520,7 @@
 					/* begin fetchNextBytecode */
 					currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-					null;
+					/* return self */
 				l290:	/* end baseFrameReturn */;
 					goto l287;
 				}
@@ -22586,12 +22584,9 @@
 						? here + (BaseHeaderSize)
 						: here);
 					hereObjHeader = longAt(hereObj);
-					if (if (((((usqInt) hereObjHeader) >> 30) & 1) != 0) {
-	0;
-}
-else {
-	(hereObjHeader & 0x3FFFFF) > 8;
-}) break;
+					if ((((((usqInt) hereObjHeader) >> 30) & 1) != 0
+	? 0
+	: (hereObjHeader & 0x3FFFFF) > 8)) break;
 					/* begin addressAfter: */
 					/* begin numSlotsOfAny: */
 					numSlots12 = byteAt(hereObj + 7);
@@ -22767,8 +22762,10 @@
 						: there);
 					goto l5;
 				}
-				if (((there - here) >= ((8 * 4) * 8))
-				 && (isMobileObject(hereObj))) {
+				if ((there - here) >= ((8 * 4) * 8)) {
+
+					/* 256b in 32 bit, 512b in 64 bit */
+
 					/* begin tryToMovePig:at:end: */
 					prevPrevFree = (prevFree1 = 0);
 					freeChunk = GIV(firstFreeChunk);
@@ -33288,22 +33285,6 @@
 }
 
 
-/*	Answer if objOop should be moved during compaction. Non-objects
-	(free chunks & bridges), forwarders and pinned objects are excluded. */
-
-static sqInt
-isMobileObject(sqInt objOop)
-{   DECL_MAYBE_SQ_GLOBAL_STRUCT
-    sqInt classIndex;
-
-	classIndex = (longAt(objOop)) & 0x3FFFFF;
-	assert(((long64At(objOop)) != 0)
-	 && (classIndex < (GIV(numClassTablePages) * (classTablePageSize()))));
-	return (classIndex > 8)
-	 && (!(((((usqInt) (longAt(objOop))) >> 30) & 1) != 0));
-}
-
-
 /*	Answer true if integer object is negative.
 	Fail if object pointed by oop i not an integer. */
 

Modified: branches/Cog/nsspursrc/vm/cointerp.h
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.h	2014-05-01 17:16:01 UTC (rev 2910)
+++ branches/Cog/nsspursrc/vm/cointerp.h	2014-05-01 18:40:52 UTC (rev 2911)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
  */
 
 

Modified: branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2014-05-01 17:16:01 UTC (rev 2910)
+++ branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2014-05-01 18:40:52 UTC (rev 2911)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
    from
-	CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CoInterpreter VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -776,7 +776,6 @@
 static sqInt isMachineCodeFrame(char *theFP);
 sqInt isMarked(sqInt objOop);
 static sqInt isMarriedOrWidowedContext(sqInt aContext);
-static sqInt isMobileObject(sqInt objOop);
 static sqInt isNegativeIntegerValueOf(sqInt oop);
 sqInt isNonImmediate(sqInt oop);
 static sqInt isNullExternalPrimitiveCall(sqInt aMethodObj);
@@ -1479,9 +1478,9 @@
 _iss sqInt weaklingStack;
 _iss sqInt jmpDepth;
 _iss sqLong nextProfileTick;
-_iss sqInt numClassTablePages;
 _iss sqInt numRememberedEphemerons;
 _iss sqInt classNameIndex;
+_iss sqInt numClassTablePages;
 _iss sqInt longRunningPrimitiveCheckSemaphore;
 _iss sqInt tempOop;
 _iss char * objStackInvalidBecause;
@@ -2215,7 +2214,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.695";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.696";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -5513,7 +5512,6 @@
 							GIV(framePointer) = localFP;
 							
 							ceEnterCogCodePopReceiverReg();
-							null;
 							goto l290;
 						}
 						localIP = pointerForOop(longAt(localFP + FoxIFSavedIP));
@@ -5531,7 +5529,7 @@
 					/* begin fetchNextBytecode */
 					currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
 
-					null;
+					/* return self */
 				l290:	/* end baseFrameReturn */;
 					goto l287;
 				}
@@ -22595,12 +22593,9 @@
 						? here + (BaseHeaderSize)
 						: here);
 					hereObjHeader = longAt(hereObj);
-					if (if (((((usqInt) hereObjHeader) >> 30) & 1) != 0) {
-	0;
-}
-else {
-	(hereObjHeader & 0x3FFFFF) > 8;
-}) break;
+					if ((((((usqInt) hereObjHeader) >> 30) & 1) != 0
+	? 0
+	: (hereObjHeader & 0x3FFFFF) > 8)) break;
 					/* begin addressAfter: */
 					/* begin numSlotsOfAny: */
 					numSlots12 = byteAt(hereObj + 7);
@@ -22776,8 +22771,10 @@
 						: there);
 					goto l5;
 				}
-				if (((there - here) >= ((8 * 4) * 8))
-				 && (isMobileObject(hereObj))) {
+				if ((there - here) >= ((8 * 4) * 8)) {
+
+					/* 256b in 32 bit, 512b in 64 bit */
+
 					/* begin tryToMovePig:at:end: */
 					prevPrevFree = (prevFree1 = 0);
 					freeChunk = GIV(firstFreeChunk);
@@ -33297,22 +33294,6 @@
 }
 
 
-/*	Answer if objOop should be moved during compaction. Non-objects
-	(free chunks & bridges), forwarders and pinned objects are excluded. */
-
-static sqInt
-isMobileObject(sqInt objOop)
-{   DECL_MAYBE_SQ_GLOBAL_STRUCT
-    sqInt classIndex;
-
-	classIndex = (longAt(objOop)) & 0x3FFFFF;
-	assert(((long64At(objOop)) != 0)
-	 && (classIndex < (GIV(numClassTablePages) * (classTablePageSize()))));
-	return (classIndex > 8)
-	 && (!(((((usqInt) (longAt(objOop))) >> 30) & 1) != 0));
-}
-
-
 /*	Answer true if integer object is negative.
 	Fail if object pointed by oop i not an integer. */
 

Modified: branches/Cog/nsspursrc/vm/interp.h
===================================================================
--- branches/Cog/nsspursrc/vm/interp.h	2014-05-01 17:16:01 UTC (rev 2910)
+++ branches/Cog/nsspursrc/vm/interp.h	2014-05-01 18:40:52 UTC (rev 2911)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/nsspursrc/vm/vmCallback.h
===================================================================
--- branches/Cog/nsspursrc/vm/vmCallback.h	2014-05-01 17:16:01 UTC (rev 2910)
+++ branches/Cog/nsspursrc/vm/vmCallback.h	2014-05-01 18:40:52 UTC (rev 2911)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
  */
 
 #define VM_CALLBACK_INC 1

Modified: branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2014-05-01 17:16:01 UTC (rev 2910)
+++ branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2014-05-01 18:40:52 UTC (rev 2911)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
    from
-	StackInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	StackInterpreter VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -651,7 +651,6 @@
 static sqInt isMachineCodeFrame(char *theFP);
 sqInt isMarked(sqInt objOop);
 static sqInt isMarriedOrWidowedContext(sqInt aContext);
-static sqInt isMobileObject(sqInt objOop);
 static sqInt isNegativeIntegerValueOf(sqInt oop);
 sqInt isNonImmediate(sqInt oop);
 sqInt isOldObject(sqInt objOop);
@@ -1284,9 +1283,9 @@
 _iss usqInt oldSpaceStart;
 _iss sqInt classTableFirstPage;
 _iss sqInt jmpDepth;
-_iss sqInt numClassTablePages;
 _iss sqInt numRememberedEphemerons;
 _iss sqInt classNameIndex;
+_iss sqInt numClassTablePages;
 _iss sqInt numStackPages;
 _iss sqInt tempOop;
 _iss sqLong nextProfileTick;
@@ -2002,7 +2001,7 @@
  0 };
 char * breakSelector;
 sqInt breakSelectorLength = -1;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.695";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.696";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -19496,12 +19495,9 @@
 						? here + (BaseHeaderSize)
 						: here);
 					hereObjHeader = longAt(hereObj);
-					if (if (((((usqInt) hereObjHeader) >> 30) & 1) != 0) {
-	0;
-}
-else {
-	(hereObjHeader & 0x3FFFFF) > 8;
-}) break;
+					if ((((((usqInt) hereObjHeader) >> 30) & 1) != 0
+	? 0
+	: (hereObjHeader & 0x3FFFFF) > 8)) break;
 					/* begin addressAfter: */
 					/* begin numSlotsOfAny: */
 					numSlots12 = byteAt(hereObj + 7);
@@ -19677,8 +19673,10 @@
 						: there);
 					goto l5;
 				}
-				if (((there - here) >= ((8 * 4) * 8))
-				 && (isMobileObject(hereObj))) {
+				if ((there - here) >= ((8 * 4) * 8)) {
+
+					/* 256b in 32 bit, 512b in 64 bit */
+
 					/* begin tryToMovePig:at:end: */
 					prevPrevFree = (prevFree1 = 0);
 					freeChunk = GIV(firstFreeChunk);
@@ -28716,22 +28714,6 @@
 }
 
 
-/*	Answer if objOop should be moved during compaction. Non-objects
-	(free chunks & bridges), forwarders and pinned objects are excluded. */
-
-static sqInt
-isMobileObject(sqInt objOop)
-{   DECL_MAYBE_SQ_GLOBAL_STRUCT
-    sqInt classIndex;
-
-	classIndex = (longAt(objOop)) & 0x3FFFFF;
-	assert(((long64At(objOop)) != 0)
-	 && (classIndex < (GIV(numClassTablePages) * (classTablePageSize()))));
-	return (classIndex > 8)
-	 && (!(((((usqInt) (longAt(objOop))) >> 30) & 1) != 0));
-}
-
-
 /*	Answer true if integer object is negative.
 	Fail if object pointed by oop i not an integer. */
 

Modified: branches/Cog/nsspurstacksrc/vm/interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/interp.c	2014-05-01 17:16:01 UTC (rev 2910)
+++ branches/Cog/nsspurstacksrc/vm/interp.c	2014-05-01 18:40:52 UTC (rev 2911)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
    from
-	StackInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	StackInterpreter VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -648,7 +648,6 @@
 static sqInt isMachineCodeFrame(char *theFP);
 sqInt isMarked(sqInt objOop);
 static sqInt isMarriedOrWidowedContext(sqInt aContext);
-static sqInt isMobileObject(sqInt objOop);
 static sqInt isNegativeIntegerValueOf(sqInt oop);
 sqInt isNonImmediate(sqInt oop);
 sqInt isOldObject(sqInt objOop);
@@ -1281,9 +1280,9 @@
 _iss usqInt oldSpaceStart;
 _iss sqInt classTableFirstPage;
 _iss sqInt jmpDepth;
-_iss sqInt numClassTablePages;
 _iss sqInt numRememberedEphemerons;
 _iss sqInt classNameIndex;
+_iss sqInt numClassTablePages;
 _iss sqInt numStackPages;
 _iss sqInt tempOop;
 _iss sqLong nextProfileTick;
@@ -1999,7 +1998,7 @@
  0 };
 char * breakSelector;
 sqInt breakSelectorLength = -1;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.695";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.696";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -19487,12 +19486,9 @@
 						? here + (BaseHeaderSize)
 						: here);
 					hereObjHeader = longAt(hereObj);
-					if (if (((((usqInt) hereObjHeader) >> 30) & 1) != 0) {
-	0;
-}
-else {
-	(hereObjHeader & 0x3FFFFF) > 8;
-}) break;
+					if ((((((usqInt) hereObjHeader) >> 30) & 1) != 0
+	? 0
+	: (hereObjHeader & 0x3FFFFF) > 8)) break;
 					/* begin addressAfter: */
 					/* begin numSlotsOfAny: */
 					numSlots12 = byteAt(hereObj + 7);
@@ -19668,8 +19664,10 @@
 						: there);
 					goto l5;
 				}
-				if (((there - here) >= ((8 * 4) * 8))
-				 && (isMobileObject(hereObj))) {
+				if ((there - here) >= ((8 * 4) * 8)) {
+
+					/* 256b in 32 bit, 512b in 64 bit */
+
 					/* begin tryToMovePig:at:end: */
 					prevPrevFree = (prevFree1 = 0);
 					freeChunk = GIV(firstFreeChunk);
@@ -28707,22 +28705,6 @@
 }
 
 
-/*	Answer if objOop should be moved during compaction. Non-objects
-	(free chunks & bridges), forwarders and pinned objects are excluded. */
-
-static sqInt
-isMobileObject(sqInt objOop)
-{   DECL_MAYBE_SQ_GLOBAL_STRUCT
-    sqInt classIndex;
-
-	classIndex = (longAt(objOop)) & 0x3FFFFF;
-	assert(((long64At(objOop)) != 0)
-	 && (classIndex < (GIV(numClassTablePages) * (classTablePageSize()))));
-	return (classIndex > 8)
-	 && (!(((((usqInt) (longAt(objOop))) >> 30) & 1) != 0));
-}
-
-
 /*	Answer true if integer object is negative.
 	Fail if object pointed by oop i not an integer. */
 

Modified: branches/Cog/nsspurstacksrc/vm/interp.h
===================================================================
--- branches/Cog/nsspurstacksrc/vm/interp.h	2014-05-01 17:16:01 UTC (rev 2910)
+++ branches/Cog/nsspurstacksrc/vm/interp.h	2014-05-01 18:40:52 UTC (rev 2911)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/nsspurstacksrc/vm/vmCallback.h
===================================================================
--- branches/Cog/nsspurstacksrc/vm/vmCallback.h	2014-05-01 17:16:01 UTC (rev 2910)
+++ branches/Cog/nsspurstacksrc/vm/vmCallback.h	2014-05-01 18:40:52 UTC (rev 2911)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
  */
 
 #define VM_CALLBACK_INC 1

Modified: branches/Cog/platforms/Cross/vm/sqMemoryAccess.h
===================================================================
--- branches/Cog/platforms/Cross/vm/sqMemoryAccess.h	2014-05-01 17:16:01 UTC (rev 2910)
+++ branches/Cog/platforms/Cross/vm/sqMemoryAccess.h	2014-05-01 18:40:52 UTC (rev 2911)
@@ -79,8 +79,8 @@
   static inline sqInt intAtPointerput(char *ptr, int val)	{ return (sqInt)(*((unsigned int *)ptr)= val); }
   static inline sqInt longAtPointer(char *ptr)			{ return *(sqInt *)ptr; }
   static inline sqInt longAtPointerput(char *ptr, sqInt val)	{ return *(sqInt *)ptr= val; }
-  static inline sqLong longLongAtPointer(char *ptr)			{ return *(sqLong *)ptr; }
-  static inline sqLong longLongAtPointerput(char *ptr, sqLong val)	{ return *(sqLong *)ptr= val; }
+  static inline sqLong long64AtPointer(char *ptr)			{ return *(sqLong *)ptr; }
+  static inline sqLong long64AtPointerput(char *ptr, sqLong val)	{ return *(sqLong *)ptr= val; }
   static inline sqInt oopAtPointer(char *ptr)			{ return *(sqInt *)ptr; }
   static inline sqInt oopAtPointerput(char *ptr, sqInt val)	{ return (sqInt)(*(sqInt *)ptr= val); }
 # if defined(sqMemoryBase) && !sqMemoryBase
@@ -98,8 +98,8 @@
   static inline sqInt intAtput(sqInt oop, int val)		{ return intAtPointerput(pointerForOop(oop), val); }
   static inline sqInt longAt(sqInt oop)				{ return longAtPointer(pointerForOop(oop)); }
   static inline sqInt longAtput(sqInt oop, sqInt val)		{ return longAtPointerput(pointerForOop(oop), val); }
-  static inline sqLong longLongAt(sqInt oop)				{ return longLongAtPointer(pointerForOop(oop)); }
-  static inline sqLong longLongAtput(sqInt oop, sqLong val)		{ return longLongAtPointerput(pointerForOop(oop), val); }
+  static inline sqLong long64At(sqInt oop)				{ return long64AtPointer(pointerForOop(oop)); }
+  static inline sqLong long64Atput(sqInt oop, sqLong val)		{ return long64AtPointerput(pointerForOop(oop), val); }
   static inline sqInt oopAt(sqInt oop)				{ return oopAtPointer(pointerForOop(oop)); }
   static inline sqInt oopAtput(sqInt oop, sqInt val)		{ return oopAtPointerput(pointerForOop(oop), val); }
 #else
@@ -112,8 +112,8 @@
 # define intAtPointerput(ptr,val)	((sqInt)(*((int *)(ptr))= (int)(val)))
 # define longAtPointer(ptr)			(*(sqInt *)(ptr))
 # define longAtPointerput(ptr,val)	(*(sqInt *)(ptr)= (sqInt)(val))
-# define longLongAtPointer(ptr)			(*(sqLong *)(ptr))
-# define longLongAtPointerput(ptr,val)	(*(sqLong *)(ptr)= (sqLong)(val))
+# define long64AtPointer(ptr)			(*(sqLong *)(ptr))
+# define long64AtPointerput(ptr,val)	(*(sqLong *)(ptr)= (sqLong)(val))
 # define oopAtPointer(ptr)			(*(sqInt *)(ptr))
 # define oopAtPointerput(ptr,val)	(*(sqInt *)(ptr)= (sqInt)(val))
 # if defined(sqMemoryBase) && !sqMemoryBase
@@ -129,8 +129,8 @@
 # define shortAtput(oop,val)		shortAtPointerput(pointerForOop(oop), (val))
 # define longAt(oop)				longAtPointer(pointerForOop(oop))
 # define longAtput(oop,val)			longAtPointerput(pointerForOop(oop), (val))
-# define longLongAt(oop)			longLongAtPointer(pointerForOop(oop))
-# define longLongAtput(oop,val)		longLongAtPointerput(pointerForOop(oop), (val))
+# define long64At(oop)			long64AtPointer(pointerForOop(oop))
+# define long64Atput(oop,val)		long64AtPointerput(pointerForOop(oop), (val))
 # define intAt(oop)					intAtPointer(pointerForOop(oop))
 # define intAtput(oop,val)			intAtPointerput(pointerForOop(oop), (val))
 # define oopAt(oop)					oopAtPointer(pointerForOop(oop))


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Thu May  1 10:08:34 PDT 2014
   + Thu May  1 11:38:57 PDT 2014

Modified: branches/Cog/spursrc/vm/cointerp.c
===================================================================
--- branches/Cog/spursrc/vm/cointerp.c	2014-05-01 17:16:01 UTC (rev 2910)
+++ branches/Cog/spursrc/vm/cointerp.c	2014-05-01 18:40:52 UTC (rev 2911)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
    from
-	CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CoInterpreter VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -765,7 +765,6 @@
 static sqInt isMachineCodeFrame(char *theFP);
 sqInt isMarked(sqInt objOop);
 static sqInt isMarriedOrWidowedContext(sqInt aContext);
-static sqInt isMobileObject(sqInt objOop);
 static sqInt isNegativeIntegerValueOf(sqInt oop);
 sqInt isNonImmediate(sqInt oop);
 static sqInt isNullExternalPrimitiveCall(sqInt aMethodObj);
@@ -1466,9 +1465,9 @@
 _iss sqInt classTableFirstPage;
 _iss sqInt jmpDepth;
 _iss sqLong nextProfileTick;
-_iss sqInt numClassTablePages;
 _iss sqInt numRememberedEphemerons;
 _iss sqInt classNameIndex;
+_iss sqInt numClassTablePages;
 _iss sqInt longRunningPrimitiveCheckSemaphore;
 _iss sqInt tempOop;
 _iss char * objStackInvalidBecause;
@@ -2202,7 +2201,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.695]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.696]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -17784,12 +17783,9 @@
 						? here + (BaseHeaderSize)
 						: here);
 					hereObjHeader = longAt(hereObj);
-					if (if (((((usqInt) hereObjHeader) >> 30) & 1) != 0) {
-	0;
-}
-else {
-	(hereObjHeader & 0x3FFFFF) > 8;
-}) break;
+					if ((((((usqInt) hereObjHeader) >> 30) & 1) != 0
+	? 0
+	: (hereObjHeader & 0x3FFFFF) > 8)) break;
 					/* begin addressAfter: */
 					/* begin numSlotsOfAny: */
 					numSlots12 = byteAt(hereObj + 7);
@@ -17965,8 +17961,10 @@
 						: there);
 					goto l5;
 				}
-				if (((there - here) >= ((8 * 4) * 8))
-				 && (isMobileObject(hereObj))) {
+				if ((there - here) >= ((8 * 4) * 8)) {
+
+					/* 256b in 32 bit, 512b in 64 bit */
+
 					/* begin tryToMovePig:at:end: */
 					prevPrevFree = (prevFree1 = 0);
 					freeChunk = GIV(firstFreeChunk);
@@ -28041,22 +28039,6 @@
 }
 
 
-/*	Answer if objOop should be moved during compaction. Non-objects
-	(free chunks & bridges), forwarders and pinned objects are excluded. */
-
-static sqInt
-isMobileObject(sqInt objOop)
-{   DECL_MAYBE_SQ_GLOBAL_STRUCT
-    sqInt classIndex;
-
-	classIndex = (longAt(objOop)) & 0x3FFFFF;
-	assert(((long64At(objOop)) != 0)
-	 && (classIndex < (GIV(numClassTablePages) * (classTablePageSize()))));
-	return (classIndex > 8)
-	 && (!(((((usqInt) (longAt(objOop))) >> 30) & 1) != 0));
-}
-
-
 /*	Answer true if integer object is negative.
 	Fail if object pointed by oop i not an integer. */
 

Modified: branches/Cog/spursrc/vm/cointerp.h
===================================================================
--- branches/Cog/spursrc/vm/cointerp.h	2014-05-01 17:16:01 UTC (rev 2910)
+++ branches/Cog/spursrc/vm/cointerp.h	2014-05-01 18:40:52 UTC (rev 2911)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
  */
 
 

Modified: branches/Cog/spursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/spursrc/vm/gcc3x-cointerp.c	2014-05-01 17:16:01 UTC (rev 2910)
+++ branches/Cog/spursrc/vm/gcc3x-cointerp.c	2014-05-01 18:40:52 UTC (rev 2911)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
    from
-	CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CoInterpreter VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -768,7 +768,6 @@
 static sqInt isMachineCodeFrame(char *theFP);
 sqInt isMarked(sqInt objOop);
 static sqInt isMarriedOrWidowedContext(sqInt aContext);
-static sqInt isMobileObject(sqInt objOop);
 static sqInt isNegativeIntegerValueOf(sqInt oop);
 sqInt isNonImmediate(sqInt oop);
 static sqInt isNullExternalPrimitiveCall(sqInt aMethodObj);
@@ -1469,9 +1468,9 @@
 _iss sqInt classTableFirstPage;
 _iss sqInt jmpDepth;
 _iss sqLong nextProfileTick;
-_iss sqInt numClassTablePages;
 _iss sqInt numRememberedEphemerons;
 _iss sqInt classNameIndex;
+_iss sqInt numClassTablePages;
 _iss sqInt longRunningPrimitiveCheckSemaphore;
 _iss sqInt tempOop;
 _iss char * objStackInvalidBecause;
@@ -2205,7 +2204,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.695]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.696]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -17793,12 +17792,9 @@
 						? here + (BaseHeaderSize)
 						: here);
 					hereObjHeader = longAt(hereObj);
-					if (if (((((usqInt) hereObjHeader) >> 30) & 1) != 0) {
-	0;
-}
-else {
-	(hereObjHeader & 0x3FFFFF) > 8;
-}) break;
+					if ((((((usqInt) hereObjHeader) >> 30) & 1) != 0
+	? 0
+	: (hereObjHeader & 0x3FFFFF) > 8)) break;
 					/* begin addressAfter: */
 					/* begin numSlotsOfAny: */
 					numSlots12 = byteAt(hereObj + 7);
@@ -17974,8 +17970,10 @@
 						: there);
 					goto l5;
 				}
-				if (((there - here) >= ((8 * 4) * 8))
-				 && (isMobileObject(hereObj))) {
+				if ((there - here) >= ((8 * 4) * 8)) {
+
+					/* 256b in 32 bit, 512b in 64 bit */
+
 					/* begin tryToMovePig:at:end: */
 					prevPrevFree = (prevFree1 = 0);
 					freeChunk = GIV(firstFreeChunk);
@@ -28050,22 +28048,6 @@
 }
 
 
-/*	Answer if objOop should be moved during compaction. Non-objects
-	(free chunks & bridges), forwarders and pinned objects are excluded. */
-
-static sqInt
-isMobileObject(sqInt objOop)
-{   DECL_MAYBE_SQ_GLOBAL_STRUCT
-    sqInt classIndex;
-
-	classIndex = (longAt(objOop)) & 0x3FFFFF;
-	assert(((long64At(objOop)) != 0)
-	 && (classIndex < (GIV(numClassTablePages) * (classTablePageSize()))));
-	return (classIndex > 8)
-	 && (!(((((usqInt) (longAt(objOop))) >> 30) & 1) != 0));
-}
-
-
 /*	Answer true if integer object is negative.
 	Fail if object pointed by oop i not an integer. */
 

Modified: branches/Cog/spursrc/vm/interp.h
===================================================================
--- branches/Cog/spursrc/vm/interp.h	2014-05-01 17:16:01 UTC (rev 2910)
+++ branches/Cog/spursrc/vm/interp.h	2014-05-01 18:40:52 UTC (rev 2911)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/spursrc/vm/vmCallback.h
===================================================================
--- branches/Cog/spursrc/vm/vmCallback.h	2014-05-01 17:16:01 UTC (rev 2910)
+++ branches/Cog/spursrc/vm/vmCallback.h	2014-05-01 18:40:52 UTC (rev 2911)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
  */
 
 #define VM_CALLBACK_INC 1

Modified: branches/Cog/spurstacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/spurstacksrc/vm/gcc3x-interp.c	2014-05-01 17:16:01 UTC (rev 2910)
+++ branches/Cog/spurstacksrc/vm/gcc3x-interp.c	2014-05-01 18:40:52 UTC (rev 2911)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
    from
-	StackInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	StackInterpreter VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -645,7 +645,6 @@
 static sqInt isMachineCodeFrame(char *theFP);
 sqInt isMarked(sqInt objOop);
 static sqInt isMarriedOrWidowedContext(sqInt aContext);
-static sqInt isMobileObject(sqInt objOop);
 static sqInt isNegativeIntegerValueOf(sqInt oop);
 sqInt isNonImmediate(sqInt oop);
 sqInt isOldObject(sqInt objOop);
@@ -1277,9 +1276,9 @@
 _iss usqInt oldSpaceStart;
 _iss sqInt classTableFirstPage;
 _iss sqInt jmpDepth;
-_iss sqInt numClassTablePages;
 _iss sqInt numRememberedEphemerons;
 _iss sqInt classNameIndex;
+_iss sqInt numClassTablePages;
 _iss sqInt numStackPages;
 _iss sqInt tempOop;
 _iss sqLong nextProfileTick;
@@ -1995,7 +1994,7 @@
  0 };
 char * breakSelector;
 sqInt breakSelectorLength = -1;
-const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.695]";
+const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.696]";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -15036,12 +15035,9 @@
 						? here + (BaseHeaderSize)
 						: here);
 					hereObjHeader = longAt(hereObj);
-					if (if (((((usqInt) hereObjHeader) >> 30) & 1) != 0) {
-	0;
-}
-else {
-	(hereObjHeader & 0x3FFFFF) > 8;
-}) break;
+					if ((((((usqInt) hereObjHeader) >> 30) & 1) != 0
+	? 0
+	: (hereObjHeader & 0x3FFFFF) > 8)) break;
 					/* begin addressAfter: */
 					/* begin numSlotsOfAny: */
 					numSlots12 = byteAt(hereObj + 7);
@@ -15217,8 +15213,10 @@
 						: there);
 					goto l5;
 				}
-				if (((there - here) >= ((8 * 4) * 8))
-				 && (isMobileObject(hereObj))) {
+				if ((there - here) >= ((8 * 4) * 8)) {
+
+					/* 256b in 32 bit, 512b in 64 bit */
+
 					/* begin tryToMovePig:at:end: */
 					prevPrevFree = (prevFree1 = 0);
 					freeChunk = GIV(firstFreeChunk);
@@ -23824,22 +23822,6 @@
 }
 
 
-/*	Answer if objOop should be moved during compaction. Non-objects
-	(free chunks & bridges), forwarders and pinned objects are excluded. */
-
-static sqInt
-isMobileObject(sqInt objOop)
-{   DECL_MAYBE_SQ_GLOBAL_STRUCT
-    sqInt classIndex;
-
-	classIndex = (longAt(objOop)) & 0x3FFFFF;
-	assert(((long64At(objOop)) != 0)
-	 && (classIndex < (GIV(numClassTablePages) * (classTablePageSize()))));
-	return (classIndex > 8)
-	 && (!(((((usqInt) (longAt(objOop))) >> 30) & 1) != 0));
-}
-
-
 /*	Answer true if integer object is negative.
 	Fail if object pointed by oop i not an integer. */
 

Modified: branches/Cog/spurstacksrc/vm/interp.c
===================================================================
--- branches/Cog/spurstacksrc/vm/interp.c	2014-05-01 17:16:01 UTC (rev 2910)
+++ branches/Cog/spurstacksrc/vm/interp.c	2014-05-01 18:40:52 UTC (rev 2911)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
    from
-	StackInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	StackInterpreter VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -642,7 +642,6 @@
 static sqInt isMachineCodeFrame(char *theFP);
 sqInt isMarked(sqInt objOop);
 static sqInt isMarriedOrWidowedContext(sqInt aContext);
-static sqInt isMobileObject(sqInt objOop);
 static sqInt isNegativeIntegerValueOf(sqInt oop);
 sqInt isNonImmediate(sqInt oop);
 sqInt isOldObject(sqInt objOop);
@@ -1274,9 +1273,9 @@
 _iss usqInt oldSpaceStart;
 _iss sqInt classTableFirstPage;
 _iss sqInt jmpDepth;
-_iss sqInt numClassTablePages;
 _iss sqInt numRememberedEphemerons;
 _iss sqInt classNameIndex;
+_iss sqInt numClassTablePages;
 _iss sqInt numStackPages;
 _iss sqInt tempOop;
 _iss sqLong nextProfileTick;
@@ -1992,7 +1991,7 @@
  0 };
 char * breakSelector;
 sqInt breakSelectorLength = -1;
-const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.695]";
+const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.696]";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -15027,12 +15026,9 @@
 						? here + (BaseHeaderSize)
 						: here);
 					hereObjHeader = longAt(hereObj);
-					if (if (((((usqInt) hereObjHeader) >> 30) & 1) != 0) {
-	0;
-}
-else {
-	(hereObjHeader & 0x3FFFFF) > 8;
-}) break;
+					if ((((((usqInt) hereObjHeader) >> 30) & 1) != 0
+	? 0
+	: (hereObjHeader & 0x3FFFFF) > 8)) break;
 					/* begin addressAfter: */
 					/* begin numSlotsOfAny: */
 					numSlots12 = byteAt(hereObj + 7);
@@ -15208,8 +15204,10 @@
 						: there);
 					goto l5;
 				}
-				if (((there - here) >= ((8 * 4) * 8))
-				 && (isMobileObject(hereObj))) {
+				if ((there - here) >= ((8 * 4) * 8)) {
+
+					/* 256b in 32 bit, 512b in 64 bit */
+
 					/* begin tryToMovePig:at:end: */
 					prevPrevFree = (prevFree1 = 0);
 					freeChunk = GIV(firstFreeChunk);
@@ -23815,22 +23813,6 @@
 }
 
 
-/*	Answer if objOop should be moved during compaction. Non-objects
-	(free chunks & bridges), forwarders and pinned objects are excluded. */
-
-static sqInt
-isMobileObject(sqInt objOop)
-{   DECL_MAYBE_SQ_GLOBAL_STRUCT
-    sqInt classIndex;
-
-	classIndex = (longAt(objOop)) & 0x3FFFFF;
-	assert(((long64At(objOop)) != 0)
-	 && (classIndex < (GIV(numClassTablePages) * (classTablePageSize()))));
-	return (classIndex > 8)
-	 && (!(((((usqInt) (longAt(objOop))) >> 30) & 1) != 0));
-}
-
-
 /*	Answer true if integer object is negative.
 	Fail if object pointed by oop i not an integer. */
 

Modified: branches/Cog/spurstacksrc/vm/interp.h
===================================================================
--- branches/Cog/spurstacksrc/vm/interp.h	2014-05-01 17:16:01 UTC (rev 2910)
+++ branches/Cog/spurstacksrc/vm/interp.h	2014-05-01 18:40:52 UTC (rev 2911)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/spurstacksrc/vm/vmCallback.h
===================================================================
--- branches/Cog/spurstacksrc/vm/vmCallback.h	2014-05-01 17:16:01 UTC (rev 2910)
+++ branches/Cog/spurstacksrc/vm/vmCallback.h	2014-05-01 18:40:52 UTC (rev 2911)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.696 uuid: 5f0bc2e6-b921-48c2-8a95-86858a10bcac
  */
 
 #define VM_CALLBACK_INC 1



More information about the Vm-dev mailing list