[Vm-dev] [commit][2846] CogVM source as per VMMaker.oscog-eem.584

commits at squeakvm.org commits at squeakvm.org
Tue Jan 14 02:14:07 UTC 2014


Revision: 2846
Author:   eliot
Date:     2014-01-13 18:14:07 -0800 (Mon, 13 Jan 2014)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.584

Make sure SIGALRM is unblocked if using the interval timer heartbeat on linux.

Spur:
Fix swizzling on startup.  Enumerate up to freeOldSpaceStart, not
endOfMemory.  Fixes startup of e.g. bootstrapped Squeak4.3 image.

Admin:
Move SqueakSSLPlugin to VMMaker from SqueakSSL.

Modified Paths:
--------------
    branches/Cog/nscogsrc/plugins/SqueakSSL/SqueakSSL.c
    branches/Cog/platforms/unix/vm/sqUnixITimerHeartbeat.c
    branches/Cog/platforms/unix/vm/sqUnixITimerTickerHeartbeat.c
    branches/Cog/platforms/unix/vm/sqUnixMain.c
    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
    branches/Cog/src/plugins/SqueakSSL/SqueakSSL.c

Property Changed:
----------------
    branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
    branches/Cog/spurcogbuild/cygwinbuild/
    branches/Cog/spurcogbuild/unixbuild/abldt/
    branches/Cog/spurcogbuild/unixbuild/bldt/
    branches/Cog/spurcogbuild/unixbuild/dbldt/

Modified: branches/Cog/nscogsrc/plugins/SqueakSSL/SqueakSSL.c
===================================================================
--- branches/Cog/nscogsrc/plugins/SqueakSSL/SqueakSSL.c	2014-01-14 01:59:30 UTC (rev 2845)
+++ branches/Cog/nscogsrc/plugins/SqueakSSL/SqueakSSL.c	2014-01-14 02:14:07 UTC (rev 2846)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.580 uuid: 751b08d4-d92e-440a-b3f6-cb2c76f52514
+	VMPluginCodeGenerator VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa
    from
-	SqueakSSLPlugin SqueakSSL-Plugin-eem.4 uuid: 5e2ad007-e58e-4c86-9657-47e0cfe12918
+	SqueakSSLPlugin VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa
  */
-static char __buildInfo[] = "SqueakSSLPlugin SqueakSSL-Plugin-eem.4 uuid: 5e2ad007-e58e-4c86-9657-47e0cfe12918 " __DATE__ ;
+static char __buildInfo[] = "SqueakSSLPlugin VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa " __DATE__ ;
 
 
 
@@ -101,9 +101,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"SqueakSSL SqueakSSL-Plugin-eem.4 (i)"
+	"SqueakSSL VMMaker.oscog-eem.584 (i)"
 #else
-	"SqueakSSL SqueakSSL-Plugin-eem.4 (e)"
+	"SqueakSSL VMMaker.oscog-eem.584 (e)"
 #endif
 ;
 


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Fri Jan 10 13:54:16 PST 2014
   + Mon Jan 13 18:13:36 PST 2014

Modified: branches/Cog/platforms/unix/vm/sqUnixITimerHeartbeat.c
===================================================================
--- branches/Cog/platforms/unix/vm/sqUnixITimerHeartbeat.c	2014-01-14 01:59:30 UTC (rev 2845)
+++ branches/Cog/platforms/unix/vm/sqUnixITimerHeartbeat.c	2014-01-14 02:14:07 UTC (rev 2846)
@@ -411,6 +411,7 @@
 extern sqInt suppressHeartbeatFlag;
 	int er;
 	struct sigaction heartbeat_handler_action;
+	sigset_t ss;
 
 	if (suppressHeartbeatFlag) return;
 
@@ -446,6 +447,11 @@
 		exit(1);
 	}
 
+	/* Make sure SIGALRM is unblocked. */
+	sigemptyset(&ss);
+	sigaddset(&ss, ITIMER_SIGNAL);
+	sigprocmask(SIG_UNBLOCK, &ss, NULL);
+
 	setIntervalTimer(beatMilliseconds);
 }
 

