[Vm-dev] [commit][3047] CogVM source as per VMMaker.oscog-eem.824

commits at squeakvm.org commits at squeakvm.org
Thu Jul 17 00:21:37 UTC 2014


Revision: 3047
Author:   eliot
Date:     2014-07-16 17:21:34 -0700 (Wed, 16 Jul 2014)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.824

Mark the methods used by SpurMemoryManager>>globalGarbageCollect as
inline: #never for profiling.

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-07-16 23:23:03 UTC (rev 3046)
+++ branches/Cog/nsspursrc/vm/cointerp.c	2014-07-17 00:21:34 UTC (rev 3047)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
    from
-	CoInterpreter VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad
+	CoInterpreter VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -914,7 +914,7 @@
 static sqInt classTagForClass(sqInt classObj) NoDbgRegParms;
 sqInt classUnsafeAlien(void);
 sqInt clone(sqInt objOop);
-static void compact(void);
+static void compact(void) NeverInline;
 sqInt compactClassIndexOf(sqInt objOop);
 void countMarkedAndUnmarkdObjects(sqInt printFlags);
 static sqInt defaultEdenBytes(void);
@@ -970,8 +970,8 @@
 static sqInt freeListHeadsEmpty(void);
 static sqInt freeListsObj(void);
 sqInt freeObject(sqInt objOop);
-static void freeUnmarkedObjectsAndSortAndCoalesceFreeSpaceForPigCompact(void);
-usqLong fullGC(void);
+static void freeUnmarkedObjectsAndSortAndCoalesceFreeSpaceForPigCompact(void) NeverInline;
+usqLong fullGC(void) NeverInline;
 static float getHeapGrowthToSizeGCRatio(void);
 static sqInt goodContextSize(sqInt oop) NoDbgRegParms;
 static usqInt growOldSpaceByAtLeast(sqInt minAmmount) NoDbgRegParms;
@@ -1058,7 +1058,7 @@
 static void markAndTraceObjStackandContents(sqInt stackOrNil, sqInt markAndTraceContents) NoDbgRegParms;
 void markAndTrace(sqInt objOop);
 static sqInt markInactiveEphemerons(void);
-static void markObjects(void);
+static void markObjects(void) NeverInline;
 static void markWeaklingsAndMarkAndFireEphemerons(void);
 sqInt maybeSplObj(sqInt index);
 static sqInt moveARunOfObjectsStartingAtupTo(usqInt startAddress, usqInt limit) NoDbgRegParms;
@@ -1066,7 +1066,7 @@
 static sqInt newSpaceIsEmpty(void);
 sqInt nextInSortedFreeListLinkgiven(sqInt freeChunk, sqInt prevFree);
 sqInt nilObject(void);
-static void nilUnmarkedWeaklingSlots(void);
+static void nilUnmarkedWeaklingSlots(void) NeverInline;
 static sqInt noCheckPushonObjStack(sqInt objOop, sqInt objStack) NoDbgRegParms;
 sqInt nonIndexablePointerFormat(void);
 static sqInt noUnscannedEphemerons(void);
@@ -2303,7 +2303,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 CoInterpreter_VMMaker.oscog-eem.823";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.824";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -44218,6 +44218,7 @@
 /*	We'd like to use exact fit followed by best or first fit, but it doesn't
 	work well enough in practice. So use pig compact. Fill large free objects
 	starting from low memory with objects taken from the end of memory. */
+/*	for profiling */
 
 static void
 compact(void)
@@ -46409,6 +46410,9 @@
     usqInt rawNumSlotsAfter;
     sqInt sweepIndex;
 
+
+	/* for profiling */
+
 	/* begin checkFreeSpace */
 	assert(bitsSetInFreeSpaceMaskForAllFreeLists());
 	assert(GIV(totalFreeOldSpace) == (totalFreeListBytes()));
@@ -46588,6 +46592,7 @@
 /*	Perform a full lazy compacting GC. Answer the size of the largest free
 	chunk. 
  */
+/*	for profiling */
 
 usqLong
 fullGC(void)
@@ -48769,6 +48774,7 @@
 }
 
 
+/*	for profiling */
 /*	Mark all accessible objects. */
 /*	If the incremental collector is running mark bits may be set; stop it and
 	clear them if necessary.
@@ -49506,6 +49512,7 @@
 /*	Nil the unmarked slots in the weaklings on the
 	weakling stack, finalizing those that lost references.
 	Finally, empty the weaklingStack. */
+/*	for profiling */
 
 static void
 nilUnmarkedWeaklingSlots(void)
@@ -64185,11 +64192,11 @@
 		GIV(primFailCode) = reasonCode;
 		value = 0;
 	l6:	/* end stObject:at: */;
-		(!GIV(primFailCode)
-			? (/* begin pop:thenPush: */
-				longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value),
-				(GIV(stackPointer) = sp))
-			: 0);
+		if (!GIV(primFailCode)) {
+			/* begin pop:thenPush: */
+			longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value);
+			GIV(stackPointer) = sp;
+		}
 		return;
 	}
 	/* begin externalWriteBackHeadFramePointers */
@@ -64519,11 +64526,11 @@
 		}
 		value;
 	l9:	/* end stObject:at:put: */;
-		(!GIV(primFailCode)
-			? (/* begin pop:thenPush: */
-				longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value),
-				(GIV(stackPointer) = sp))
-			: 0);
+		if (!GIV(primFailCode)) {
+			/* begin pop:thenPush: */
+			longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value);
+			GIV(stackPointer) = sp;
+		}
 		return;
 	}
 	/* begin externalWriteBackHeadFramePointers */

Modified: branches/Cog/nsspursrc/vm/cointerp.h
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.h	2014-07-16 23:23:03 UTC (rev 3046)
+++ branches/Cog/nsspursrc/vm/cointerp.h	2014-07-17 00:21:34 UTC (rev 3047)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
  */
 
 

Modified: branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2014-07-16 23:23:03 UTC (rev 3046)
+++ branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2014-07-17 00:21:34 UTC (rev 3047)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
    from
-	CoInterpreter VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad
+	CoInterpreter VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -917,7 +917,7 @@
 static sqInt classTagForClass(sqInt classObj) NoDbgRegParms;
 sqInt classUnsafeAlien(void);
 sqInt clone(sqInt objOop);
-static void compact(void);
+static void compact(void) NeverInline;
 sqInt compactClassIndexOf(sqInt objOop);
 void countMarkedAndUnmarkdObjects(sqInt printFlags);
 static sqInt defaultEdenBytes(void);
