Revision: 2852 Author: eliot Date: 2014-01-24 17:04:32 -0800 (Fri, 24 Jan 2014) Log Message: ----------- CogVM source as per MMaker.oscog-eem.592 Author: eem Time: 24 January 2014, 4:52:54.33 pm UUID: 98758c41-4bb5-4d45-87c9-77e5cf416120 Ancestors: VMMaker.oscog-eem.591 Fix regression in mapProfileState committed in VMMaker.oscog-eem.380/r2796. Causes segfaults on GC after running the AndreasSystemProfiler. Modified Paths: -------------- branches/Cog/nscogsrc/vm/cointerp.c branches/Cog/nscogsrc/vm/cointerp.h branches/Cog/nscogsrc/vm/gcc3x-cointerp.c branches/Cog/nscogsrc/vm/interp.h branches/Cog/nscogsrc/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 branches/Cog/src/vm/cointerp.c branches/Cog/src/vm/cointerp.h branches/Cog/src/vm/cointerpmt.c branches/Cog/src/vm/cointerpmt.h branches/Cog/src/vm/gcc3x-cointerp.c branches/Cog/src/vm/gcc3x-cointerpmt.c branches/Cog/src/vm/interp.h branches/Cog/src/vm/vmCallback.h branches/Cog/stacksrc/vm/gcc3x-interp.c branches/Cog/stacksrc/vm/interp.c branches/Cog/stacksrc/vm/interp.h branches/Cog/stacksrc/vm/vmCallback.h Property Changed: ---------------- branches/Cog/platforms/Cross/vm/sqSCCSVersion.h Modified: branches/Cog/nscogsrc/vm/cointerp.c =================================================================== --- branches/Cog/nscogsrc/vm/cointerp.c 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/nscogsrc/vm/cointerp.c 2014-01-25 01:04:32 UTC (rev 2852) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 from - CoInterpreter VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CoInterpreter VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -1143,7 +1143,7 @@ static void rewriteMethodCacheEntryForExternalPrimitiveToFunction(void (*localPrimAddress)(void)); static sqInt roomToPushNArgs(sqInt n); static void runLeakCheckerForFullGC(sqInt fullGCFlag); -static usqInt safeObjectAfter(sqInt oop); +static sqInt safeObjectAfter(sqInt oop); static sqInt safePrintStringOf(sqInt oop); usqInt scavengeThresholdAddress(void); EXPORT(sqInt) sendInvokeCallbackContext(VMCallbackContext *vmCallbackContext); @@ -1298,15 +1298,15 @@ _iss usqInt fwdTableNext; _iss sqInt longRunningPrimitiveCheckSemaphore; _iss sqInt tempOop; -_iss sqInt profileProcess; _iss sqInt profileSemaphore; _iss usqInt compStart; _iss sqInt extraRootCount; +_iss sqInt profileProcess; _iss sqInt classNameIndex; _iss sqInt weakRootCount; _iss sqInt longRunningPrimitiveCheckMethod; +_iss sqInt profileMethod; _iss sqInt lastMethodCacheProbeWrite; -_iss sqInt profileMethod; _iss sqInt backwardJumpCount; _iss sqInt growHeadroom; _iss sqInt lkupClass; @@ -2029,7 +2029,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.591"; +const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.592"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; @@ -23719,15 +23719,17 @@ sqInt header1; sqInt header2; sqInt header3; + sqInt header4; usqInt lastWord; sqInt newFreeChunk; sqInt newOop; - usqInt next; + sqInt next; sqInt oop; sqInt realHeader; sqInt sz; sqInt sz1; sqInt sz2; + sqInt sz3; sqInt target; usqInt w; @@ -23738,7 +23740,21 @@ /* begin objectAfterWhileForwarding: */ header2 = longAt(oop); if ((header2 & MarkBit) == 0) { - next = ((sqInt) (objectAfter(oop))); + /* begin objectAfter: */ + if (!(asserta(oopisLessThan(oop, GIV(freeStart))))) { + error("no objects after the end of memory"); + } + if (((longAt(oop)) & TypeMask) == HeaderTypeFree) { + sz2 = (longAt(oop)) & AllButTypeMask; + } + else { + /* begin sizeBitsOf: */ + header3 = longAt(oop); + sz2 = ((header3 & TypeMask) == HeaderTypeSizeAndClass + ? (longAt(oop - (BytesPerWord * 2))) & LongSizeMask + : header3 & SizeMask); + } + next = (oop + sz2) + (headerTypeBytes[(longAt(oop + sz2)) & TypeMask]); goto l1; } fwdBlock1 = (header2 & AllButMarkBitAndTypeMask) << 1; @@ -23753,7 +23769,7 @@ else { sz1 = realHeader & SizeMask; } - next = ((sqInt) ((oop + sz1) + (headerTypeBytes[(longAt(oop + sz1)) & TypeMask]))); + next = (oop + sz1) + (headerTypeBytes[(longAt(oop + sz1)) & TypeMask]); l1: /* end objectAfterWhileForwarding: */; if (!(((longAt(oop)) & TypeMask) == HeaderTypeFree)) { @@ -23807,18 +23823,18 @@ } /* begin safeObjectAfter: */ if (((longAt(newFreeChunk)) & TypeMask) == HeaderTypeFree) { - sz2 = (longAt(newFreeChunk)) & AllButTypeMask; + sz3 = (longAt(newFreeChunk)) & AllButTypeMask; } else { /* begin sizeBitsOf: */ - header3 = longAt(newFreeChunk); - sz2 = ((header3 & TypeMask) == HeaderTypeSizeAndClass + header4 = longAt(newFreeChunk); + sz3 = ((header4 & TypeMask) == HeaderTypeSizeAndClass ? (longAt(newFreeChunk - (BytesPerWord * 2))) & LongSizeMask - : header3 & SizeMask); + : header4 & SizeMask); } - next = ((newFreeChunk + sz2) >= GIV(freeStart) + next = ((newFreeChunk + sz3) >= GIV(freeStart) ? GIV(freeStart) - : (newFreeChunk + sz2) + (headerTypeBytes[(longAt(newFreeChunk + sz2)) & TypeMask])); + : (newFreeChunk + sz3) + (headerTypeBytes[(longAt(newFreeChunk + sz3)) & TypeMask])); assert((next == GIV(freeStart)) || (next == (oopFromChunk(GIV(compEnd))))); if (next == GIV(freeStart)) { @@ -27106,7 +27122,7 @@ } if (((GIV(profileMethod) & 1) == 0) && (((longAt(GIV(profileMethod))) & MarkBit) != 0)) { - GIV(profileMethod) = remapObj(GIV(profileProcess)); + GIV(profileMethod) = remapObj(GIV(profileMethod)); } if (((GIV(profileSemaphore) & 1) == 0) && (((longAt(GIV(profileSemaphore))) & MarkBit) != 0)) { @@ -50012,7 +50028,7 @@ given object or free chunk in memory. Return freeStart when enumeration is complete. This is for assertion checking only. */ -static usqInt +static sqInt safeObjectAfter(sqInt oop) { DECL_MAYBE_SQ_GLOBAL_STRUCT sqInt header; Modified: branches/Cog/nscogsrc/vm/cointerp.h =================================================================== --- branches/Cog/nscogsrc/vm/cointerp.h 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/nscogsrc/vm/cointerp.h 2014-01-25 01:04:32 UTC (rev 2852) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ Modified: branches/Cog/nscogsrc/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/nscogsrc/vm/gcc3x-cointerp.c 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/nscogsrc/vm/gcc3x-cointerp.c 2014-01-25 01:04:32 UTC (rev 2852) @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 from - CoInterpreter VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CoInterpreter VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -1146,7 +1146,7 @@ static void rewriteMethodCacheEntryForExternalPrimitiveToFunction(void (*localPrimAddress)(void)); static sqInt roomToPushNArgs(sqInt n); static void runLeakCheckerForFullGC(sqInt fullGCFlag); -static usqInt safeObjectAfter(sqInt oop); +static sqInt safeObjectAfter(sqInt oop); static sqInt safePrintStringOf(sqInt oop); usqInt scavengeThresholdAddress(void); EXPORT(sqInt) sendInvokeCallbackContext(VMCallbackContext *vmCallbackContext); @@ -1301,15 +1301,15 @@ _iss usqInt fwdTableNext; _iss sqInt longRunningPrimitiveCheckSemaphore; _iss sqInt tempOop; -_iss sqInt profileProcess; _iss sqInt profileSemaphore; _iss usqInt compStart; _iss sqInt extraRootCount; +_iss sqInt profileProcess; _iss sqInt classNameIndex; _iss sqInt weakRootCount; _iss sqInt longRunningPrimitiveCheckMethod; +_iss sqInt profileMethod; _iss sqInt lastMethodCacheProbeWrite; -_iss sqInt profileMethod; _iss sqInt backwardJumpCount; _iss sqInt growHeadroom; _iss sqInt lkupClass; @@ -2032,7 +2032,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.591"; +const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.592"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; @@ -23728,15 +23728,17 @@ sqInt header1; sqInt header2; sqInt header3; + sqInt header4; usqInt lastWord; sqInt newFreeChunk; sqInt newOop; - usqInt next; + sqInt next; sqInt oop; sqInt realHeader; sqInt sz; sqInt sz1; sqInt sz2; + sqInt sz3; sqInt target; usqInt w; @@ -23747,7 +23749,21 @@ /* begin objectAfterWhileForwarding: */ header2 = longAt(oop); if ((header2 & MarkBit) == 0) { - next = ((sqInt) (objectAfter(oop))); + /* begin objectAfter: */ + if (!(asserta(oopisLessThan(oop, GIV(freeStart))))) { + error("no objects after the end of memory"); + } + if (((longAt(oop)) & TypeMask) == HeaderTypeFree) { + sz2 = (longAt(oop)) & AllButTypeMask; + } + else { + /* begin sizeBitsOf: */ + header3 = longAt(oop); + sz2 = ((header3 & TypeMask) == HeaderTypeSizeAndClass + ? (longAt(oop - (BytesPerWord * 2))) & LongSizeMask + : header3 & SizeMask); + } + next = (oop + sz2) + (headerTypeBytes[(longAt(oop + sz2)) & TypeMask]); goto l1; } fwdBlock1 = (header2 & AllButMarkBitAndTypeMask) << 1; @@ -23762,7 +23778,7 @@ else { sz1 = realHeader & SizeMask; } - next = ((sqInt) ((oop + sz1) + (headerTypeBytes[(longAt(oop + sz1)) & TypeMask]))); + next = (oop + sz1) + (headerTypeBytes[(longAt(oop + sz1)) & TypeMask]); l1: /* end objectAfterWhileForwarding: */; if (!(((longAt(oop)) & TypeMask) == HeaderTypeFree)) { @@ -23816,18 +23832,18 @@ } /* begin safeObjectAfter: */ if (((longAt(newFreeChunk)) & TypeMask) == HeaderTypeFree) { - sz2 = (longAt(newFreeChunk)) & AllButTypeMask; + sz3 = (longAt(newFreeChunk)) & AllButTypeMask; } else { /* begin sizeBitsOf: */ - header3 = longAt(newFreeChunk); - sz2 = ((header3 & TypeMask) == HeaderTypeSizeAndClass + header4 = longAt(newFreeChunk); + sz3 = ((header4 & TypeMask) == HeaderTypeSizeAndClass ? (longAt(newFreeChunk - (BytesPerWord * 2))) & LongSizeMask - : header3 & SizeMask); + : header4 & SizeMask); } - next = ((newFreeChunk + sz2) >= GIV(freeStart) + next = ((newFreeChunk + sz3) >= GIV(freeStart) ? GIV(freeStart) - : (newFreeChunk + sz2) + (headerTypeBytes[(longAt(newFreeChunk + sz2)) & TypeMask])); + : (newFreeChunk + sz3) + (headerTypeBytes[(longAt(newFreeChunk + sz3)) & TypeMask])); assert((next == GIV(freeStart)) || (next == (oopFromChunk(GIV(compEnd))))); if (next == GIV(freeStart)) { @@ -27115,7 +27131,7 @@ } if (((GIV(profileMethod) & 1) == 0) && (((longAt(GIV(profileMethod))) & MarkBit) != 0)) { - GIV(profileMethod) = remapObj(GIV(profileProcess)); + GIV(profileMethod) = remapObj(GIV(profileMethod)); } if (((GIV(profileSemaphore) & 1) == 0) && (((longAt(GIV(profileSemaphore))) & MarkBit) != 0)) { @@ -50021,7 +50037,7 @@ given object or free chunk in memory. Return freeStart when enumeration is complete. This is for assertion checking only. */ -static usqInt +static sqInt safeObjectAfter(sqInt oop) { DECL_MAYBE_SQ_GLOBAL_STRUCT sqInt header; Modified: branches/Cog/nscogsrc/vm/interp.h =================================================================== --- branches/Cog/nscogsrc/vm/interp.h 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/nscogsrc/vm/interp.h 2014-01-25 01:04:32 UTC (rev 2852) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ #define VM_PROXY_MAJOR 1 Modified: branches/Cog/nscogsrc/vm/vmCallback.h =================================================================== --- branches/Cog/nscogsrc/vm/vmCallback.h 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/nscogsrc/vm/vmCallback.h 2014-01-25 01:04:32 UTC (rev 2852) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ #define VM_CALLBACK_INC 1 Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h ___________________________________________________________________ Modified: checkindate - Fri Jan 24 13:06:26 PST 2014 + Fri Jan 24 17:01:09 PST 2014 Modified: branches/Cog/spursrc/vm/cointerp.c =================================================================== --- branches/Cog/spursrc/vm/cointerp.c 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/spursrc/vm/cointerp.c 2014-01-25 01:04:32 UTC (rev 2852) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 from - CoInterpreter VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CoInterpreter VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -1439,20 +1439,20 @@ _iss sqInt tempOop; _iss char * objStackInvalidBecause; _iss SpurNewSpaceSpace eden; -_iss sqInt profileProcess; _iss sqInt profileSemaphore; _iss sqInt tenureThreshold; _iss sqInt ephemeronList; _iss sqInt needGCFlag; +_iss sqInt profileProcess; _iss sqInt extraRootCount; _iss sqInt invalidObjStackPage; _iss sqInt previousRememberedSetSize; _iss unsigned char * classTableBitmap; _iss sqInt longRunningPrimitiveCheckMethod; +_iss sqInt profileMethod; _iss sqInt ephemeronQueue; _iss sqInt lastMethodCacheProbeWrite; _iss sqInt lkupClass; -_iss sqInt profileMethod; _iss usqLong nextWakeupUsecs; _iss sqInt preemptionYields; _iss sqInt classTableIndex; @@ -2168,7 +2168,7 @@ /* 575 */ (void (*)(void))0, 0 }; usqInt heapBase; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.591]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.592]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; @@ -28752,7 +28752,7 @@ } if ((((longAt(GIV(profileMethod))) & 0x3FFFFF) == 8) || (isReallyYoungObject(GIV(profileMethod)))) { - GIV(profileMethod) = remapObj(GIV(profileProcess)); + GIV(profileMethod) = remapObj(GIV(profileMethod)); } if ((((longAt(GIV(profileSemaphore))) & 0x3FFFFF) == 8) || (isReallyYoungObject(GIV(profileSemaphore)))) { Modified: branches/Cog/spursrc/vm/cointerp.h =================================================================== --- branches/Cog/spursrc/vm/cointerp.h 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/spursrc/vm/cointerp.h 2014-01-25 01:04:32 UTC (rev 2852) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ Modified: branches/Cog/spursrc/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/spursrc/vm/gcc3x-cointerp.c 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/spursrc/vm/gcc3x-cointerp.c 2014-01-25 01:04:32 UTC (rev 2852) @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 from - CoInterpreter VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CoInterpreter VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -1442,20 +1442,20 @@ _iss sqInt tempOop; _iss char * objStackInvalidBecause; _iss SpurNewSpaceSpace eden; -_iss sqInt profileProcess; _iss sqInt profileSemaphore; _iss sqInt tenureThreshold; _iss sqInt ephemeronList; _iss sqInt needGCFlag; +_iss sqInt profileProcess; _iss sqInt extraRootCount; _iss sqInt invalidObjStackPage; _iss sqInt previousRememberedSetSize; _iss unsigned char * classTableBitmap; _iss sqInt longRunningPrimitiveCheckMethod; +_iss sqInt profileMethod; _iss sqInt ephemeronQueue; _iss sqInt lastMethodCacheProbeWrite; _iss sqInt lkupClass; -_iss sqInt profileMethod; _iss usqLong nextWakeupUsecs; _iss sqInt preemptionYields; _iss sqInt classTableIndex; @@ -2171,7 +2171,7 @@ /* 575 */ (void (*)(void))0, 0 }; usqInt heapBase; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.591]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.592]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; @@ -28761,7 +28761,7 @@ } if ((((longAt(GIV(profileMethod))) & 0x3FFFFF) == 8) || (isReallyYoungObject(GIV(profileMethod)))) { - GIV(profileMethod) = remapObj(GIV(profileProcess)); + GIV(profileMethod) = remapObj(GIV(profileMethod)); } if ((((longAt(GIV(profileSemaphore))) & 0x3FFFFF) == 8) || (isReallyYoungObject(GIV(profileSemaphore)))) { Modified: branches/Cog/spursrc/vm/interp.h =================================================================== --- branches/Cog/spursrc/vm/interp.h 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/spursrc/vm/interp.h 2014-01-25 01:04:32 UTC (rev 2852) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ #define VM_PROXY_MAJOR 1 Modified: branches/Cog/spursrc/vm/vmCallback.h =================================================================== --- branches/Cog/spursrc/vm/vmCallback.h 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/spursrc/vm/vmCallback.h 2014-01-25 01:04:32 UTC (rev 2852) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ #define VM_CALLBACK_INC 1 Modified: branches/Cog/spurstacksrc/vm/gcc3x-interp.c =================================================================== --- branches/Cog/spurstacksrc/vm/gcc3x-interp.c 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/spurstacksrc/vm/gcc3x-interp.c 2014-01-25 01:04:32 UTC (rev 2852) @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 from - StackInterpreter VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + StackInterpreter VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -1259,20 +1259,20 @@ _iss sqLong nextProfileTick; _iss char * objStackInvalidBecause; _iss SpurNewSpaceSpace eden; -_iss sqInt profileProcess; _iss sqInt tenureThreshold; _iss sqInt ephemeronList; _iss sqInt needGCFlag; _iss sqInt numPages; +_iss sqInt profileProcess; _iss sqInt extraRootCount; _iss sqInt invalidObjStackPage; _iss sqInt previousRememberedSetSize; _iss unsigned char * classTableBitmap; _iss sqInt longRunningPrimitiveCheckMethod; _iss sqInt longRunningPrimitiveCheckSemaphore; +_iss sqInt profileMethod; _iss sqInt ephemeronQueue; _iss sqInt lastMethodCacheProbeWrite; -_iss sqInt profileMethod; _iss sqInt growHeadroom; _iss usqLong nextWakeupUsecs; _iss sqInt preemptionYields; @@ -1969,7 +1969,7 @@ 0 }; char * breakSelector; sqInt breakSelectorLength = -1; -const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.591]"; +const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.592]"; volatile int sendTrace; sqInt suppressHeartbeatFlag; @@ -24495,7 +24495,7 @@ } if ((((longAt(GIV(profileMethod))) & 0x3FFFFF) == 8) || (isReallyYoungObject(GIV(profileMethod)))) { - GIV(profileMethod) = remapObj(GIV(profileProcess)); + GIV(profileMethod) = remapObj(GIV(profileMethod)); } if ((((longAt(GIV(profileSemaphore))) & 0x3FFFFF) == 8) || (isReallyYoungObject(GIV(profileSemaphore)))) { Modified: branches/Cog/spurstacksrc/vm/interp.c =================================================================== --- branches/Cog/spurstacksrc/vm/interp.c 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/spurstacksrc/vm/interp.c 2014-01-25 01:04:32 UTC (rev 2852) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 from - StackInterpreter VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + StackInterpreter VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -1256,20 +1256,20 @@ _iss sqLong nextProfileTick; _iss char * objStackInvalidBecause; _iss SpurNewSpaceSpace eden; -_iss sqInt profileProcess; _iss sqInt tenureThreshold; _iss sqInt ephemeronList; _iss sqInt needGCFlag; _iss sqInt numPages; +_iss sqInt profileProcess; _iss sqInt extraRootCount; _iss sqInt invalidObjStackPage; _iss sqInt previousRememberedSetSize; _iss unsigned char * classTableBitmap; _iss sqInt longRunningPrimitiveCheckMethod; _iss sqInt longRunningPrimitiveCheckSemaphore; +_iss sqInt profileMethod; _iss sqInt ephemeronQueue; _iss sqInt lastMethodCacheProbeWrite; -_iss sqInt profileMethod; _iss sqInt growHeadroom; _iss usqLong nextWakeupUsecs; _iss sqInt preemptionYields; @@ -1966,7 +1966,7 @@ 0 }; char * breakSelector; sqInt breakSelectorLength = -1; -const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.591]"; +const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.592]"; volatile int sendTrace; sqInt suppressHeartbeatFlag; @@ -24486,7 +24486,7 @@ } if ((((longAt(GIV(profileMethod))) & 0x3FFFFF) == 8) || (isReallyYoungObject(GIV(profileMethod)))) { - GIV(profileMethod) = remapObj(GIV(profileProcess)); + GIV(profileMethod) = remapObj(GIV(profileMethod)); } if ((((longAt(GIV(profileSemaphore))) & 0x3FFFFF) == 8) || (isReallyYoungObject(GIV(profileSemaphore)))) { Modified: branches/Cog/spurstacksrc/vm/interp.h =================================================================== --- branches/Cog/spurstacksrc/vm/interp.h 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/spurstacksrc/vm/interp.h 2014-01-25 01:04:32 UTC (rev 2852) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ #define VM_PROXY_MAJOR 1 Modified: branches/Cog/spurstacksrc/vm/vmCallback.h =================================================================== --- branches/Cog/spurstacksrc/vm/vmCallback.h 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/spurstacksrc/vm/vmCallback.h 2014-01-25 01:04:32 UTC (rev 2852) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ #define VM_CALLBACK_INC 1 Modified: branches/Cog/src/vm/cointerp.c =================================================================== --- branches/Cog/src/vm/cointerp.c 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/src/vm/cointerp.c 2014-01-25 01:04:32 UTC (rev 2852) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 from - CoInterpreter VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CoInterpreter VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -1288,15 +1288,15 @@ _iss usqInt fwdTableNext; _iss sqInt longRunningPrimitiveCheckSemaphore; _iss sqInt tempOop; -_iss sqInt profileProcess; _iss sqInt profileSemaphore; _iss usqInt compStart; _iss sqInt extraRootCount; +_iss sqInt profileProcess; _iss sqInt classNameIndex; _iss sqInt weakRootCount; _iss sqInt longRunningPrimitiveCheckMethod; -_iss sqInt lastMethodCacheProbeWrite; _iss sqInt profileMethod; +_iss sqInt lastMethodCacheProbeWrite; _iss sqInt growHeadroom; _iss sqInt lkupClass; _iss usqLong nextWakeupUsecs; @@ -2019,7 +2019,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.591]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.592]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; @@ -4711,7 +4711,6 @@ GIV(framePointer) = localFP; ceEnterCogCodePopReceiverReg(); - null; goto l158; } localIP = pointerForOop(longAt(localFP + FoxIFSavedIP)); @@ -4726,7 +4725,7 @@ /* begin fetchNextBytecode */ currentBytecode = byteAtPointer(++localIP); - null; + /* return self */ l158: /* end baseFrameReturn */; goto l155; } @@ -22541,7 +22540,7 @@ } if (((GIV(profileMethod) & 1) == 0) && (((longAt(GIV(profileMethod))) & MarkBit) != 0)) { - GIV(profileMethod) = remapObj(GIV(profileProcess)); + GIV(profileMethod) = remapObj(GIV(profileMethod)); } if (((GIV(profileSemaphore) & 1) == 0) && (((longAt(GIV(profileSemaphore))) & MarkBit) != 0)) { Modified: branches/Cog/src/vm/cointerp.h =================================================================== --- branches/Cog/src/vm/cointerp.h 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/src/vm/cointerp.h 2014-01-25 01:04:32 UTC (rev 2852) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ Modified: branches/Cog/src/vm/cointerpmt.c =================================================================== --- branches/Cog/src/vm/cointerpmt.c 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/src/vm/cointerpmt.c 2014-01-25 01:04:32 UTC (rev 2852) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 from - CoInterpreterMT VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CoInterpreterMT VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ -static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 " __DATE__ ; +static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -1201,7 +1201,7 @@ static void rewriteMethodCacheEntryForExternalPrimitiveToFunction(void (*localPrimAddress)(void)); static sqInt roomToPushNArgs(sqInt n); static void runLeakCheckerForFullGC(sqInt fullGCFlag); -static sqInt safeObjectAfter(sqInt oop); +static usqInt safeObjectAfter(sqInt oop); static sqInt safePrintStringOf(sqInt oop); usqInt scavengeThresholdAddress(void); EXPORT(sqInt) sendInvokeCallbackContext(VMCallbackContext *vmCallbackContext); @@ -1374,19 +1374,19 @@ _iss usqInt fwdTableNext; _iss sqInt longRunningPrimitiveCheckSemaphore; _iss sqInt tempOop; -_iss sqInt profileProcess; _iss sqInt profileSemaphore; _iss usqInt compStart; _iss sqInt extraRootCount; +_iss sqInt profileProcess; _iss sqInt classNameIndex; _iss sqInt maxWaitingPriority; _iss sqInt weakRootCount; _iss sqInt fullGCLock; _iss sqInt longRunningPrimitiveCheckMethod; _iss sqInt preemptionYields; +_iss sqInt profileMethod; _iss sqInt vmOwner; _iss sqInt lastMethodCacheProbeWrite; -_iss sqInt profileMethod; _iss sqInt growHeadroom; _iss sqInt lkupClass; _iss usqLong nextWakeupUsecs; @@ -2117,7 +2117,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.591]"; +const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.592]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; sqInt willNotThreadWarnCount; @@ -5632,6 +5632,7 @@ /* begin internalPush: */ longAtPointerput((localSP -= BytesPerOop), longAt((rcvr + BaseHeaderSize) + (byte3 << ShiftForWord))); } + null; goto l4; } if (opType == 3) { @@ -5641,6 +5642,7 @@ assert(GIV(method) == (iframeMethod(localFP))); object = longAt((GIV(method) + BaseHeaderSize) + ((byte3 + LiteralStart) << ShiftForWord)); longAtPointerput((localSP -= BytesPerOop), object); + null; goto l4; } if (opType == 4) { @@ -5654,6 +5656,7 @@ object2 = longAt((oop + BaseHeaderSize) + (ValueIndex << ShiftForWord)); longAtPointerput((localSP -= BytesPerOop), object2); + null; goto l4; } top = longAtPointer(localSP); @@ -19884,17 +19887,15 @@ sqInt header1; sqInt header2; sqInt header3; - sqInt header4; usqInt lastWord; sqInt newFreeChunk; sqInt newOop; - sqInt next; + usqInt next; sqInt oop; sqInt realHeader; sqInt sz; sqInt sz1; sqInt sz2; - sqInt sz3; sqInt target; usqInt w; @@ -19905,21 +19906,7 @@ /* begin objectAfterWhileForwarding: */ header2 = longAt(oop); if ((header2 & MarkBit) == 0) { - /* begin objectAfter: */ - if (!(asserta(oopisLessThan(oop, GIV(freeStart))))) { - error("no objects after the end of memory"); - } - if (((longAt(oop)) & TypeMask) == HeaderTypeFree) { - sz2 = (longAt(oop)) & AllButTypeMask; - } - else { - /* begin sizeBitsOf: */ - header3 = longAt(oop); - sz2 = ((header3 & TypeMask) == HeaderTypeSizeAndClass - ? (longAt(oop - (BytesPerWord * 2))) & LongSizeMask - : header3 & SizeMask); - } - next = (oop + sz2) + (headerTypeBytes[(longAt(oop + sz2)) & TypeMask]); + next = ((sqInt) (objectAfter(oop))); goto l1; } fwdBlock1 = (header2 & AllButMarkBitAndTypeMask) << 1; @@ -19934,7 +19921,7 @@ else { sz1 = realHeader & SizeMask; } - next = (oop + sz1) + (headerTypeBytes[(longAt(oop + sz1)) & TypeMask]); + next = ((sqInt) ((oop + sz1) + (headerTypeBytes[(longAt(oop + sz1)) & TypeMask]))); l1: /* end objectAfterWhileForwarding: */; if (!(((longAt(oop)) & TypeMask) == HeaderTypeFree)) { @@ -19988,18 +19975,18 @@ } /* begin safeObjectAfter: */ if (((longAt(newFreeChunk)) & TypeMask) == HeaderTypeFree) { - sz3 = (longAt(newFreeChunk)) & AllButTypeMask; + sz2 = (longAt(newFreeChunk)) & AllButTypeMask; } else { /* begin sizeBitsOf: */ - header4 = longAt(newFreeChunk); - sz3 = ((header4 & TypeMask) == HeaderTypeSizeAndClass + header3 = longAt(newFreeChunk); + sz2 = ((header3 & TypeMask) == HeaderTypeSizeAndClass ? (longAt(newFreeChunk - (BytesPerWord * 2))) & LongSizeMask - : header4 & SizeMask); + : header3 & SizeMask); } - next = ((newFreeChunk + sz3) >= GIV(freeStart) + next = ((newFreeChunk + sz2) >= GIV(freeStart) ? GIV(freeStart) - : (newFreeChunk + sz3) + (headerTypeBytes[(longAt(newFreeChunk + sz3)) & TypeMask])); + : (newFreeChunk + sz2) + (headerTypeBytes[(longAt(newFreeChunk + sz2)) & TypeMask])); assert((next == GIV(freeStart)) || (next == (oopFromChunk(GIV(compEnd))))); if (next == GIV(freeStart)) { @@ -23332,7 +23319,7 @@ } if (((GIV(profileMethod) & 1) == 0) && (((longAt(GIV(profileMethod))) & MarkBit) != 0)) { - GIV(profileMethod) = remapObj(GIV(profileProcess)); + GIV(profileMethod) = remapObj(GIV(profileMethod)); } if (((GIV(profileSemaphore) & 1) == 0) && (((longAt(GIV(profileSemaphore))) & MarkBit) != 0)) { @@ -46777,7 +46764,7 @@ given object or free chunk in memory. Return freeStart when enumeration is complete. This is for assertion checking only. */ -static sqInt +static usqInt safeObjectAfter(sqInt oop) { DECL_MAYBE_SQ_GLOBAL_STRUCT sqInt header; Modified: branches/Cog/src/vm/cointerpmt.h =================================================================== --- branches/Cog/src/vm/cointerpmt.h 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/src/vm/cointerpmt.h 2014-01-25 01:04:32 UTC (rev 2852) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ Modified: branches/Cog/src/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/src/vm/gcc3x-cointerp.c 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/src/vm/gcc3x-cointerp.c 2014-01-25 01:04:32 UTC (rev 2852) @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 from - CoInterpreter VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CoInterpreter VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -1291,15 +1291,15 @@ _iss usqInt fwdTableNext; _iss sqInt longRunningPrimitiveCheckSemaphore; _iss sqInt tempOop; -_iss sqInt profileProcess; _iss sqInt profileSemaphore; _iss usqInt compStart; _iss sqInt extraRootCount; +_iss sqInt profileProcess; _iss sqInt classNameIndex; _iss sqInt weakRootCount; _iss sqInt longRunningPrimitiveCheckMethod; -_iss sqInt lastMethodCacheProbeWrite; _iss sqInt profileMethod; +_iss sqInt lastMethodCacheProbeWrite; _iss sqInt growHeadroom; _iss sqInt lkupClass; _iss usqLong nextWakeupUsecs; @@ -2022,7 +2022,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.591]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.592]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; @@ -4720,7 +4720,6 @@ GIV(framePointer) = localFP; ceEnterCogCodePopReceiverReg(); - null; goto l158; } localIP = pointerForOop(longAt(localFP + FoxIFSavedIP)); @@ -4735,7 +4734,7 @@ /* begin fetchNextBytecode */ currentBytecode = byteAtPointer(++localIP); - null; + /* return self */ l158: /* end baseFrameReturn */; goto l155; } @@ -22550,7 +22549,7 @@ } if (((GIV(profileMethod) & 1) == 0) && (((longAt(GIV(profileMethod))) & MarkBit) != 0)) { - GIV(profileMethod) = remapObj(GIV(profileProcess)); + GIV(profileMethod) = remapObj(GIV(profileMethod)); } if (((GIV(profileSemaphore) & 1) == 0) && (((longAt(GIV(profileSemaphore))) & MarkBit) != 0)) { Modified: branches/Cog/src/vm/gcc3x-cointerpmt.c =================================================================== --- branches/Cog/src/vm/gcc3x-cointerpmt.c 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/src/vm/gcc3x-cointerpmt.c 2014-01-25 01:04:32 UTC (rev 2852) @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 from - CoInterpreterMT VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CoInterpreterMT VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ -static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 " __DATE__ ; +static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -1204,7 +1204,7 @@ static void rewriteMethodCacheEntryForExternalPrimitiveToFunction(void (*localPrimAddress)(void)); static sqInt roomToPushNArgs(sqInt n); static void runLeakCheckerForFullGC(sqInt fullGCFlag); -static sqInt safeObjectAfter(sqInt oop); +static usqInt safeObjectAfter(sqInt oop); static sqInt safePrintStringOf(sqInt oop); usqInt scavengeThresholdAddress(void); EXPORT(sqInt) sendInvokeCallbackContext(VMCallbackContext *vmCallbackContext); @@ -1377,19 +1377,19 @@ _iss usqInt fwdTableNext; _iss sqInt longRunningPrimitiveCheckSemaphore; _iss sqInt tempOop; -_iss sqInt profileProcess; _iss sqInt profileSemaphore; _iss usqInt compStart; _iss sqInt extraRootCount; +_iss sqInt profileProcess; _iss sqInt classNameIndex; _iss sqInt maxWaitingPriority; _iss sqInt weakRootCount; _iss sqInt fullGCLock; _iss sqInt longRunningPrimitiveCheckMethod; _iss sqInt preemptionYields; +_iss sqInt profileMethod; _iss sqInt vmOwner; _iss sqInt lastMethodCacheProbeWrite; -_iss sqInt profileMethod; _iss sqInt growHeadroom; _iss sqInt lkupClass; _iss usqLong nextWakeupUsecs; @@ -2120,7 +2120,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.591]"; +const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.592]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; sqInt willNotThreadWarnCount; @@ -5641,6 +5641,7 @@ /* begin internalPush: */ longAtPointerput((localSP -= BytesPerOop), longAt((rcvr + BaseHeaderSize) + (byte3 << ShiftForWord))); } + null; goto l4; } if (opType == 3) { @@ -5650,6 +5651,7 @@ assert(GIV(method) == (iframeMethod(localFP))); object = longAt((GIV(method) + BaseHeaderSize) + ((byte3 + LiteralStart) << ShiftForWord)); longAtPointerput((localSP -= BytesPerOop), object); + null; goto l4; } if (opType == 4) { @@ -5663,6 +5665,7 @@ object2 = longAt((oop + BaseHeaderSize) + (ValueIndex << ShiftForWord)); longAtPointerput((localSP -= BytesPerOop), object2); + null; goto l4; } top = longAtPointer(localSP); @@ -19893,17 +19896,15 @@ sqInt header1; sqInt header2; sqInt header3; - sqInt header4; usqInt lastWord; sqInt newFreeChunk; sqInt newOop; - sqInt next; + usqInt next; sqInt oop; sqInt realHeader; sqInt sz; sqInt sz1; sqInt sz2; - sqInt sz3; sqInt target; usqInt w; @@ -19914,21 +19915,7 @@ /* begin objectAfterWhileForwarding: */ header2 = longAt(oop); if ((header2 & MarkBit) == 0) { - /* begin objectAfter: */ - if (!(asserta(oopisLessThan(oop, GIV(freeStart))))) { - error("no objects after the end of memory"); - } - if (((longAt(oop)) & TypeMask) == HeaderTypeFree) { - sz2 = (longAt(oop)) & AllButTypeMask; - } - else { - /* begin sizeBitsOf: */ - header3 = longAt(oop); - sz2 = ((header3 & TypeMask) == HeaderTypeSizeAndClass - ? (longAt(oop - (BytesPerWord * 2))) & LongSizeMask - : header3 & SizeMask); - } - next = (oop + sz2) + (headerTypeBytes[(longAt(oop + sz2)) & TypeMask]); + next = ((sqInt) (objectAfter(oop))); goto l1; } fwdBlock1 = (header2 & AllButMarkBitAndTypeMask) << 1; @@ -19943,7 +19930,7 @@ else { sz1 = realHeader & SizeMask; } - next = (oop + sz1) + (headerTypeBytes[(longAt(oop + sz1)) & TypeMask]); + next = ((sqInt) ((oop + sz1) + (headerTypeBytes[(longAt(oop + sz1)) & TypeMask]))); l1: /* end objectAfterWhileForwarding: */; if (!(((longAt(oop)) & TypeMask) == HeaderTypeFree)) { @@ -19997,18 +19984,18 @@ } /* begin safeObjectAfter: */ if (((longAt(newFreeChunk)) & TypeMask) == HeaderTypeFree) { - sz3 = (longAt(newFreeChunk)) & AllButTypeMask; + sz2 = (longAt(newFreeChunk)) & AllButTypeMask; } else { /* begin sizeBitsOf: */ - header4 = longAt(newFreeChunk); - sz3 = ((header4 & TypeMask) == HeaderTypeSizeAndClass + header3 = longAt(newFreeChunk); + sz2 = ((header3 & TypeMask) == HeaderTypeSizeAndClass ? (longAt(newFreeChunk - (BytesPerWord * 2))) & LongSizeMask - : header4 & SizeMask); + : header3 & SizeMask); } - next = ((newFreeChunk + sz3) >= GIV(freeStart) + next = ((newFreeChunk + sz2) >= GIV(freeStart) ? GIV(freeStart) - : (newFreeChunk + sz3) + (headerTypeBytes[(longAt(newFreeChunk + sz3)) & TypeMask])); + : (newFreeChunk + sz2) + (headerTypeBytes[(longAt(newFreeChunk + sz2)) & TypeMask])); assert((next == GIV(freeStart)) || (next == (oopFromChunk(GIV(compEnd))))); if (next == GIV(freeStart)) { @@ -23341,7 +23328,7 @@ } if (((GIV(profileMethod) & 1) == 0) && (((longAt(GIV(profileMethod))) & MarkBit) != 0)) { - GIV(profileMethod) = remapObj(GIV(profileProcess)); + GIV(profileMethod) = remapObj(GIV(profileMethod)); } if (((GIV(profileSemaphore) & 1) == 0) && (((longAt(GIV(profileSemaphore))) & MarkBit) != 0)) { @@ -46786,7 +46773,7 @@ given object or free chunk in memory. Return freeStart when enumeration is complete. This is for assertion checking only. */ -static sqInt +static usqInt safeObjectAfter(sqInt oop) { DECL_MAYBE_SQ_GLOBAL_STRUCT sqInt header; Modified: branches/Cog/src/vm/interp.h =================================================================== --- branches/Cog/src/vm/interp.h 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/src/vm/interp.h 2014-01-25 01:04:32 UTC (rev 2852) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ #define VM_PROXY_MAJOR 1 Modified: branches/Cog/src/vm/vmCallback.h =================================================================== --- branches/Cog/src/vm/vmCallback.h 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/src/vm/vmCallback.h 2014-01-25 01:04:32 UTC (rev 2852) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ #define VM_CALLBACK_INC 1 Modified: branches/Cog/stacksrc/vm/gcc3x-interp.c =================================================================== --- branches/Cog/stacksrc/vm/gcc3x-interp.c 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/stacksrc/vm/gcc3x-interp.c 2014-01-25 01:04:32 UTC (rev 2852) @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 from - StackInterpreter VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + StackInterpreter VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -1096,17 +1096,17 @@ _iss sqInt needGCFlag; _iss sqInt tempOop; _iss sqLong nextProfileTick; -_iss sqInt profileProcess; _iss usqInt compStart; _iss sqInt extraRootCount; _iss sqInt numPages; +_iss sqInt profileProcess; _iss sqInt classNameIndex; _iss sqInt weakRootCount; _iss sqInt growHeadroom; _iss sqInt longRunningPrimitiveCheckMethod; _iss sqInt longRunningPrimitiveCheckSemaphore; +_iss sqInt profileMethod; _iss sqInt lastMethodCacheProbeWrite; -_iss sqInt profileMethod; _iss usqLong nextWakeupUsecs; _iss sqInt preemptionYields; _iss sqInt profileSemaphore; @@ -1808,7 +1808,7 @@ 0 }; char * breakSelector; sqInt breakSelectorLength = -1; -const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.591]"; +const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.592]"; volatile int sendTrace; sqInt suppressHeartbeatFlag; @@ -19744,7 +19744,7 @@ } if (((GIV(profileMethod) & 1) == 0) && (((longAt(GIV(profileMethod))) & MarkBit) != 0)) { - GIV(profileMethod) = remapObj(GIV(profileProcess)); + GIV(profileMethod) = remapObj(GIV(profileMethod)); } if (((GIV(profileSemaphore) & 1) == 0) && (((longAt(GIV(profileSemaphore))) & MarkBit) != 0)) { Modified: branches/Cog/stacksrc/vm/interp.c =================================================================== --- branches/Cog/stacksrc/vm/interp.c 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/stacksrc/vm/interp.c 2014-01-25 01:04:32 UTC (rev 2852) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 from - StackInterpreter VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + StackInterpreter VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -1093,17 +1093,17 @@ _iss sqInt needGCFlag; _iss sqInt tempOop; _iss sqLong nextProfileTick; -_iss sqInt profileProcess; _iss usqInt compStart; _iss sqInt extraRootCount; _iss sqInt numPages; +_iss sqInt profileProcess; _iss sqInt classNameIndex; _iss sqInt weakRootCount; _iss sqInt growHeadroom; _iss sqInt longRunningPrimitiveCheckMethod; _iss sqInt longRunningPrimitiveCheckSemaphore; +_iss sqInt profileMethod; _iss sqInt lastMethodCacheProbeWrite; -_iss sqInt profileMethod; _iss usqLong nextWakeupUsecs; _iss sqInt preemptionYields; _iss sqInt profileSemaphore; @@ -1805,7 +1805,7 @@ 0 }; char * breakSelector; sqInt breakSelectorLength = -1; -const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.591]"; +const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.592]"; volatile int sendTrace; sqInt suppressHeartbeatFlag; @@ -19735,7 +19735,7 @@ } if (((GIV(profileMethod) & 1) == 0) && (((longAt(GIV(profileMethod))) & MarkBit) != 0)) { - GIV(profileMethod) = remapObj(GIV(profileProcess)); + GIV(profileMethod) = remapObj(GIV(profileMethod)); } if (((GIV(profileSemaphore) & 1) == 0) && (((longAt(GIV(profileSemaphore))) & MarkBit) != 0)) { Modified: branches/Cog/stacksrc/vm/interp.h =================================================================== --- branches/Cog/stacksrc/vm/interp.h 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/stacksrc/vm/interp.h 2014-01-25 01:04:32 UTC (rev 2852) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ #define VM_PROXY_MAJOR 1 Modified: branches/Cog/stacksrc/vm/vmCallback.h =================================================================== --- branches/Cog/stacksrc/vm/vmCallback.h 2014-01-24 21:07:34 UTC (rev 2851) +++ branches/Cog/stacksrc/vm/vmCallback.h 2014-01-25 01:04:32 UTC (rev 2852) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.591 uuid: 2f605da3-babd-4f62-a19e-085c28cca416 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.592 uuid: 98758c41-4bb5-4d45-87c9-77e5cf416120 */ #define VM_CALLBACK_INC 1 |
Free forum by Nabble | Edit this page |