Modified: branches/Cog/platforms/unix/vm/sqUnixITimerTickerHeartbeat.c
===================================================================
--- branches/Cog/platforms/unix/vm/sqUnixITimerTickerHeartbeat.c	2014-01-14 01:59:30 UTC (rev 2845)
+++ branches/Cog/platforms/unix/vm/sqUnixITimerTickerHeartbeat.c	2014-01-14 02:14:07 UTC (rev 2846)
@@ -540,6 +540,7 @@
 	int er;
 	struct timespec halfAMo;
 	struct sigaction heartbeat_handler_action, ticker_handler_action;
+	sigset_t ss;
 
 	if (suppressHeartbeatFlag) return;
 
@@ -604,6 +605,11 @@
 		exit(1);
 	}
 
+	/* Make sure SIGALRM is unblocked. */
+	sigemptyset(&ss);
+	sigaddset(&ss, ITIMER_SIGNAL);
+	sigprocmask(SIG_UNBLOCK, &ss, NULL);
+
 	setIntervalTimer(beatMilliseconds);
 }
 

Modified: branches/Cog/platforms/unix/vm/sqUnixMain.c
===================================================================
--- branches/Cog/platforms/unix/vm/sqUnixMain.c	2014-01-14 01:59:30 UTC (rev 2845)
+++ branches/Cog/platforms/unix/vm/sqUnixMain.c	2014-01-14 02:14:07 UTC (rev 2846)
@@ -1740,12 +1740,24 @@
       if (extraMemory)
 	useMmap= 0;
       else
+#if SPURVM
+	{ off_t size = (long)sb.st_size;
+
+	  size = 1 << highBit(size-1);
+	  size = size + size / 4;
+#    ifdef DEBUG_IMAGE
+      printf("image size %ld + heap size %ld (useMmap = %d)\n", (long)sb.st_size, size, useMmap);
+#    endif
+	  readImageFromFileHeapSizeStartingAt(f, size + size / 4, 0);
+	}
+#else
 	extraMemory= DefaultHeapSize * 1024 * 1024;
 #    ifdef DEBUG_IMAGE
       printf("image size %ld + heap size %ld (useMmap = %d)\n", (long)sb.st_size, extraMemory, useMmap);
 #    endif
       extraMemory += (long)sb.st_size;
       readImageFromFileHeapSizeStartingAt(f, extraMemory, 0);
+#endif
       sqImageFileClose(f);
       break;
     }


Property changes on: branches/Cog/spurcogbuild/cygwinbuild
___________________________________________________________________
Added: svn:ignore
   + build
buildast
builddbg
eitheror.exe
mkNamedPrims.exe
sqNamedPrims.h



Property changes on: branches/Cog/spurcogbuild/unixbuild/abldt
___________________________________________________________________
Added: svn:ignore
   + *



Property changes on: branches/Cog/spurcogbuild/unixbuild/bldt
___________________________________________________________________
Added: svn:ignore
   + *



Property changes on: branches/Cog/spurcogbuild/unixbuild/dbldt
___________________________________________________________________
Added: svn:ignore
   + *


Modified: branches/Cog/spursrc/vm/cointerp.c
===================================================================
--- branches/Cog/spursrc/vm/cointerp.c	2014-01-14 01:59:30 UTC (rev 2845)
+++ branches/Cog/spursrc/vm/cointerp.c	2014-01-14 02:14:07 UTC (rev 2846)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.581 uuid: 926531fd-20be-42b4-9332-015b90e6734f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa
    from
-	CoInterpreter VMMaker.oscog-eem.581 uuid: 926531fd-20be-42b4-9332-015b90e6734f
+	CoInterpreter VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.581 uuid: 926531fd-20be-42b4-9332-015b90e6734f " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1459,6 +1459,7 @@
 _iss usqLong longRunningPrimitiveStopUsecs;
 _iss sqInt numSegInfos;
 _iss sqInt statCheckForEvents;
+_iss usqInt freeOldSpaceStart;
 _iss sqInt gcMode;
 _iss sqInt lastCoggableInterpretedBlockMethod;
 _iss sqInt lastUncoggableInterpretedBlockMethod;
@@ -1468,7 +1469,6 @@
 _iss sqInt cogCodeSize;
 _iss sqInt externalPrimitiveTableFirstFreeIndex;
 _iss sqInt flagInterpretedMethods;
-_iss usqInt freeOldSpaceStart;
 _iss sqInt metaclassNumSlots;
 _iss sqInt pendingFinalizationSignals;
 _iss usqInt scavengeThreshold;