@@ -973,8 +973,8 @@
 static sqInt freeListHeadsEmpty(void);
 static sqInt freeListsObj(void);
 sqInt freeObject(sqInt objOop);
-static void freeUnmarkedObjectsAndSortAndCoalesceFreeSpaceForPigCompact(void);
-usqLong fullGC(void);
+static void freeUnmarkedObjectsAndSortAndCoalesceFreeSpaceForPigCompact(void) NeverInline;
+usqLong fullGC(void) NeverInline;
 static float getHeapGrowthToSizeGCRatio(void);
 static sqInt goodContextSize(sqInt oop) NoDbgRegParms;
 static usqInt growOldSpaceByAtLeast(sqInt minAmmount) NoDbgRegParms;
@@ -1061,7 +1061,7 @@
 static void markAndTraceObjStackandContents(sqInt stackOrNil, sqInt markAndTraceContents) NoDbgRegParms;
 void markAndTrace(sqInt objOop);
 static sqInt markInactiveEphemerons(void);
-static void markObjects(void);
+static void markObjects(void) NeverInline;
 static void markWeaklingsAndMarkAndFireEphemerons(void);
 sqInt maybeSplObj(sqInt index);
 static sqInt moveARunOfObjectsStartingAtupTo(usqInt startAddress, usqInt limit) NoDbgRegParms;
@@ -1069,7 +1069,7 @@
 static sqInt newSpaceIsEmpty(void);
 sqInt nextInSortedFreeListLinkgiven(sqInt freeChunk, sqInt prevFree);
 sqInt nilObject(void);
-static void nilUnmarkedWeaklingSlots(void);
+static void nilUnmarkedWeaklingSlots(void) NeverInline;
 static sqInt noCheckPushonObjStack(sqInt objOop, sqInt objStack) NoDbgRegParms;
 sqInt nonIndexablePointerFormat(void);
 static sqInt noUnscannedEphemerons(void);
@@ -2306,7 +2306,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 CoInterpreter_VMMaker.oscog-eem.823";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.824";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -44227,6 +44227,7 @@
 /*	We'd like to use exact fit followed by best or first fit, but it doesn't
 	work well enough in practice. So use pig compact. Fill large free objects
 	starting from low memory with objects taken from the end of memory. */
+/*	for profiling */
 
 static void
 compact(void)
@@ -46418,6 +46419,9 @@
     usqInt rawNumSlotsAfter;
     sqInt sweepIndex;
 
+
+	/* for profiling */
+
 	/* begin checkFreeSpace */
 	assert(bitsSetInFreeSpaceMaskForAllFreeLists());
 	assert(GIV(totalFreeOldSpace) == (totalFreeListBytes()));
@@ -46597,6 +46601,7 @@
 /*	Perform a full lazy compacting GC. Answer the size of the largest free
 	chunk. 
  */
+/*	for profiling */
 
 usqLong
 fullGC(void)
@@ -48778,6 +48783,7 @@
 }
 
 
+/*	for profiling */
 /*	Mark all accessible objects. */
 /*	If the incremental collector is running mark bits may be set; stop it and
 	clear them if necessary.
@@ -49515,6 +49521,7 @@
 /*	Nil the unmarked slots in the weaklings on the
 	weakling stack, finalizing those that lost references.
 	Finally, empty the weaklingStack. */
+/*	for profiling */
 
 static void
 nilUnmarkedWeaklingSlots(void)
@@ -64194,11 +64201,11 @@
 		GIV(primFailCode) = reasonCode;
 		value = 0;
 	l6:	/* end stObject:at: */;
-		(!GIV(primFailCode)
-			? (/* begin pop:thenPush: */
-				longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value),
-				(GIV(stackPointer) = sp))
-			: 0);
+		if (!GIV(primFailCode)) {
+			/* begin pop:thenPush: */
+			longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value);
+			GIV(stackPointer) = sp;
+		}
 		return;
 	}
 	/* begin externalWriteBackHeadFramePointers */
@@ -64528,11 +64535,11 @@
 		}
 		value;
 	l9:	/* end stObject:at:put: */;
-		(!GIV(primFailCode)
-			? (/* begin pop:thenPush: */
-				longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value),
-				(GIV(stackPointer) = sp))
-			: 0);
+		if (!GIV(primFailCode)) {
+			/* begin pop:thenPush: */
+			longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value);
+			GIV(stackPointer) = sp;
+		}
 		return;
 	}
 	/* begin externalWriteBackHeadFramePointers */

Modified: branches/Cog/nsspursrc/vm/interp.h
===================================================================
--- branches/Cog/nsspursrc/vm/interp.h	2014-07-16 23:23:03 UTC (rev 3046)
+++ branches/Cog/nsspursrc/vm/interp.h	2014-07-17 00:21:34 UTC (rev 3047)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/nsspursrc/vm/vmCallback.h
===================================================================
--- branches/Cog/nsspursrc/vm/vmCallback.h	2014-07-16 23:23:03 UTC (rev 3046)
+++ branches/Cog/nsspursrc/vm/vmCallback.h	2014-07-17 00:21:34 UTC (rev 3047)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
  */
 
 #define VM_CALLBACK_INC 1

Modified: branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2014-07-16 23:23:03 UTC (rev 3046)
+++ branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2014-07-17 00:21:34 UTC (rev 3047)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.820 uuid: 783c4789-0cac-41f9-9b01-d1930e0fe4d7
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
    from
-	StackInterpreter VMMaker.oscog-eem.820 uuid: 783c4789-0cac-41f9-9b01-d1930e0fe4d7
+	StackInterpreter VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.820 uuid: 783c4789-0cac-41f9-9b01-d1930e0fe4d7 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -314,7 +314,7 @@
 /*** Function Prototypes ***/
 
 
-#if defined(PRODUCTION) && !PRODUCTION && defined(__GNUC__) && !defined(NoDbgRegParms)
+#if !PRODUCTION && defined(__GNUC__) && !defined(NoDbgRegParms)
 # define NoDbgRegParms __attribute__ ((regparm (0)))
 #endif
 
@@ -322,6 +322,16 @@
 # define NoDbgRegParms /*empty*/
 #endif
 
+
+
+#if defined(__GNUC__) && !defined(NeverInline)
+# define NeverInline __attribute__ ((noinline))
+#endif
+
+#if !defined(NeverInline)
+# define NeverInline /*empty*/
+#endif
+
 sqInt interpret(void);
 char * cStringOrNullFor(sqInt oop);
 sqInt failed(void);
