Revision: 2915 Author: eliot Date: 2014-05-04 17:52:47 -0700 (Sun, 04 May 2014) Log Message: ----------- CogVM source as per VMMaker.oscog-eem.704. Fix compilation warnings re compaction memcpy calls. Fix stack backtrace printing when frameCallerContext is forwarded. 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-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/nsspursrc/vm/cointerp.c 2014-05-05 00:52:47 UTC (rev 2915) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e from - CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -2218,7 +2218,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.702"; +const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.704"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; @@ -37452,7 +37452,7 @@ && ((freeBytes > ((there - here) + 8)) || (freeBytes == (there - here))))) break; moved = 1; - memcpy(destination, here, there - here); + memcpy(((void *)destination), ((void *)here), there - here); /* begin forwardUnchecked:to: */ assert((isInOldSpace(hereObj)) && (isInOldSpace(destination + (hereObj - here)))); @@ -37579,7 +37579,7 @@ chunkBytes = (addressAfter(freeChunk)) - dest; if ((chunkBytes == pigBytes) || (chunkBytes > (pigBytes + 8))) { - memcpy(dest, here, pigBytes); + memcpy(((void *)dest), ((void *)here), pigBytes); /* begin forwardUnchecked:to: */ assert((isInOldSpace(hereObj)) && (isInOldSpace(dest + (hereObj - here)))); @@ -57035,6 +57035,7 @@ sqInt ctxt; sqInt index; sqInt index1; + sqInt referent; char *theFP; StackPage *thePage; StackPage *thePage1; @@ -57078,6 +57079,16 @@ assert((callerContextOrNil == (nilObject())) || (isContext(callerContextOrNil))); ctxt = callerContextOrNil; + if (((longAt(ctxt)) & 0x3FFFFF) == 8) { + /* begin followForwarded: */ + assert(isForwarded(ctxt)); + referent = longAt((ctxt + (BaseHeaderSize)) + (0 << 2)); + while (((referent & 3) == 0) + && (((longAt(referent)) & 0x3FFFFF) == 8)) { + referent = longAt((referent + (BaseHeaderSize)) + (0 << 2)); + } + ctxt = referent; + } } else { print("widowed caller frame "); @@ -63696,9 +63707,11 @@ static sqInt shortReversePrintFrameAndCallers(char *aFramePointer) { DECL_MAYBE_SQ_GLOBAL_STRUCT + sqInt caller; sqInt callerContextOrNil; char *callerFP; sqInt index; + sqInt referent; char *theFP; StackPage *thePage; @@ -63725,7 +63738,18 @@ assert(addressCouldBeObj(callerContextOrNil)); assert((callerContextOrNil == (nilObject())) || (isContext(callerContextOrNil))); - return callerContextOrNil; + caller = callerContextOrNil; + if (((longAt(caller)) & 0x3FFFFF) == 8) { + /* begin followForwarded: */ + assert(isForwarded(caller)); + referent = longAt((caller + (BaseHeaderSize)) + (0 << 2)); + while (((referent & 3) == 0) + && (((longAt(referent)) & 0x3FFFFF) == 8)) { + referent = longAt((referent + (BaseHeaderSize)) + (0 << 2)); + } + caller = referent; + } + return caller; } Modified: branches/Cog/nsspursrc/vm/cointerp.h =================================================================== --- branches/Cog/nsspursrc/vm/cointerp.h 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/nsspursrc/vm/cointerp.h 2014-05-05 00:52:47 UTC (rev 2915) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ Modified: branches/Cog/nsspursrc/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/nsspursrc/vm/gcc3x-cointerp.c 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/nsspursrc/vm/gcc3x-cointerp.c 2014-05-05 00:52:47 UTC (rev 2915) @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e from - CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -2221,7 +2221,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.702"; +const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.704"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; @@ -37461,7 +37461,7 @@ && ((freeBytes > ((there - here) + 8)) || (freeBytes == (there - here))))) break; moved = 1; - memcpy(destination, here, there - here); + memcpy(((void *)destination), ((void *)here), there - here); /* begin forwardUnchecked:to: */ assert((isInOldSpace(hereObj)) && (isInOldSpace(destination + (hereObj - here)))); @@ -37588,7 +37588,7 @@ chunkBytes = (addressAfter(freeChunk)) - dest; if ((chunkBytes == pigBytes) || (chunkBytes > (pigBytes + 8))) { - memcpy(dest, here, pigBytes); + memcpy(((void *)dest), ((void *)here), pigBytes); /* begin forwardUnchecked:to: */ assert((isInOldSpace(hereObj)) && (isInOldSpace(dest + (hereObj - here)))); @@ -57044,6 +57044,7 @@ sqInt ctxt; sqInt index; sqInt index1; + sqInt referent; char *theFP; StackPage *thePage; StackPage *thePage1; @@ -57087,6 +57088,16 @@ assert((callerContextOrNil == (nilObject())) || (isContext(callerContextOrNil))); ctxt = callerContextOrNil; + if (((longAt(ctxt)) & 0x3FFFFF) == 8) { + /* begin followForwarded: */ + assert(isForwarded(ctxt)); + referent = longAt((ctxt + (BaseHeaderSize)) + (0 << 2)); + while (((referent & 3) == 0) + && (((longAt(referent)) & 0x3FFFFF) == 8)) { + referent = longAt((referent + (BaseHeaderSize)) + (0 << 2)); + } + ctxt = referent; + } } else { print("widowed caller frame "); @@ -63705,9 +63716,11 @@ static sqInt shortReversePrintFrameAndCallers(char *aFramePointer) { DECL_MAYBE_SQ_GLOBAL_STRUCT + sqInt caller; sqInt callerContextOrNil; char *callerFP; sqInt index; + sqInt referent; char *theFP; StackPage *thePage; @@ -63734,7 +63747,18 @@ assert(addressCouldBeObj(callerContextOrNil)); assert((callerContextOrNil == (nilObject())) || (isContext(callerContextOrNil))); - return callerContextOrNil; + caller = callerContextOrNil; + if (((longAt(caller)) & 0x3FFFFF) == 8) { + /* begin followForwarded: */ + assert(isForwarded(caller)); + referent = longAt((caller + (BaseHeaderSize)) + (0 << 2)); + while (((referent & 3) == 0) + && (((longAt(referent)) & 0x3FFFFF) == 8)) { + referent = longAt((referent + (BaseHeaderSize)) + (0 << 2)); + } + caller = referent; + } + return caller; } Modified: branches/Cog/nsspursrc/vm/interp.h =================================================================== --- branches/Cog/nsspursrc/vm/interp.h 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/nsspursrc/vm/interp.h 2014-05-05 00:52:47 UTC (rev 2915) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ #define VM_PROXY_MAJOR 1 Modified: branches/Cog/nsspursrc/vm/vmCallback.h =================================================================== --- branches/Cog/nsspursrc/vm/vmCallback.h 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/nsspursrc/vm/vmCallback.h 2014-05-05 00:52:47 UTC (rev 2915) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ #define VM_CALLBACK_INC 1 Modified: branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c =================================================================== --- branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c 2014-05-05 00:52:47 UTC (rev 2915) @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e from - StackInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + StackInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -2008,7 +2008,7 @@ 0 }; char * breakSelector; sqInt breakSelectorLength = -1; -const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.702"; +const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.704"; volatile int sendTrace; sqInt suppressHeartbeatFlag; @@ -32101,7 +32101,7 @@ && ((freeBytes > ((there - here) + 8)) || (freeBytes == (there - here))))) break; moved = 1; - memcpy(destination, here, there - here); + memcpy(((void *)destination), ((void *)here), there - here); /* begin forwardUnchecked:to: */ assert((isInOldSpace(hereObj)) && (isInOldSpace(destination + (hereObj - here)))); @@ -32228,7 +32228,7 @@ chunkBytes = (addressAfter(freeChunk)) - dest; if ((chunkBytes == pigBytes) || (chunkBytes > (pigBytes + 8))) { - memcpy(dest, here, pigBytes); + memcpy(((void *)dest), ((void *)here), pigBytes); /* begin forwardUnchecked:to: */ assert((isInOldSpace(hereObj)) && (isInOldSpace(dest + (hereObj - here)))); @@ -51037,6 +51037,7 @@ { DECL_MAYBE_SQ_GLOBAL_STRUCT sqInt ctxt; sqInt index; + sqInt referent; char *theFP; StackPage *thePage; sqInt value; @@ -51065,6 +51066,16 @@ shortPrintFrameAndCallers(theFP); theFP = (thePage->baseFP); ctxt = longAt(theFP + FoxCallerContext); + if (((longAt(ctxt)) & 0x3FFFFF) == 8) { + /* begin followForwarded: */ + assert(isForwarded(ctxt)); + referent = longAt((ctxt + (BaseHeaderSize)) + (0 << 2)); + while (((referent & 3) == 0) + && (((longAt(referent)) & 0x3FFFFF) == 8)) { + referent = longAt((referent + (BaseHeaderSize)) + (0 << 2)); + } + ctxt = referent; + } } else { print("widowed caller frame "); @@ -56758,7 +56769,9 @@ static sqInt shortReversePrintFrameAndCallers(char *aFramePointer) { DECL_MAYBE_SQ_GLOBAL_STRUCT + sqInt caller; char *callerFP; + sqInt referent; char *theFP; if (aFramePointer == 0) { @@ -56772,7 +56785,18 @@ if (!(callerFP != 0)) break; theFP = callerFP; } - return longAt(theFP + FoxCallerContext); + caller = longAt(theFP + FoxCallerContext); + if (((longAt(caller)) & 0x3FFFFF) == 8) { + /* begin followForwarded: */ + assert(isForwarded(caller)); + referent = longAt((caller + (BaseHeaderSize)) + (0 << 2)); + while (((referent & 3) == 0) + && (((longAt(referent)) & 0x3FFFFF) == 8)) { + referent = longAt((referent + (BaseHeaderSize)) + (0 << 2)); + } + caller = referent; + } + return caller; } Modified: branches/Cog/nsspurstacksrc/vm/interp.c =================================================================== --- branches/Cog/nsspurstacksrc/vm/interp.c 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/nsspurstacksrc/vm/interp.c 2014-05-05 00:52:47 UTC (rev 2915) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e from - StackInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + StackInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -2005,7 +2005,7 @@ 0 }; char * breakSelector; sqInt breakSelectorLength = -1; -const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.702"; +const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.704"; volatile int sendTrace; sqInt suppressHeartbeatFlag; @@ -32092,7 +32092,7 @@ && ((freeBytes > ((there - here) + 8)) || (freeBytes == (there - here))))) break; moved = 1; - memcpy(destination, here, there - here); + memcpy(((void *)destination), ((void *)here), there - here); /* begin forwardUnchecked:to: */ assert((isInOldSpace(hereObj)) && (isInOldSpace(destination + (hereObj - here)))); @@ -32219,7 +32219,7 @@ chunkBytes = (addressAfter(freeChunk)) - dest; if ((chunkBytes == pigBytes) || (chunkBytes > (pigBytes + 8))) { - memcpy(dest, here, pigBytes); + memcpy(((void *)dest), ((void *)here), pigBytes); /* begin forwardUnchecked:to: */ assert((isInOldSpace(hereObj)) && (isInOldSpace(dest + (hereObj - here)))); @@ -51028,6 +51028,7 @@ { DECL_MAYBE_SQ_GLOBAL_STRUCT sqInt ctxt; sqInt index; + sqInt referent; char *theFP; StackPage *thePage; sqInt value; @@ -51056,6 +51057,16 @@ shortPrintFrameAndCallers(theFP); theFP = (thePage->baseFP); ctxt = longAt(theFP + FoxCallerContext); + if (((longAt(ctxt)) & 0x3FFFFF) == 8) { + /* begin followForwarded: */ + assert(isForwarded(ctxt)); + referent = longAt((ctxt + (BaseHeaderSize)) + (0 << 2)); + while (((referent & 3) == 0) + && (((longAt(referent)) & 0x3FFFFF) == 8)) { + referent = longAt((referent + (BaseHeaderSize)) + (0 << 2)); + } + ctxt = referent; + } } else { print("widowed caller frame "); @@ -56749,7 +56760,9 @@ static sqInt shortReversePrintFrameAndCallers(char *aFramePointer) { DECL_MAYBE_SQ_GLOBAL_STRUCT + sqInt caller; char *callerFP; + sqInt referent; char *theFP; if (aFramePointer == 0) { @@ -56763,7 +56776,18 @@ if (!(callerFP != 0)) break; theFP = callerFP; } - return longAt(theFP + FoxCallerContext); + caller = longAt(theFP + FoxCallerContext); + if (((longAt(caller)) & 0x3FFFFF) == 8) { + /* begin followForwarded: */ + assert(isForwarded(caller)); + referent = longAt((caller + (BaseHeaderSize)) + (0 << 2)); + while (((referent & 3) == 0) + && (((longAt(referent)) & 0x3FFFFF) == 8)) { + referent = longAt((referent + (BaseHeaderSize)) + (0 << 2)); + } + caller = referent; + } + return caller; } Modified: branches/Cog/nsspurstacksrc/vm/interp.h =================================================================== --- branches/Cog/nsspurstacksrc/vm/interp.h 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/nsspurstacksrc/vm/interp.h 2014-05-05 00:52:47 UTC (rev 2915) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ #define VM_PROXY_MAJOR 1 Modified: branches/Cog/nsspurstacksrc/vm/vmCallback.h =================================================================== --- branches/Cog/nsspurstacksrc/vm/vmCallback.h 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/nsspurstacksrc/vm/vmCallback.h 2014-05-05 00:52:47 UTC (rev 2915) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ #define VM_CALLBACK_INC 1 Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h ___________________________________________________________________ Modified: checkindate - Sun May 4 09:33:41 PDT 2014 + Sun May 4 17:50:58 PDT 2014 Modified: branches/Cog/spursistasrc/vm/cointerp.c =================================================================== --- branches/Cog/spursistasrc/vm/cointerp.c 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/spursistasrc/vm/cointerp.c 2014-05-05 00:52:47 UTC (rev 2915) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e from - CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -1314,7 +1314,7 @@ static void setSignalLowSpaceFlagAndSaveProcess(void); static void setTraceFlagOnContextsFramesPageIfNeeded(sqInt aContext); sqInt shiftForWord(void); -static usqInt shortentoIndexableSize(sqInt objOop, sqInt indexableSize); +static sqInt shortentoIndexableSize(sqInt objOop, sqInt indexableSize); static sqInt shortPrintContext(sqInt aContext); static sqInt shortPrintFrameAndCallers(char *theFP); EXPORT(void) shortPrintFramesInPage(StackPage *thePage); @@ -2213,7 +2213,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.702]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.704]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; @@ -32292,7 +32292,7 @@ && ((freeBytes > ((there - here) + 8)) || (freeBytes == (there - here))))) break; moved = 1; - memcpy(destination, here, there - here); + memcpy(((void *)destination), ((void *)here), there - here); /* begin forwardUnchecked:to: */ assert((isInOldSpace(hereObj)) && (isInOldSpace(destination + (hereObj - here)))); @@ -32419,7 +32419,7 @@ chunkBytes = (addressAfter(freeChunk)) - dest; if ((chunkBytes == pigBytes) || (chunkBytes > (pigBytes + 8))) { - memcpy(dest, here, pigBytes); + memcpy(((void *)dest), ((void *)here), pigBytes); /* begin forwardUnchecked:to: */ assert((isInOldSpace(hereObj)) && (isInOldSpace(dest + (hereObj - here)))); @@ -51821,6 +51821,7 @@ sqInt ctxt; sqInt index; sqInt index1; + sqInt referent; char *theFP; StackPage *thePage; StackPage *thePage1; @@ -51864,6 +51865,16 @@ assert((callerContextOrNil == (nilObject())) || (isContext(callerContextOrNil))); ctxt = callerContextOrNil; + if (((longAt(ctxt)) & 0x3FFFFF) == 8) { + /* begin followForwarded: */ + assert(isForwarded(ctxt)); + referent = longAt((ctxt + (BaseHeaderSize)) + (0 << 2)); + while (((referent & 3) == 0) + && (((longAt(referent)) & 0x3FFFFF) == 8)) { + referent = longAt((referent + (BaseHeaderSize)) + (0 << 2)); + } + ctxt = referent; + } } else { print("widowed caller frame "); @@ -58238,7 +58249,7 @@ zero if no change was possible. */ -static usqInt +static sqInt shortentoIndexableSize(sqInt objOop, sqInt indexableSize) { usqInt bytesAfter; @@ -58474,9 +58485,11 @@ static sqInt shortReversePrintFrameAndCallers(char *aFramePointer) { DECL_MAYBE_SQ_GLOBAL_STRUCT + sqInt caller; sqInt callerContextOrNil; char *callerFP; sqInt index; + sqInt referent; char *theFP; StackPage *thePage; @@ -58503,7 +58516,18 @@ assert(addressCouldBeObj(callerContextOrNil)); assert((callerContextOrNil == (nilObject())) || (isContext(callerContextOrNil))); - return callerContextOrNil; + caller = callerContextOrNil; + if (((longAt(caller)) & 0x3FFFFF) == 8) { + /* begin followForwarded: */ + assert(isForwarded(caller)); + referent = longAt((caller + (BaseHeaderSize)) + (0 << 2)); + while (((referent & 3) == 0) + && (((longAt(referent)) & 0x3FFFFF) == 8)) { + referent = longAt((referent + (BaseHeaderSize)) + (0 << 2)); + } + caller = referent; + } + return caller; } Modified: branches/Cog/spursistasrc/vm/cointerp.h =================================================================== --- branches/Cog/spursistasrc/vm/cointerp.h 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/spursistasrc/vm/cointerp.h 2014-05-05 00:52:47 UTC (rev 2915) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ Modified: branches/Cog/spursistasrc/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/spursistasrc/vm/gcc3x-cointerp.c 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/spursistasrc/vm/gcc3x-cointerp.c 2014-05-05 00:52:47 UTC (rev 2915) @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e from - CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -1317,7 +1317,7 @@ static void setSignalLowSpaceFlagAndSaveProcess(void); static void setTraceFlagOnContextsFramesPageIfNeeded(sqInt aContext); sqInt shiftForWord(void); -static usqInt shortentoIndexableSize(sqInt objOop, sqInt indexableSize); +static sqInt shortentoIndexableSize(sqInt objOop, sqInt indexableSize); static sqInt shortPrintContext(sqInt aContext); static sqInt shortPrintFrameAndCallers(char *theFP); EXPORT(void) shortPrintFramesInPage(StackPage *thePage); @@ -2216,7 +2216,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.702]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.704]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; @@ -32301,7 +32301,7 @@ && ((freeBytes > ((there - here) + 8)) || (freeBytes == (there - here))))) break; moved = 1; - memcpy(destination, here, there - here); + memcpy(((void *)destination), ((void *)here), there - here); /* begin forwardUnchecked:to: */ assert((isInOldSpace(hereObj)) && (isInOldSpace(destination + (hereObj - here)))); @@ -32428,7 +32428,7 @@ chunkBytes = (addressAfter(freeChunk)) - dest; if ((chunkBytes == pigBytes) || (chunkBytes > (pigBytes + 8))) { - memcpy(dest, here, pigBytes); + memcpy(((void *)dest), ((void *)here), pigBytes); /* begin forwardUnchecked:to: */ assert((isInOldSpace(hereObj)) && (isInOldSpace(dest + (hereObj - here)))); @@ -51830,6 +51830,7 @@ sqInt ctxt; sqInt index; sqInt index1; + sqInt referent; char *theFP; StackPage *thePage; StackPage *thePage1; @@ -51873,6 +51874,16 @@ assert((callerContextOrNil == (nilObject())) || (isContext(callerContextOrNil))); ctxt = callerContextOrNil; + if (((longAt(ctxt)) & 0x3FFFFF) == 8) { + /* begin followForwarded: */ + assert(isForwarded(ctxt)); + referent = longAt((ctxt + (BaseHeaderSize)) + (0 << 2)); + while (((referent & 3) == 0) + && (((longAt(referent)) & 0x3FFFFF) == 8)) { + referent = longAt((referent + (BaseHeaderSize)) + (0 << 2)); + } + ctxt = referent; + } } else { print("widowed caller frame "); @@ -58247,7 +58258,7 @@ zero if no change was possible. */ -static usqInt +static sqInt shortentoIndexableSize(sqInt objOop, sqInt indexableSize) { usqInt bytesAfter; @@ -58483,9 +58494,11 @@ static sqInt shortReversePrintFrameAndCallers(char *aFramePointer) { DECL_MAYBE_SQ_GLOBAL_STRUCT + sqInt caller; sqInt callerContextOrNil; char *callerFP; sqInt index; + sqInt referent; char *theFP; StackPage *thePage; @@ -58512,7 +58525,18 @@ assert(addressCouldBeObj(callerContextOrNil)); assert((callerContextOrNil == (nilObject())) || (isContext(callerContextOrNil))); - return callerContextOrNil; + caller = callerContextOrNil; + if (((longAt(caller)) & 0x3FFFFF) == 8) { + /* begin followForwarded: */ + assert(isForwarded(caller)); + referent = longAt((caller + (BaseHeaderSize)) + (0 << 2)); + while (((referent & 3) == 0) + && (((longAt(referent)) & 0x3FFFFF) == 8)) { + referent = longAt((referent + (BaseHeaderSize)) + (0 << 2)); + } + caller = referent; + } + return caller; } Modified: branches/Cog/spursistasrc/vm/interp.h =================================================================== --- branches/Cog/spursistasrc/vm/interp.h 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/spursistasrc/vm/interp.h 2014-05-05 00:52:47 UTC (rev 2915) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ #define VM_PROXY_MAJOR 1 Modified: branches/Cog/spursistasrc/vm/vmCallback.h =================================================================== --- branches/Cog/spursistasrc/vm/vmCallback.h 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/spursistasrc/vm/vmCallback.h 2014-05-05 00:52:47 UTC (rev 2915) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ #define VM_CALLBACK_INC 1 Modified: branches/Cog/spursrc/vm/cointerp.c =================================================================== --- branches/Cog/spursrc/vm/cointerp.c 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/spursrc/vm/cointerp.c 2014-05-05 00:52:47 UTC (rev 2915) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e from - CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -2208,7 +2208,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.702]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.704]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; @@ -32153,7 +32153,7 @@ && ((freeBytes > ((there - here) + 8)) || (freeBytes == (there - here))))) break; moved = 1; - memcpy(destination, here, there - here); + memcpy(((void *)destination), ((void *)here), there - here); /* begin forwardUnchecked:to: */ assert((isInOldSpace(hereObj)) && (isInOldSpace(destination + (hereObj - here)))); @@ -32280,7 +32280,7 @@ chunkBytes = (addressAfter(freeChunk)) - dest; if ((chunkBytes == pigBytes) || (chunkBytes > (pigBytes + 8))) { - memcpy(dest, here, pigBytes); + memcpy(((void *)dest), ((void *)here), pigBytes); /* begin forwardUnchecked:to: */ assert((isInOldSpace(hereObj)) && (isInOldSpace(dest + (hereObj - here)))); @@ -51618,6 +51618,7 @@ sqInt ctxt; sqInt index; sqInt index1; + sqInt referent; char *theFP; StackPage *thePage; StackPage *thePage1; @@ -51661,6 +51662,16 @@ assert((callerContextOrNil == (nilObject())) || (isContext(callerContextOrNil))); ctxt = callerContextOrNil; + if (((longAt(ctxt)) & 0x3FFFFF) == 8) { + /* begin followForwarded: */ + assert(isForwarded(ctxt)); + referent = longAt((ctxt + (BaseHeaderSize)) + (0 << 2)); + while (((referent & 3) == 0) + && (((longAt(referent)) & 0x3FFFFF) == 8)) { + referent = longAt((referent + (BaseHeaderSize)) + (0 << 2)); + } + ctxt = referent; + } } else { print("widowed caller frame "); @@ -58235,9 +58246,11 @@ static sqInt shortReversePrintFrameAndCallers(char *aFramePointer) { DECL_MAYBE_SQ_GLOBAL_STRUCT + sqInt caller; sqInt callerContextOrNil; char *callerFP; sqInt index; + sqInt referent; char *theFP; StackPage *thePage; @@ -58264,7 +58277,18 @@ assert(addressCouldBeObj(callerContextOrNil)); assert((callerContextOrNil == (nilObject())) || (isContext(callerContextOrNil))); - return callerContextOrNil; + caller = callerContextOrNil; + if (((longAt(caller)) & 0x3FFFFF) == 8) { + /* begin followForwarded: */ + assert(isForwarded(caller)); + referent = longAt((caller + (BaseHeaderSize)) + (0 << 2)); + while (((referent & 3) == 0) + && (((longAt(referent)) & 0x3FFFFF) == 8)) { + referent = longAt((referent + (BaseHeaderSize)) + (0 << 2)); + } + caller = referent; + } + return caller; } Modified: branches/Cog/spursrc/vm/cointerp.h =================================================================== --- branches/Cog/spursrc/vm/cointerp.h 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/spursrc/vm/cointerp.h 2014-05-05 00:52:47 UTC (rev 2915) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ Modified: branches/Cog/spursrc/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/spursrc/vm/gcc3x-cointerp.c 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/spursrc/vm/gcc3x-cointerp.c 2014-05-05 00:52:47 UTC (rev 2915) @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e from - CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -2211,7 +2211,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.702]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.704]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; @@ -32162,7 +32162,7 @@ && ((freeBytes > ((there - here) + 8)) || (freeBytes == (there - here))))) break; moved = 1; - memcpy(destination, here, there - here); + memcpy(((void *)destination), ((void *)here), there - here); /* begin forwardUnchecked:to: */ assert((isInOldSpace(hereObj)) && (isInOldSpace(destination + (hereObj - here)))); @@ -32289,7 +32289,7 @@ chunkBytes = (addressAfter(freeChunk)) - dest; if ((chunkBytes == pigBytes) || (chunkBytes > (pigBytes + 8))) { - memcpy(dest, here, pigBytes); + memcpy(((void *)dest), ((void *)here), pigBytes); /* begin forwardUnchecked:to: */ assert((isInOldSpace(hereObj)) && (isInOldSpace(dest + (hereObj - here)))); @@ -51627,6 +51627,7 @@ sqInt ctxt; sqInt index; sqInt index1; + sqInt referent; char *theFP; StackPage *thePage; StackPage *thePage1; @@ -51670,6 +51671,16 @@ assert((callerContextOrNil == (nilObject())) || (isContext(callerContextOrNil))); ctxt = callerContextOrNil; + if (((longAt(ctxt)) & 0x3FFFFF) == 8) { + /* begin followForwarded: */ + assert(isForwarded(ctxt)); + referent = longAt((ctxt + (BaseHeaderSize)) + (0 << 2)); + while (((referent & 3) == 0) + && (((longAt(referent)) & 0x3FFFFF) == 8)) { + referent = longAt((referent + (BaseHeaderSize)) + (0 << 2)); + } + ctxt = referent; + } } else { print("widowed caller frame "); @@ -58244,9 +58255,11 @@ static sqInt shortReversePrintFrameAndCallers(char *aFramePointer) { DECL_MAYBE_SQ_GLOBAL_STRUCT + sqInt caller; sqInt callerContextOrNil; char *callerFP; sqInt index; + sqInt referent; char *theFP; StackPage *thePage; @@ -58273,7 +58286,18 @@ assert(addressCouldBeObj(callerContextOrNil)); assert((callerContextOrNil == (nilObject())) || (isContext(callerContextOrNil))); - return callerContextOrNil; + caller = callerContextOrNil; + if (((longAt(caller)) & 0x3FFFFF) == 8) { + /* begin followForwarded: */ + assert(isForwarded(caller)); + referent = longAt((caller + (BaseHeaderSize)) + (0 << 2)); + while (((referent & 3) == 0) + && (((longAt(referent)) & 0x3FFFFF) == 8)) { + referent = longAt((referent + (BaseHeaderSize)) + (0 << 2)); + } + caller = referent; + } + return caller; } Modified: branches/Cog/spursrc/vm/interp.h =================================================================== --- branches/Cog/spursrc/vm/interp.h 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/spursrc/vm/interp.h 2014-05-05 00:52:47 UTC (rev 2915) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ #define VM_PROXY_MAJOR 1 Modified: branches/Cog/spursrc/vm/vmCallback.h =================================================================== --- branches/Cog/spursrc/vm/vmCallback.h 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/spursrc/vm/vmCallback.h 2014-05-05 00:52:47 UTC (rev 2915) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ #define VM_CALLBACK_INC 1 Modified: branches/Cog/spurstacksrc/vm/gcc3x-interp.c =================================================================== --- branches/Cog/spurstacksrc/vm/gcc3x-interp.c 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/spurstacksrc/vm/gcc3x-interp.c 2014-05-05 00:52:47 UTC (rev 2915) @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e from - StackInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + StackInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -2001,7 +2001,7 @@ 0 }; char * breakSelector; sqInt breakSelectorLength = -1; -const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.702]"; +const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.704]"; volatile int sendTrace; sqInt suppressHeartbeatFlag; @@ -27165,7 +27165,7 @@ && ((freeBytes > ((there - here) + 8)) || (freeBytes == (there - here))))) break; moved = 1; - memcpy(destination, here, there - here); + memcpy(((void *)destination), ((void *)here), there - here); /* begin forwardUnchecked:to: */ assert((isInOldSpace(hereObj)) && (isInOldSpace(destination + (hereObj - here)))); @@ -27292,7 +27292,7 @@ chunkBytes = (addressAfter(freeChunk)) - dest; if ((chunkBytes == pigBytes) || (chunkBytes > (pigBytes + 8))) { - memcpy(dest, here, pigBytes); + memcpy(((void *)dest), ((void *)here), pigBytes); /* begin forwardUnchecked:to: */ assert((isInOldSpace(hereObj)) && (isInOldSpace(dest + (hereObj - here)))); @@ -45933,6 +45933,7 @@ { DECL_MAYBE_SQ_GLOBAL_STRUCT sqInt ctxt; sqInt index; + sqInt referent; char *theFP; StackPage *thePage; sqInt value; @@ -45961,6 +45962,16 @@ shortPrintFrameAndCallers(theFP); theFP = (thePage->baseFP); ctxt = longAt(theFP + FoxCallerContext); + if (((longAt(ctxt)) & 0x3FFFFF) == 8) { + /* begin followForwarded: */ + assert(isForwarded(ctxt)); + referent = longAt((ctxt + (BaseHeaderSize)) + (0 << 2)); + while (((referent & 3) == 0) + && (((longAt(referent)) & 0x3FFFFF) == 8)) { + referent = longAt((referent + (BaseHeaderSize)) + (0 << 2)); + } + ctxt = referent; + } } else { print("widowed caller frame "); @@ -51607,7 +51618,9 @@ static sqInt shortReversePrintFrameAndCallers(char *aFramePointer) { DECL_MAYBE_SQ_GLOBAL_STRUCT + sqInt caller; char *callerFP; + sqInt referent; char *theFP; if (aFramePointer == 0) { @@ -51621,7 +51634,18 @@ if (!(callerFP != 0)) break; theFP = callerFP; } - return longAt(theFP + FoxCallerContext); + caller = longAt(theFP + FoxCallerContext); + if (((longAt(caller)) & 0x3FFFFF) == 8) { + /* begin followForwarded: */ + assert(isForwarded(caller)); + referent = longAt((caller + (BaseHeaderSize)) + (0 << 2)); + while (((referent & 3) == 0) + && (((longAt(referent)) & 0x3FFFFF) == 8)) { + referent = longAt((referent + (BaseHeaderSize)) + (0 << 2)); + } + caller = referent; + } + return caller; } Modified: branches/Cog/spurstacksrc/vm/interp.c =================================================================== --- branches/Cog/spurstacksrc/vm/interp.c 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/spurstacksrc/vm/interp.c 2014-05-05 00:52:47 UTC (rev 2915) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e from - StackInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + StackInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -1998,7 +1998,7 @@ 0 }; char * breakSelector; sqInt breakSelectorLength = -1; -const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.702]"; +const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.704]"; volatile int sendTrace; sqInt suppressHeartbeatFlag; @@ -27156,7 +27156,7 @@ && ((freeBytes > ((there - here) + 8)) || (freeBytes == (there - here))))) break; moved = 1; - memcpy(destination, here, there - here); + memcpy(((void *)destination), ((void *)here), there - here); /* begin forwardUnchecked:to: */ assert((isInOldSpace(hereObj)) && (isInOldSpace(destination + (hereObj - here)))); @@ -27283,7 +27283,7 @@ chunkBytes = (addressAfter(freeChunk)) - dest; if ((chunkBytes == pigBytes) || (chunkBytes > (pigBytes + 8))) { - memcpy(dest, here, pigBytes); + memcpy(((void *)dest), ((void *)here), pigBytes); /* begin forwardUnchecked:to: */ assert((isInOldSpace(hereObj)) && (isInOldSpace(dest + (hereObj - here)))); @@ -45924,6 +45924,7 @@ { DECL_MAYBE_SQ_GLOBAL_STRUCT sqInt ctxt; sqInt index; + sqInt referent; char *theFP; StackPage *thePage; sqInt value; @@ -45952,6 +45953,16 @@ shortPrintFrameAndCallers(theFP); theFP = (thePage->baseFP); ctxt = longAt(theFP + FoxCallerContext); + if (((longAt(ctxt)) & 0x3FFFFF) == 8) { + /* begin followForwarded: */ + assert(isForwarded(ctxt)); + referent = longAt((ctxt + (BaseHeaderSize)) + (0 << 2)); + while (((referent & 3) == 0) + && (((longAt(referent)) & 0x3FFFFF) == 8)) { + referent = longAt((referent + (BaseHeaderSize)) + (0 << 2)); + } + ctxt = referent; + } } else { print("widowed caller frame "); @@ -51598,7 +51609,9 @@ static sqInt shortReversePrintFrameAndCallers(char *aFramePointer) { DECL_MAYBE_SQ_GLOBAL_STRUCT + sqInt caller; char *callerFP; + sqInt referent; char *theFP; if (aFramePointer == 0) { @@ -51612,7 +51625,18 @@ if (!(callerFP != 0)) break; theFP = callerFP; } - return longAt(theFP + FoxCallerContext); + caller = longAt(theFP + FoxCallerContext); + if (((longAt(caller)) & 0x3FFFFF) == 8) { + /* begin followForwarded: */ + assert(isForwarded(caller)); + referent = longAt((caller + (BaseHeaderSize)) + (0 << 2)); + while (((referent & 3) == 0) + && (((longAt(referent)) & 0x3FFFFF) == 8)) { + referent = longAt((referent + (BaseHeaderSize)) + (0 << 2)); + } + caller = referent; + } + return caller; } Modified: branches/Cog/spurstacksrc/vm/interp.h =================================================================== --- branches/Cog/spurstacksrc/vm/interp.h 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/spurstacksrc/vm/interp.h 2014-05-05 00:52:47 UTC (rev 2915) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ #define VM_PROXY_MAJOR 1 Modified: branches/Cog/spurstacksrc/vm/vmCallback.h =================================================================== --- branches/Cog/spurstacksrc/vm/vmCallback.h 2014-05-04 16:34:55 UTC (rev 2914) +++ branches/Cog/spurstacksrc/vm/vmCallback.h 2014-05-05 00:52:47 UTC (rev 2915) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.702 uuid: 2f753471-9a18-4f13-aaef-58ffb0702465 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.704 uuid: 5a1a2624-b349-4d95-aeb3-097087219b4e */ #define VM_CALLBACK_INC 1 |
Free forum by Nabble | Edit this page |