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 ;
vm-dev@lists.squeakfoundation.org