@@ -658,7 +668,7 @@
 sqInt classUnsafeAlien(void);
 static void clearLeakMapAndMapAccessibleObjects(void);
 sqInt clone(sqInt objOop);
-static void compact(void);
+static void compact(void) NeverInline;
 sqInt compactClassIndexOf(sqInt objOop);
 void countMarkedAndUnmarkdObjects(sqInt printFlags);
 static sqInt defaultEdenBytes(void);
@@ -714,8 +724,8 @@
 static sqInt freeListHeadsEmpty(void);
 static sqInt freeListsObj(void);
 sqInt freeObject(sqInt objOop);
-static void freeUnmarkedObjectsAndSortAndCoalesceFreeSpaceForPigCompact(void);
-usqLong fullGC(void);
+static void freeUnmarkedObjectsAndSortAndCoalesceFreeSpaceForPigCompact(void) NeverInline;
+usqLong fullGC(void) NeverInline;
 static float getHeapGrowthToSizeGCRatio(void);
 static sqInt goodContextSize(sqInt oop) NoDbgRegParms;
 static usqInt growOldSpaceByAtLeast(sqInt minAmmount) NoDbgRegParms;
@@ -801,7 +811,7 @@
 static void markAndTraceObjStackandContents(sqInt stackOrNil, sqInt markAndTraceContents) NoDbgRegParms;
 void markAndTrace(sqInt objOop);
 static sqInt markInactiveEphemerons(void);
-static void markObjects(void);
+static void markObjects(void) NeverInline;
 static void markWeaklingsAndMarkAndFireEphemerons(void);
 sqInt maybeSplObj(sqInt index);
 static sqInt moveARunOfObjectsStartingAtupTo(usqInt startAddress, usqInt limit) NoDbgRegParms;
@@ -809,7 +819,7 @@
 static sqInt newSpaceIsEmpty(void);
 sqInt nextInSortedFreeListLinkgiven(sqInt freeChunk, sqInt prevFree);
 sqInt nilObject(void);
-static void nilUnmarkedWeaklingSlots(void);
+static void nilUnmarkedWeaklingSlots(void) NeverInline;
 static sqInt noCheckPushonObjStack(sqInt objOop, sqInt objStack) NoDbgRegParms;
 sqInt nonIndexablePointerFormat(void);
 static sqInt noUnscannedEphemerons(void);
@@ -2044,7 +2054,7 @@
  0 };
 char * breakSelector;
 sqInt breakSelectorLength = -1;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.820";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.824";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -32699,6 +32709,7 @@
 /*	We'd like to use exact fit followed by best or first fit, but it doesn't
 	work well enough in practice. So use pig compact. Fill large free objects
 	starting from low memory with objects taken from the end of memory. */
+/*	for profiling */
 
 static void
 compact(void)
@@ -34890,6 +34901,9 @@
     usqInt rawNumSlotsAfter;
     sqInt sweepIndex;
 
+
+	/* for profiling */
+
 	/* begin checkFreeSpace */
 	assert(bitsSetInFreeSpaceMaskForAllFreeLists());
 	assert(GIV(totalFreeOldSpace) == (totalFreeListBytes()));
@@ -35069,6 +35083,7 @@
 /*	Perform a full lazy compacting GC. Answer the size of the largest free
 	chunk. 
  */
+/*	for profiling */
 
 usqLong
 fullGC(void)
@@ -37268,6 +37283,7 @@
 }
 
 
+/*	for profiling */
 /*	Mark all accessible objects. */
 /*	If the incremental collector is running mark bits may be set; stop it and
 	clear them if necessary.
@@ -38005,6 +38021,7 @@
 /*	Nil the unmarked slots in the weaklings on the
 	weakling stack, finalizing those that lost references.
 	Finally, empty the weaklingStack. */
+/*	for profiling */
 
 static void
 nilUnmarkedWeaklingSlots(void)
@@ -55669,11 +55686,11 @@
 		GIV(primFailCode) = reasonCode;
 		value = 0;
 	l6:	/* end stObject:at: */;
-		(!GIV(primFailCode)
-			? (/* begin pop:thenPush: */
-				longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value),
-				(GIV(stackPointer) = sp))
-			: 0);
+		if (!GIV(primFailCode)) {
+			/* begin pop:thenPush: */
+			longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value);
+			GIV(stackPointer) = sp;
+		}
 		return;
 	}
 	/* begin externalWriteBackHeadFramePointers */
@@ -56000,11 +56017,11 @@
 		}
 		value;
 	l9:	/* end stObject:at:put: */;
-		(!GIV(primFailCode)
-			? (/* begin pop:thenPush: */
-				longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value),
-				(GIV(stackPointer) = sp))
-			: 0);
+		if (!GIV(primFailCode)) {
+			/* begin pop:thenPush: */
+			longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value);
+			GIV(stackPointer) = sp;
+		}
 		return;
 	}
 	/* begin externalWriteBackHeadFramePointers */

Modified: branches/Cog/nsspurstacksrc/vm/interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/interp.c	2014-07-16 23:23:03 UTC (rev 3046)
+++ branches/Cog/nsspurstacksrc/vm/interp.c	2014-07-17 00:21:34 UTC (rev 3047)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.820 uuid: 783c4789-0cac-41f9-9b01-d1930e0fe4d7
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
    from
-	StackInterpreter VMMaker.oscog-eem.820 uuid: 783c4789-0cac-41f9-9b01-d1930e0fe4d7
+	StackInterpreter VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.820 uuid: 783c4789-0cac-41f9-9b01-d1930e0fe4d7 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -311,7 +311,7 @@
 /*** Function Prototypes ***/
 
 
-#if defined(PRODUCTION) && !PRODUCTION && defined(__GNUC__) && !defined(NoDbgRegParms)
+#if !PRODUCTION && defined(__GNUC__) && !defined(NoDbgRegParms)
 # define NoDbgRegParms __attribute__ ((regparm (0)))
 #endif
 
@@ -319,6 +319,16 @@
 # define NoDbgRegParms /*empty*/
 #endif
 
+
+
+#if defined(__GNUC__) && !defined(NeverInline)
+# define NeverInline __attribute__ ((noinline))
+#endif
+
+#if !defined(NeverInline)
+# define NeverInline /*empty*/
+#endif
+
 sqInt interpret(void);
 char * cStringOrNullFor(sqInt oop);
 sqInt failed(void);