@@ -2164,7 +2164,7 @@
 	/* 575 */ (void (*)(void))0,
  0 };
 usqInt heapBase;
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.581]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.584]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -6374,6 +6374,7 @@
 						/* begin internalPush: */
 						longAtPointerput((localSP -= BytesPerOop), longAt((rcvr1 + (BaseHeaderSize)) + (byte3 << 2)));
 					}
+					null;
 					goto l4;
 				}
 				if (opType == 3) {
@@ -6383,6 +6384,7 @@
 					assert(GIV(method) == (iframeMethod(localFP)));
 					object = longAt((GIV(method) + (BaseHeaderSize)) + ((byte3 + LiteralStart) << 2));
 					longAtPointerput((localSP -= BytesPerOop), object);
+					null;
 					goto l4;
 				}
 				if (opType == 4) {
@@ -6410,6 +6412,7 @@
 					/* begin internalPush: */
 					longAtPointerput((localSP -= BytesPerOop), longAt((litVar1 + (BaseHeaderSize)) + (ValueIndex << 2)));
 
+					null;
 					goto l4;
 				}
 				top = longAtPointer(localSP);
@@ -14896,7 +14899,8 @@
 		: methodHeader1);
 	primIndex = ((primBits = ((usqInt) methodHeader) >> 1),
 			(primBits & 0x1FF) + ((((usqInt) primBits) >> 19) & 512));
-	assert(primitiveFunctionPointer == (functionPointerForinClass(primIndex, nilObject())));
+	assert((primIndex == 117)
+	 || (primitiveFunctionPointer == (functionPointerForinClass(primIndex, nilObject()))));
 	assert(GIV(argumentCount) == (argumentCountOf(GIV(newMethod))));
 	accessorDepth = ((primIndex == 117)
 	 && (primitiveFunctionPointer != primitiveExternalCall)
@@ -25479,7 +25483,7 @@
 		obj = (numSlots == 0xFF
 			? GIV(oldSpaceStart) + (BaseHeaderSize)
 			: GIV(oldSpaceStart));
-		while ((((usqInt) obj)) < (((usqInt) GIV(endOfMemory)))) {
+		while ((((usqInt) obj)) < (((usqInt) GIV(freeOldSpaceStart)))) {
 			if (((longAt(obj)) & 0x3FFFFF) == 0) {
 				/* begin swizzleFieldsOfFreeChunk: */
 				field = longAt((obj + (BaseHeaderSize)) + (0 << 2));
@@ -26838,7 +26842,7 @@
 static sqInt
 isValidSegmentBridge(sqInt objOop)
 {
-	return (addressCouldBeObj(objOop - (BaseHeaderSize)))
+	return (addressCouldBeObj(objOop))
 	 && ((((longAt(objOop)) & 0x3FFFFF) == 3)
 	 && (((rawNumSlotsOf(objOop)) == 0xFF)
 	 || ((numSlotsOfAny(objOop)) == 0)));

Modified: branches/Cog/spursrc/vm/cointerp.h
===================================================================
--- branches/Cog/spursrc/vm/cointerp.h	2014-01-14 01:59:30 UTC (rev 2845)
+++ branches/Cog/spursrc/vm/cointerp.h	2014-01-14 02:14:07 UTC (rev 2846)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.581 uuid: 926531fd-20be-42b4-9332-015b90e6734f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa
  */
 
 

Modified: branches/Cog/spursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/spursrc/vm/gcc3x-cointerp.c	2014-01-14 01:59:30 UTC (rev 2845)
+++ branches/Cog/spursrc/vm/gcc3x-cointerp.c	2014-01-14 02:14:07 UTC (rev 2846)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.581 uuid: 926531fd-20be-42b4-9332-015b90e6734f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa
    from
-	CoInterpreter VMMaker.oscog-eem.581 uuid: 926531fd-20be-42b4-9332-015b90e6734f
+	CoInterpreter VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.581 uuid: 926531fd-20be-42b4-9332-015b90e6734f " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1462,6 +1462,7 @@
 _iss usqLong longRunningPrimitiveStopUsecs;
 _iss sqInt numSegInfos;
 _iss sqInt statCheckForEvents;
+_iss usqInt freeOldSpaceStart;
 _iss sqInt gcMode;
 _iss sqInt lastCoggableInterpretedBlockMethod;
 _iss sqInt lastUncoggableInterpretedBlockMethod;
@@ -1471,7 +1472,6 @@
 _iss sqInt cogCodeSize;
 _iss sqInt externalPrimitiveTableFirstFreeIndex;
 _iss sqInt flagInterpretedMethods;
-_iss usqInt freeOldSpaceStart;
 _iss sqInt metaclassNumSlots;
 _iss sqInt pendingFinalizationSignals;
 _iss usqInt scavengeThreshold;
@@ -2167,7 +2167,7 @@
 	/* 575 */ (void (*)(void))0,
  0 };
 usqInt heapBase;
-const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.581]";
+const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.584]";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */;
 volatile int sendTrace;
 
@@ -6383,6 +6383,7 @@
 						/* begin internalPush: */
 						longAtPointerput((localSP -= BytesPerOop), longAt((rcvr1 + (BaseHeaderSize)) + (byte3 << 2)));
 					}
+					null;
 					goto l4;
 				}
 				if (opType == 3) {
@@ -6392,6 +6393,7 @@
 					assert(GIV(method) == (iframeMethod(localFP)));
 					object = longAt((GIV(method) + (BaseHeaderSize)) + ((byte3 + LiteralStart) << 2));
 					longAtPointerput((localSP -= BytesPerOop), object);
+					null;
 					goto l4;
 				}
 				if (opType == 4) {
@@ -6419,6 +6421,7 @@
 					/* begin internalPush: */
 					longAtPointerput((localSP -= BytesPerOop), longAt((litVar1 + (BaseHeaderSize)) + (ValueIndex << 2)));
 
+					null;
 					goto l4;
 				}
 				top = longAtPointer(localSP);