@@ -655,7 +665,7 @@
 sqInt classUnsafeAlien(void);
 static void clearLeakMapAndMapAccessibleObjects(void);
 sqInt clone(sqInt objOop);
-static void compact(void);
+static void compact(void) NeverInline;
 sqInt compactClassIndexOf(sqInt objOop);
 void countMarkedAndUnmarkdObjects(sqInt printFlags);
 static sqInt defaultEdenBytes(void);
@@ -711,8 +721,8 @@
 static sqInt freeListHeadsEmpty(void);
 static sqInt freeListsObj(void);
 sqInt freeObject(sqInt objOop);
-static void freeUnmarkedObjectsAndSortAndCoalesceFreeSpaceForPigCompact(void);
-usqLong fullGC(void);
+static void freeUnmarkedObjectsAndSortAndCoalesceFreeSpaceForPigCompact(void) NeverInline;
+usqLong fullGC(void) NeverInline;
 static float getHeapGrowthToSizeGCRatio(void);
 static sqInt goodContextSize(sqInt oop) NoDbgRegParms;
 static usqInt growOldSpaceByAtLeast(sqInt minAmmount) NoDbgRegParms;
@@ -798,7 +808,7 @@
 static void markAndTraceObjStackandContents(sqInt stackOrNil, sqInt markAndTraceContents) NoDbgRegParms;
 void markAndTrace(sqInt objOop);
 static sqInt markInactiveEphemerons(void);
-static void markObjects(void);
+static void markObjects(void) NeverInline;
 static void markWeaklingsAndMarkAndFireEphemerons(void);
 sqInt maybeSplObj(sqInt index);
 static sqInt moveARunOfObjectsStartingAtupTo(usqInt startAddress, usqInt limit) NoDbgRegParms;
@@ -806,7 +816,7 @@
 static sqInt newSpaceIsEmpty(void);
 sqInt nextInSortedFreeListLinkgiven(sqInt freeChunk, sqInt prevFree);
 sqInt nilObject(void);
-static void nilUnmarkedWeaklingSlots(void);
+static void nilUnmarkedWeaklingSlots(void) NeverInline;
 static sqInt noCheckPushonObjStack(sqInt objOop, sqInt objStack) NoDbgRegParms;
 sqInt nonIndexablePointerFormat(void);
 static sqInt noUnscannedEphemerons(void);
@@ -2041,7 +2051,7 @@
  0 };
 char * breakSelector;
 sqInt breakSelectorLength = -1;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.820";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.824";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -32690,6 +32700,7 @@
 /*	We'd like to use exact fit followed by best or first fit, but it doesn't
 	work well enough in practice. So use pig compact. Fill large free objects
 	starting from low memory with objects taken from the end of memory. */
+/*	for profiling */
 
 static void
 compact(void)
@@ -34881,6 +34892,9 @@
     usqInt rawNumSlotsAfter;
     sqInt sweepIndex;
 
+
+	/* for profiling */
+
 	/* begin checkFreeSpace */
 	assert(bitsSetInFreeSpaceMaskForAllFreeLists());
 	assert(GIV(totalFreeOldSpace) == (totalFreeListBytes()));
@@ -35060,6 +35074,7 @@
 /*	Perform a full lazy compacting GC. Answer the size of the largest free
 	chunk. 
  */
+/*	for profiling */
 
 usqLong
 fullGC(void)
@@ -37259,6 +37274,7 @@
 }
 
 
+/*	for profiling */
 /*	Mark all accessible objects. */
 /*	If the incremental collector is running mark bits may be set; stop it and
 	clear them if necessary.
@@ -37996,6 +38012,7 @@
 /*	Nil the unmarked slots in the weaklings on the
 	weakling stack, finalizing those that lost references.
 	Finally, empty the weaklingStack. */
+/*	for profiling */
 
 static void
 nilUnmarkedWeaklingSlots(void)
@@ -55660,11 +55677,11 @@
 		GIV(primFailCode) = reasonCode;
 		value = 0;
 	l6:	/* end stObject:at: */;
-		(!GIV(primFailCode)
-			? (/* begin pop:thenPush: */
-				longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value),
-				(GIV(stackPointer) = sp))
-			: 0);
+		if (!GIV(primFailCode)) {
+			/* begin pop:thenPush: */
+			longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value);
+			GIV(stackPointer) = sp;
+		}
 		return;
 	}
 	/* begin externalWriteBackHeadFramePointers */
@@ -55991,11 +56008,11 @@
 		}
 		value;
 	l9:	/* end stObject:at:put: */;
-		(!GIV(primFailCode)
-			? (/* begin pop:thenPush: */
-				longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value),
-				(GIV(stackPointer) = sp))
-			: 0);
+		if (!GIV(primFailCode)) {
+			/* begin pop:thenPush: */
+			longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value);
+			GIV(stackPointer) = sp;
+		}
 		return;
 	}
 	/* begin externalWriteBackHeadFramePointers */

Modified: branches/Cog/nsspurstacksrc/vm/interp.h
===================================================================
--- branches/Cog/nsspurstacksrc/vm/interp.h	2014-07-16 23:23:03 UTC (rev 3046)
+++ branches/Cog/nsspurstacksrc/vm/interp.h	2014-07-17 00:21:34 UTC (rev 3047)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.820 uuid: 783c4789-0cac-41f9-9b01-d1930e0fe4d7
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/nsspurstacksrc/vm/vmCallback.h
===================================================================
--- branches/Cog/nsspurstacksrc/vm/vmCallback.h	2014-07-16 23:23:03 UTC (rev 3046)
+++ branches/Cog/nsspurstacksrc/vm/vmCallback.h	2014-07-17 00:21:34 UTC (rev 3047)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.820 uuid: 783c4789-0cac-41f9-9b01-d1930e0fe4d7
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
  */
 
 #define VM_CALLBACK_INC 1


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Wed Jul 16 13:05:48 PDT 2014
   + Wed Jul 16 17:19:55 PDT 2014

Modified: branches/Cog/spursistasrc/vm/cointerp.c
===================================================================
--- branches/Cog/spursistasrc/vm/cointerp.c	2014-07-16 23:23:03 UTC (rev 3046)
+++ branches/Cog/spursistasrc/vm/cointerp.c	2014-07-17 00:21:34 UTC (rev 3047)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
    from
-	CoInterpreter VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad
+	CoInterpreter VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -911,7 +911,7 @@
 static sqInt classTagForClass(sqInt classObj) NoDbgRegParms;
 sqInt classUnsafeAlien(void);
 sqInt clone(sqInt objOop);
-static void compact(void);
+static void compact(void) NeverInline;
 sqInt compactClassIndexOf(sqInt objOop);
 void countMarkedAndUnmarkdObjects(sqInt printFlags);
 static sqInt defaultEdenBytes(void);
@@ -967,8 +967,8 @@
 static sqInt freeListHeadsEmpty(void);
 static sqInt freeListsObj(void);
 sqInt freeObject(sqInt objOop);
-static void freeUnmarkedObjectsAndSortAndCoalesceFreeSpaceForPigCompact(void);
-usqLong fullGC(void);
+static void freeUnmarkedObjectsAndSortAndCoalesceFreeSpaceForPigCompact(void) NeverInline;
+usqLong fullGC(void) NeverInline;
 static float getHeapGrowthToSizeGCRatio(void);
 static sqInt goodContextSize(sqInt oop) NoDbgRegParms;
 static usqInt growOldSpaceByAtLeast(sqInt minAmmount) NoDbgRegParms;
@@ -1055,7 +1055,7 @@
 static void markAndTraceObjStackandContents(sqInt stackOrNil, sqInt markAndTraceContents) NoDbgRegParms;
 void markAndTrace(sqInt objOop);
 static sqInt markInactiveEphemerons(void);
-static void markObjects(void);
+static void markObjects(void) NeverInline;
 static void markWeaklingsAndMarkAndFireEphemerons(void);
 sqInt maybeSplObj(sqInt index);
 static sqInt moveARunOfObjectsStartingAtupTo(usqInt startAddress, usqInt limit) NoDbgRegParms;
@@ -1063,7 +1063,7 @@
 static sqInt newSpaceIsEmpty(void);
 sqInt nextInSortedFreeListLinkgiven(sqInt freeChunk, sqInt prevFree);
 sqInt nilObject(void);
-static void nilUnmarkedWeaklingSlots(void);
+static void nilUnmarkedWeaklingSlots(void) NeverInline;
 static sqInt noCheckPushonObjStack(sqInt objOop, sqInt objStack) NoDbgRegParms;
 sqInt nonIndexablePointerFormat(void);
 static sqInt noUnscannedEphemerons(void);
@@ -2298,7 +2298,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 [CoInterpreter VMMaker.oscog-eem.823]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.824]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -39045,6 +39045,7 @@
 /*	We'd like to use exact fit followed by best or first fit, but it doesn't
 	work well enough in practice. So use pig compact. Fill large free objects
 	starting from low memory with objects taken from the end of memory. */
+/*	for profiling */
 
 static void
 compact(void)
@@ -41236,6 +41237,9 @@
     usqInt rawNumSlotsAfter;
     sqInt sweepIndex;
 
+
+	/* for profiling */
+
 	/* begin checkFreeSpace */
 	assert(bitsSetInFreeSpaceMaskForAllFreeLists());
 	assert(GIV(totalFreeOldSpace) == (totalFreeListBytes()));
@@ -41415,6 +41419,7 @@
 /*	Perform a full lazy compacting GC. Answer the size of the largest free
 	chunk. 
  */
+/*	for profiling */
 
 usqLong
 fullGC(void)
@@ -43590,6 +43595,7 @@
 }
 
 
+/*	for profiling */
 /*	Mark all accessible objects. */
 /*	If the incremental collector is running mark bits may be set; stop it and
 	clear them if necessary.
@@ -44327,6 +44333,7 @@
 /*	Nil the unmarked slots in the weaklings on the
 	weakling stack, finalizing those that lost references.
 	Finally, empty the weaklingStack. */
+/*	for profiling */
 
 static void
 nilUnmarkedWeaklingSlots(void)
@@ -58873,11 +58880,11 @@
 		GIV(primFailCode) = reasonCode;
 		value = 0;
 	l6:	/* end stObject:at: */;
-		(!GIV(primFailCode)
-			? (/* begin pop:thenPush: */
-				longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value),
-				(GIV(stackPointer) = sp))
-			: 0);
+		if (!GIV(primFailCode)) {
+			/* begin pop:thenPush: */
+			longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value);
+			GIV(stackPointer) = sp;
+		}
 		return;
 	}
 	/* begin externalWriteBackHeadFramePointers */
@@ -59051,7 +59058,7 @@
 	index = longAt(GIV(stackPointer) + (1 * BytesPerWord));
 	aContext = longAt(GIV(stackPointer) + (2 * BytesPerWord));
 	if (!((index & 1))) {
-		GIV(primFailCode) = PrimErrBadArgument;
+		(GIV(primFailCode) = PrimErrBadArgument);
 		return;
 	}
 	hdr = long64At(aContext);
@@ -59297,7 +59304,7 @@
 		stSize = (sp1 >> 1);
 	l2:	/* end fetchStackPointerOf: */;
 		if (!(((index >= 1) && (index <= stSize)))) {
-			GIV(primFailCode) = PrimErrBadIndex;
+			(GIV(primFailCode) = PrimErrBadIndex);
 			return;
 		}
 		/* begin subscript:with:storing:format: */