@@ -14905,7 +14908,8 @@
 		: methodHeader1);
 	primIndex = ((primBits = ((usqInt) methodHeader) >> 1),
 			(primBits & 0x1FF) + ((((usqInt) primBits) >> 19) & 512));
-	assert(primitiveFunctionPointer == (functionPointerForinClass(primIndex, nilObject())));
+	assert((primIndex == 117)
+	 || (primitiveFunctionPointer == (functionPointerForinClass(primIndex, nilObject()))));
 	assert(GIV(argumentCount) == (argumentCountOf(GIV(newMethod))));
 	accessorDepth = ((primIndex == 117)
 	 && (primitiveFunctionPointer != primitiveExternalCall)
@@ -25488,7 +25492,7 @@
 		obj = (numSlots == 0xFF
 			? GIV(oldSpaceStart) + (BaseHeaderSize)
 			: GIV(oldSpaceStart));
-		while ((((usqInt) obj)) < (((usqInt) GIV(endOfMemory)))) {
+		while ((((usqInt) obj)) < (((usqInt) GIV(freeOldSpaceStart)))) {
 			if (((longAt(obj)) & 0x3FFFFF) == 0) {
 				/* begin swizzleFieldsOfFreeChunk: */
 				field = longAt((obj + (BaseHeaderSize)) + (0 << 2));
@@ -26847,7 +26851,7 @@
 static sqInt
 isValidSegmentBridge(sqInt objOop)
 {
-	return (addressCouldBeObj(objOop - (BaseHeaderSize)))
+	return (addressCouldBeObj(objOop))
 	 && ((((longAt(objOop)) & 0x3FFFFF) == 3)
 	 && (((rawNumSlotsOf(objOop)) == 0xFF)
 	 || ((numSlotsOfAny(objOop)) == 0)));

Modified: branches/Cog/spursrc/vm/interp.h
===================================================================
--- branches/Cog/spursrc/vm/interp.h	2014-01-14 01:59:30 UTC (rev 2845)
+++ branches/Cog/spursrc/vm/interp.h	2014-01-14 02:14:07 UTC (rev 2846)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.581 uuid: 926531fd-20be-42b4-9332-015b90e6734f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/spursrc/vm/vmCallback.h
===================================================================
--- branches/Cog/spursrc/vm/vmCallback.h	2014-01-14 01:59:30 UTC (rev 2845)
+++ branches/Cog/spursrc/vm/vmCallback.h	2014-01-14 02:14:07 UTC (rev 2846)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.581 uuid: 926531fd-20be-42b4-9332-015b90e6734f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa
  */
 
 #define VM_CALLBACK_INC 1

Modified: branches/Cog/spurstacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/spurstacksrc/vm/gcc3x-interp.c	2014-01-14 01:59:30 UTC (rev 2845)
+++ branches/Cog/spurstacksrc/vm/gcc3x-interp.c	2014-01-14 02:14:07 UTC (rev 2846)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.581 uuid: 926531fd-20be-42b4-9332-015b90e6734f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa
    from
-	StackInterpreter VMMaker.oscog-eem.581 uuid: 926531fd-20be-42b4-9332-015b90e6734f
+	StackInterpreter VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.581 uuid: 926531fd-20be-42b4-9332-015b90e6734f " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1271,11 +1271,11 @@
 _iss usqLong longRunningPrimitiveStopUsecs;
 _iss sqInt numSegInfos;
 _iss sqInt statCheckForEvents;
+_iss usqInt freeOldSpaceStart;
 _iss usqInt lowSpaceThreshold;
 _iss usqLong statGCEndUsecs;
 _iss sqInt classTableIndex;
 _iss sqInt externalPrimitiveTableFirstFreeIndex;
-_iss usqInt freeOldSpaceStart;
 _iss sqInt lkupClass;
 _iss sqInt metaclassNumSlots;
 _iss sqInt pendingFinalizationSignals;
@@ -1957,7 +1957,7 @@
  0 };
 char * breakSelector;
 sqInt breakSelectorLength = -1;
-const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.581]";
+const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.584]";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -13726,7 +13726,8 @@
 			(primBits & 0x1FF) + ((((usqInt) primBits) >> 19) & 512))
 #  endif /* MULTIPLEBYTECODESETS */
 		;
-	assert(primitiveFunctionPointer == (functionPointerForinClass(primIndex, nilObject())));
+	assert((primIndex == 117)
+	 || (primitiveFunctionPointer == (functionPointerForinClass(primIndex, nilObject()))));
 	assert(GIV(argumentCount) == (argumentCountOf(GIV(newMethod))));
 	accessorDepth = ((primIndex == 117)
 	 && (primitiveFunctionPointer != primitiveExternalCall)
@@ -22897,7 +22898,7 @@
 		obj = (numSlots == 0xFF
 			? GIV(oldSpaceStart) + (BaseHeaderSize)
 			: GIV(oldSpaceStart));
-		while ((((usqInt) obj)) < (((usqInt) GIV(endOfMemory)))) {
+		while ((((usqInt) obj)) < (((usqInt) GIV(freeOldSpaceStart)))) {
 			if (((longAt(obj)) & 0x3FFFFF) == 0) {
 				/* begin swizzleFieldsOfFreeChunk: */
 				field = longAt((obj + (BaseHeaderSize)) + (0 << 2));
@@ -24147,7 +24148,7 @@
 static sqInt
 isValidSegmentBridge(sqInt objOop)
 {
-	return (addressCouldBeObj(objOop - (BaseHeaderSize)))
+	return (addressCouldBeObj(objOop))
 	 && ((((longAt(objOop)) & 0x3FFFFF) == 3)
 	 && (((rawNumSlotsOf(objOop)) == 0xFF)
 	 || ((numSlotsOfAny(objOop)) == 0)));

Modified: branches/Cog/spurstacksrc/vm/interp.c
===================================================================
--- branches/Cog/spurstacksrc/vm/interp.c	2014-01-14 01:59:30 UTC (rev 2845)
+++ branches/Cog/spurstacksrc/vm/interp.c	2014-01-14 02:14:07 UTC (rev 2846)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.581 uuid: 926531fd-20be-42b4-9332-015b90e6734f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa
    from
-	StackInterpreter VMMaker.oscog-eem.581 uuid: 926531fd-20be-42b4-9332-015b90e6734f
+	StackInterpreter VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.581 uuid: 926531fd-20be-42b4-9332-015b90e6734f " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -1268,11 +1268,11 @@
 _iss usqLong longRunningPrimitiveStopUsecs;
 _iss sqInt numSegInfos;
 _iss sqInt statCheckForEvents;
+_iss usqInt freeOldSpaceStart;
 _iss usqInt lowSpaceThreshold;
 _iss usqLong statGCEndUsecs;
 _iss sqInt classTableIndex;
 _iss sqInt externalPrimitiveTableFirstFreeIndex;
-_iss usqInt freeOldSpaceStart;
 _iss sqInt lkupClass;
 _iss sqInt metaclassNumSlots;
 _iss sqInt pendingFinalizationSignals;
@@ -1954,7 +1954,7 @@
  0 };
 char * breakSelector;
 sqInt breakSelectorLength = -1;
-const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.581]";
+const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.584]";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -13717,7 +13717,8 @@
 			(primBits & 0x1FF) + ((((usqInt) primBits) >> 19) & 512))
 #  endif /* MULTIPLEBYTECODESETS */
 		;
-	assert(primitiveFunctionPointer == (functionPointerForinClass(primIndex, nilObject())));
+	assert((primIndex == 117)
+	 || (primitiveFunctionPointer == (functionPointerForinClass(primIndex, nilObject()))));
 	assert(GIV(argumentCount) == (argumentCountOf(GIV(newMethod))));
 	accessorDepth = ((primIndex == 117)
 	 && (primitiveFunctionPointer != primitiveExternalCall)
@@ -22888,7 +22889,7 @@
 		obj = (numSlots == 0xFF
 			? GIV(oldSpaceStart) + (BaseHeaderSize)
 			: GIV(oldSpaceStart));
-		while ((((usqInt) obj)) < (((usqInt) GIV(endOfMemory)))) {
+		while ((((usqInt) obj)) < (((usqInt) GIV(freeOldSpaceStart)))) {
 			if (((longAt(obj)) & 0x3FFFFF) == 0) {
 				/* begin swizzleFieldsOfFreeChunk: */
 				field = longAt((obj + (BaseHeaderSize)) + (0 << 2));
@@ -24138,7 +24139,7 @@
 static sqInt
 isValidSegmentBridge(sqInt objOop)
 {
-	return (addressCouldBeObj(objOop - (BaseHeaderSize)))
+	return (addressCouldBeObj(objOop))
 	 && ((((longAt(objOop)) & 0x3FFFFF) == 3)
 	 && (((rawNumSlotsOf(objOop)) == 0xFF)
 	 || ((numSlotsOfAny(objOop)) == 0)));

Modified: branches/Cog/spurstacksrc/vm/interp.h
===================================================================
--- branches/Cog/spurstacksrc/vm/interp.h	2014-01-14 01:59:30 UTC (rev 2845)
+++ branches/Cog/spurstacksrc/vm/interp.h	2014-01-14 02:14:07 UTC (rev 2846)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.581 uuid: 926531fd-20be-42b4-9332-015b90e6734f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa
  */
 
 #define VM_PROXY_MAJOR 1

Modified: branches/Cog/spurstacksrc/vm/vmCallback.h
===================================================================
--- branches/Cog/spurstacksrc/vm/vmCallback.h	2014-01-14 01:59:30 UTC (rev 2845)
+++ branches/Cog/spurstacksrc/vm/vmCallback.h	2014-01-14 02:14:07 UTC (rev 2846)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.581 uuid: 926531fd-20be-42b4-9332-015b90e6734f
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa
  */
 
 #define VM_CALLBACK_INC 1

Modified: branches/Cog/src/plugins/SqueakSSL/SqueakSSL.c
===================================================================
--- branches/Cog/src/plugins/SqueakSSL/SqueakSSL.c	2014-01-14 01:59:30 UTC (rev 2845)
+++ branches/Cog/src/plugins/SqueakSSL/SqueakSSL.c	2014-01-14 02:14:07 UTC (rev 2846)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.580 uuid: 751b08d4-d92e-440a-b3f6-cb2c76f52514
+	VMPluginCodeGenerator VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa
    from
-	SqueakSSLPlugin SqueakSSL-Plugin-eem.4 uuid: 5e2ad007-e58e-4c86-9657-47e0cfe12918
+	SqueakSSLPlugin VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa
  */
-static char __buildInfo[] = "SqueakSSLPlugin SqueakSSL-Plugin-eem.4 uuid: 5e2ad007-e58e-4c86-9657-47e0cfe12918 " __DATE__ ;
+static char __buildInfo[] = "SqueakSSLPlugin VMMaker.oscog-eem.584 uuid: f8e3994b-6462-4df0-bc8e-c71034adf6aa " __DATE__ ;
 
 
 
@@ -101,9 +101,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"SqueakSSL SqueakSSL-Plugin-eem.4 (i)"
+	"SqueakSSL VMMaker.oscog-eem.584 (i)"
 #else
-	"SqueakSSL SqueakSSL-Plugin-eem.4 (e)"
+	"SqueakSSL VMMaker.oscog-eem.584 (e)"
 #endif
 ;
 



More information about the Vm-dev mailing list