@@ -59353,7 +59360,7 @@
 	assert((senderOop & 1));
 	spouseFP = pointerForOop(senderOop - 1);
 	if (!(((index >= 1) && (index <= (stackPointerIndexForFrame(spouseFP)))))) {
-		GIV(primFailCode) = PrimErrBadIndex;
+		(GIV(primFailCode) = PrimErrBadIndex);
 		return;
 	}
 	if ((((usqInt)(longAt(spouseFP + FoxMethod)))) < (startOfMemory())) {

Modified: branches/Cog/spursistasrc/vm/cointerp.h
===================================================================
--- branches/Cog/spursistasrc/vm/cointerp.h	2014-07-16 23:23:03 UTC (rev 3046)
+++ branches/Cog/spursistasrc/vm/cointerp.h	2014-07-17 00:21:34 UTC (rev 3047)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
  */
 
 

Modified: branches/Cog/spursistasrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/spursistasrc/vm/gcc3x-cointerp.c	2014-07-16 23:23:03 UTC (rev 3046)
+++ branches/Cog/spursistasrc/vm/gcc3x-cointerp.c	2014-07-17 00:21:34 UTC (rev 3047)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
    from
-	CoInterpreter VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad
+	CoInterpreter VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -914,7 +914,7 @@
 static sqInt classTagForClass(sqInt classObj) NoDbgRegParms;
 sqInt classUnsafeAlien(void);
 sqInt clone(sqInt objOop);
-static void compact(void);
+static void compact(void) NeverInline;
 sqInt compactClassIndexOf(sqInt objOop);
 void countMarkedAndUnmarkdObjects(sqInt printFlags);
 static sqInt defaultEdenBytes(void);
@@ -970,8 +970,8 @@
 static sqInt freeListHeadsEmpty(void);
 static sqInt freeListsObj(void);
 sqInt freeObject(sqInt objOop);
-static void freeUnmarkedObjectsAndSortAndCoalesceFreeSpaceForPigCompact(void);
-usqLong fullGC(void);
+static void freeUnmarkedObjectsAndSortAndCoalesceFreeSpaceForPigCompact(void) NeverInline;
+usqLong fullGC(void) NeverInline;
 static float getHeapGrowthToSizeGCRatio(void);
 static sqInt goodContextSize(sqInt oop) NoDbgRegParms;
 static usqInt growOldSpaceByAtLeast(sqInt minAmmount) NoDbgRegParms;
@@ -1058,7 +1058,7 @@
 static void markAndTraceObjStackandContents(sqInt stackOrNil, sqInt markAndTraceContents) NoDbgRegParms;
 void markAndTrace(sqInt objOop);
 static sqInt markInactiveEphemerons(void);
-static void markObjects(void);
+static void markObjects(void) NeverInline;
 static void markWeaklingsAndMarkAndFireEphemerons(void);
 sqInt maybeSplObj(sqInt index);
 static sqInt moveARunOfObjectsStartingAtupTo(usqInt startAddress, usqInt limit) NoDbgRegParms;
@@ -1066,7 +1066,7 @@
 static sqInt newSpaceIsEmpty(void);
 sqInt nextInSortedFreeListLinkgiven(sqInt freeChunk, sqInt prevFree);
 sqInt nilObject(void);
-static void nilUnmarkedWeaklingSlots(void);
+static void nilUnmarkedWeaklingSlots(void) NeverInline;
 static sqInt noCheckPushonObjStack(sqInt objOop, sqInt objStack) NoDbgRegParms;
 sqInt nonIndexablePointerFormat(void);
 static sqInt noUnscannedEphemerons(void);
@@ -2301,7 +2301,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 [CoInterpreter VMMaker.oscog-eem.823]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.824]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -39054,6 +39054,7 @@
 /*	We'd like to use exact fit followed by best or first fit, but it doesn't
 	work well enough in practice. So use pig compact. Fill large free objects
 	starting from low memory with objects taken from the end of memory. */
+/*	for profiling */
 
 static void
 compact(void)
@@ -41245,6 +41246,9 @@
     usqInt rawNumSlotsAfter;
     sqInt sweepIndex;
 
+
+	/* for profiling */
+
 	/* begin checkFreeSpace */
 	assert(bitsSetInFreeSpaceMaskForAllFreeLists());
 	assert(GIV(totalFreeOldSpace) == (totalFreeListBytes()));
@@ -41424,6 +41428,7 @@
 /*	Perform a full lazy compacting GC. Answer the size of the largest free
 	chunk. 
  */
+/*	for profiling */
 
 usqLong
 fullGC(void)
@@ -43599,6 +43604,7 @@
 }
 
 
+/*	for profiling */
 /*	Mark all accessible objects. */
 /*	If the incremental collector is running mark bits may be set; stop it and
 	clear them if necessary.
@@ -44336,6 +44342,7 @@
 /*	Nil the unmarked slots in the weaklings on the
 	weakling stack, finalizing those that lost references.
 	Finally, empty the weaklingStack. */
+/*	for profiling */
 
 static void
 nilUnmarkedWeaklingSlots(void)
@@ -58882,11 +58889,11 @@
 		GIV(primFailCode) = reasonCode;
 		value = 0;
 	l6:	/* end stObject:at: */;
-		(!GIV(primFailCode)
-			? (/* begin pop:thenPush: */
-				longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value),
-				(GIV(stackPointer) = sp))
-			: 0);
+		if (!GIV(primFailCode)) {
+			/* begin pop:thenPush: */
+			longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value);
+			GIV(stackPointer) = sp;
+		}
 		return;
 	}
 	/* begin externalWriteBackHeadFramePointers */
@@ -59060,7 +59067,7 @@
 	index = longAt(GIV(stackPointer) + (1 * BytesPerWord));
 	aContext = longAt(GIV(stackPointer) + (2 * BytesPerWord));
 	if (!((index & 1))) {
-		GIV(primFailCode) = PrimErrBadArgument;
+		(GIV(primFailCode) = PrimErrBadArgument);
 		return;
 	}
 	hdr = long64At(aContext);
@@ -59306,7 +59313,7 @@
 		stSize = (sp1 >> 1);
 	l2:	/* end fetchStackPointerOf: */;
 		if (!(((index >= 1) && (index <= stSize)))) {
-			GIV(primFailCode) = PrimErrBadIndex;
+			(GIV(primFailCode) = PrimErrBadIndex);
 			return;
 		}
 		/* begin subscript:with:storing:format: */
@@ -59362,7 +59369,7 @@
 	assert((senderOop & 1));
 	spouseFP = pointerForOop(senderOop - 1);
 	if (!(((index >= 1) && (index <= (stackPointerIndexForFrame(spouseFP)))))) {
-		GIV(primFailCode) = PrimErrBadIndex;
+		(GIV(primFailCode) = PrimErrBadIndex);
 		return;
 	}
 	if ((((usqInt)(longAt(spouseFP + FoxMethod)))) < (startOfMemory())) {

Modified: branches/Cog/spursistasrc/vm/interp.h
===================================================================
--- branches/Cog/spursistasrc/vm/interp.h	2014-07-16 23:23:03 UTC (rev 3046)
+++ branches/Cog/spursistasrc/vm/interp.h	2014-07-17 00:21:34 UTC (rev 3047)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/spursistasrc/vm/vmCallback.h
===================================================================
--- branches/Cog/spursistasrc/vm/vmCallback.h	2014-07-16 23:23:03 UTC (rev 3046)
+++ branches/Cog/spursistasrc/vm/vmCallback.h	2014-07-17 00:21:34 UTC (rev 3047)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
  */
 
 #define VM_CALLBACK_INC 1

Modified: branches/Cog/spursrc/vm/cointerp.c
===================================================================
--- branches/Cog/spursrc/vm/cointerp.c	2014-07-16 23:23:03 UTC (rev 3046)
+++ branches/Cog/spursrc/vm/cointerp.c	2014-07-17 00:21:34 UTC (rev 3047)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
    from
-	CoInterpreter VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad
+	CoInterpreter VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -906,7 +906,7 @@
 static sqInt classTagForClass(sqInt classObj) NoDbgRegParms;
 sqInt classUnsafeAlien(void);
 sqInt clone(sqInt objOop);
-static void compact(void);
+static void compact(void) NeverInline;
 sqInt compactClassIndexOf(sqInt objOop);
 void countMarkedAndUnmarkdObjects(sqInt printFlags);
 static sqInt defaultEdenBytes(void);
@@ -962,8 +962,8 @@
 static sqInt freeListHeadsEmpty(void);
 static sqInt freeListsObj(void);
 sqInt freeObject(sqInt objOop);
-static void freeUnmarkedObjectsAndSortAndCoalesceFreeSpaceForPigCompact(void);
-usqLong fullGC(void);
+static void freeUnmarkedObjectsAndSortAndCoalesceFreeSpaceForPigCompact(void) NeverInline;
+usqLong fullGC(void) NeverInline;
 static float getHeapGrowthToSizeGCRatio(void);
 static sqInt goodContextSize(sqInt oop) NoDbgRegParms;
 static usqInt growOldSpaceByAtLeast(sqInt minAmmount) NoDbgRegParms;
@@ -1050,7 +1050,7 @@
 static void markAndTraceObjStackandContents(sqInt stackOrNil, sqInt markAndTraceContents) NoDbgRegParms;
 void markAndTrace(sqInt objOop);
 static sqInt markInactiveEphemerons(void);
-static void markObjects(void);
+static void markObjects(void) NeverInline;
 static void markWeaklingsAndMarkAndFireEphemerons(void);
 sqInt maybeSplObj(sqInt index);
 static sqInt moveARunOfObjectsStartingAtupTo(usqInt startAddress, usqInt limit) NoDbgRegParms;
@@ -1058,7 +1058,7 @@
 static sqInt newSpaceIsEmpty(void);
 sqInt nextInSortedFreeListLinkgiven(sqInt freeChunk, sqInt prevFree);
 sqInt nilObject(void);
-static void nilUnmarkedWeaklingSlots(void);
+static void nilUnmarkedWeaklingSlots(void) NeverInline;
 static sqInt noCheckPushonObjStack(sqInt objOop, sqInt objStack) NoDbgRegParms;
 sqInt nonIndexablePointerFormat(void);
 static sqInt noUnscannedEphemerons(void);
@@ -2292,7 +2292,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 [CoInterpreter VMMaker.oscog-eem.823]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.824]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -38818,6 +38818,7 @@
 /*	We'd like to use exact fit followed by best or first fit, but it doesn't
 	work well enough in practice. So use pig compact. Fill large free objects
 	starting from low memory with objects taken from the end of memory. */
+/*	for profiling */
 
 static void
 compact(void)
@@ -41009,6 +41010,9 @@
     usqInt rawNumSlotsAfter;
     sqInt sweepIndex;
 
+
+	/* for profiling */
+
 	/* begin checkFreeSpace */
 	assert(bitsSetInFreeSpaceMaskForAllFreeLists());
 	assert(GIV(totalFreeOldSpace) == (totalFreeListBytes()));
@@ -41188,6 +41192,7 @@
 /*	Perform a full lazy compacting GC. Answer the size of the largest free
 	chunk. 
  */
+/*	for profiling */
 
 usqLong
 fullGC(void)
@@ -43363,6 +43368,7 @@
 }
 
 
+/*	for profiling */
 /*	Mark all accessible objects. */
 /*	If the incremental collector is running mark bits may be set; stop it and
 	clear them if necessary.
@@ -44100,6 +44106,7 @@
 /*	Nil the unmarked slots in the weaklings on the
 	weakling stack, finalizing those that lost references.
 	Finally, empty the weaklingStack. */
+/*	for profiling */
 
 static void
 nilUnmarkedWeaklingSlots(void)
@@ -58610,11 +58617,11 @@
 		GIV(primFailCode) = reasonCode;
 		value = 0;
 	l6:	/* end stObject:at: */;
-		(!GIV(primFailCode)
-			? (/* begin pop:thenPush: */
-				longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value),
-				(GIV(stackPointer) = sp))
-			: 0);
+		if (!GIV(primFailCode)) {
+			/* begin pop:thenPush: */
+			longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value);
+			GIV(stackPointer) = sp;
+		}
 		return;
 	}
 	/* begin externalWriteBackHeadFramePointers */
@@ -58788,7 +58795,7 @@
 	index = longAt(GIV(stackPointer) + (1 * BytesPerWord));
 	aContext = longAt(GIV(stackPointer) + (2 * BytesPerWord));
 	if (!((index & 1))) {
-		(GIV(primFailCode) = PrimErrBadArgument);
+		GIV(primFailCode) = PrimErrBadArgument;
 		return;
 	}
 	hdr = long64At(aContext);
@@ -58944,11 +58951,11 @@
 		}
 		value;
 	l9:	/* end stObject:at:put: */;
-		(!GIV(primFailCode)
-			? (/* begin pop:thenPush: */
-				longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value),
-				(GIV(stackPointer) = sp))
-			: 0);
+		if (!GIV(primFailCode)) {
+			/* begin pop:thenPush: */
+			longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value);
+			GIV(stackPointer) = sp;
+		}
 		return;
 	}
 	/* begin externalWriteBackHeadFramePointers */
@@ -59034,7 +59041,7 @@
 		stSize = (sp1 >> 1);
 	l2:	/* end fetchStackPointerOf: */;
 		if (!(((index >= 1) && (index <= stSize)))) {
-			(GIV(primFailCode) = PrimErrBadIndex);
+			GIV(primFailCode) = PrimErrBadIndex;
 			return;
 		}
 		/* begin subscript:with:storing:format: */
@@ -59090,7 +59097,7 @@
 	assert((senderOop & 1));
 	spouseFP = pointerForOop(senderOop - 1);
 	if (!(((index >= 1) && (index <= (stackPointerIndexForFrame(spouseFP)))))) {
-		(GIV(primFailCode) = PrimErrBadIndex);
+		GIV(primFailCode) = PrimErrBadIndex;
 		return;
 	}
 	if ((((usqInt)(longAt(spouseFP + FoxMethod)))) < (startOfMemory())) {

Modified: branches/Cog/spursrc/vm/cointerp.h
===================================================================
--- branches/Cog/spursrc/vm/cointerp.h	2014-07-16 23:23:03 UTC (rev 3046)
+++ branches/Cog/spursrc/vm/cointerp.h	2014-07-17 00:21:34 UTC (rev 3047)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
  */
 
 

Modified: branches/Cog/spursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/spursrc/vm/gcc3x-cointerp.c	2014-07-16 23:23:03 UTC (rev 3046)
+++ branches/Cog/spursrc/vm/gcc3x-cointerp.c	2014-07-17 00:21:34 UTC (rev 3047)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
    from
-	CoInterpreter VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad
+	CoInterpreter VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.823 uuid: 2d337398-d2dd-4715-9476-9a463c29efad " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.824 uuid: 2f058f16-c0e9-4231-b14a-fe2dadb19735 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -909,7 +909,7 @@
 static sqInt classTagForClass(sqInt classObj) NoDbgRegParms;
 sqInt classUnsafeAlien(void);
 sqInt clone(sqInt objOop);
-static void compact(void);
+static void compact(void) NeverInline;
 sqInt compactClassIndexOf(sqInt objOop);
 void countMarkedAndUnmarkdObjects(sqInt printFlags);
 static sqInt defaultEdenBytes(void);
@@ -965,8 +965,8 @@
 static sqInt freeListHeadsEmpty(void);
 static sqInt freeListsObj(void);
 sqInt freeObject(sqInt objOop);
-static void freeUnmarkedObjectsAndSortAndCoalesceFreeSpaceForPigCompact(void);
-usqLong fullGC(void);
+static void freeUnmarkedObjectsAndSortAndCoalesceFreeSpaceForPigCompact(void) NeverInline;
+usqLong fullGC(void) NeverInline;
 static float getHeapGrowthToSizeGCRatio(void);
 static sqInt goodContextSize(sqInt oop) NoDbgRegParms;
 static usqInt growOldSpaceByAtLeast(sqInt minAmmount) NoDbgRegParms;
@@ -1053,7 +1053,7 @@
 static void markAndTraceObjStackandContents(sqInt stackOrNil, sqInt markAndTraceContents) NoDbgRegParms;
 void markAndTrace(sqInt objOop);
 static sqInt markInactiveEphemerons(void);
-static void markObjects(void);
+static void markObjects(void) NeverInline;
 static void markWeaklingsAndMarkAndFireEphemerons(void);
 sqInt maybeSplObj(sqInt index);
 static sqInt moveARunOfObjectsStartingAtupTo(usqInt startAddress, usqInt limit) NoDbgRegParms;
@@ -1061,7 +1061,7 @@
 static sqInt newSpaceIsEmpty(void);
 sqInt nextInSortedFreeListLinkgiven(sqInt freeChunk, sqInt prevFree);
 sqInt nilObject(void);
-static void nilUnmarkedWeaklingSlots(void);
+static void nilUnmarkedWeaklingSlots(void) NeverInline;
 static sqInt noCheckPushonObjStack(sqInt objOop, sqInt objStack) NoDbgRegParms;
 sqInt nonIndexablePointerFormat(void);
 static sqInt noUnscannedEphemerons(void);
@@ -2295,7 +2295,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 [CoInterpreter VMMaker.oscog-eem.823]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.824]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -38827,6 +38827,7 @@
 /*	We'd like to use exact fit followed by best or first fit, but it doesn't
 	work well enough in practice. So use pig compact. Fill large free objects
 	starting from low memory with objects taken from the end of memory. */
+/*	for profiling */
 
 static void
 compact(void)
@@ -41018,6 +41019,9 @@
     usqInt rawNumSlotsAfter;
     sqInt sweepIndex;
 
+
+	/* for profiling */
+
 	/* begin checkFreeSpace */
 	assert(bitsSetInFreeSpaceMaskForAllFreeLists());
 	assert(GIV(totalFreeOldSpace) == (totalFreeListBytes()));
@@ -41197,6 +41201,7 @@
 /*	Perform a full lazy compacting GC. Answer the size of the largest free
 	chunk. 
  */
+/*	for profiling */
 
 usqLong
 fullGC(void)
@@ -43372,6 +43377,7 @@
 }
 
 
+/*	for profiling */
 /*	Mark all accessible objects. */
 /*	If the incremental collector is running mark bits may be set; stop it and
 	clear them if necessary.
@@ -44109,6 +44115,7 @@
 /*	Nil the unmarked slots in the weaklings on the
 	weakling stack, finalizing those that lost references.
 	Finally, empty the weaklingStack. */
+/*	for profiling */
 
 static void
 nilUnmarkedWeaklingSlots(void)
@@ -58619,11 +58626,11 @@
 		GIV(primFailCode) = reasonCode;
 		value = 0;
 	l6:	/* end stObject:at: */;
-		(!GIV(primFailCode)
-			? (/* begin pop:thenPush: */
-				longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value),
-				(GIV(stackPointer) = sp))
-			: 0);
+		if (!GIV(primFailCode)) {
+			/* begin pop:thenPush: */
+			longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value);
+			GIV(stackPointer) = sp;
+		}
 		return;
 	}
 	/* begin externalWriteBackHeadFramePointers */
@@ -58797,7 +58804,7 @@
 	index = longAt(GIV(stackPointer) + (1 * BytesPerWord));
 	aContext = longAt(GIV(stackPointer) + (2 * BytesPerWord));
 	if (!((index & 1))) {
-		(GIV(primFailCode) = PrimErrBadArgument);
+		GIV(primFailCode) = PrimErrBadArgument;
 		return;
 	}
 	hdr = long64At(aContext);
@@ -58953,11 +58960,11 @@
 		}
 		value;
 	l9:	/* end stObject:at:put: */;
-		(!GIV(primFailCode)
-			? (/* begin pop:thenPush: */
-				longAtput((sp = GIV(stackPointer) + (((GIV(argumentCount) + 1) - 1) * BytesPerWord)), value),
-				(GIV(stackPointer) = sp))
-			: 0);
+		if (!GIV(primFailCode)) {
+			/* begin pop:thenPush: */

@@ Diff output truncated at 50000 characters. @@


More information about the Vm-dev mailing list