Revision: 2912 Author: eliot Date: 2014-05-02 16:26:05 -0700 (Fri, 02 May 2014) Log Message: ----------- CogVM source as per VMMaker.oscog-eem.699
VM: Fix instantiation of large non-byte objects. The old code for sufficientSpaceToInstantiate:indexableSize: stupidly subtracted BytesPerWord instead of ShiftForWord from LongSizeNumBits in determining the max size (mea culpa).
Slang: fix indent of expressions in do whiles.
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/sistasrc/vm/cointerp.c branches/Cog/sistasrc/vm/cointerp.h branches/Cog/sistasrc/vm/gcc3x-cointerp.c branches/Cog/sistasrc/vm/interp.h branches/Cog/sistasrc/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-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/nscogsrc/vm/cointerp.c 2014-05-02 23:26:05 UTC (rev 2912) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 from - CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -1157,7 +1157,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); @@ -2045,7 +2045,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.695"; +const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.699"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace;
@@ -5684,6 +5684,7 @@ /* begin internalPush: */ longAtPointerput((localSP -= BytesPerOop), longAt((rcvr + BaseHeaderSize) + (byte3 << ShiftForWord))); } + null; goto l4; } if (opType == 3) { @@ -5693,6 +5694,7 @@ assert(GIV(method) == (iframeMethod(localFP))); object = longAt((GIV(method) + BaseHeaderSize) + ((byte3 + LiteralStart) << ShiftForWord)); longAtPointerput((localSP -= BytesPerOop), object); + null; goto l4; } if (opType == 4) { @@ -5706,6 +5708,7 @@ object2 = longAt((oop + BaseHeaderSize) + (ValueIndex << ShiftForWord)); longAtPointerput((localSP -= BytesPerOop), object2);
+ null; goto l4; } top = longAtPointer(localSP); @@ -15806,7 +15809,7 @@ while (1) { assert(isContext(currentCtx)); if ((((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) - && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break; + && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break; if (((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) { /* begin stackPageFor: */ /* begin stackPageAt: */ @@ -24004,15 +24007,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;
@@ -24023,7 +24028,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; @@ -24038,7 +24057,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)) {
@@ -24092,18 +24111,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)) { @@ -25128,7 +25147,7 @@ return 1; } if (!((theFP != ((aPage->baseFP))) - && ((stackPageFor(theFP)) == aPage))) break; + && ((stackPageFor(theFP)) == aPage))) break; /* begin frameCallerFP: */ theFP = pointerForOop(longAt(theFP + FoxSavedFP)); } @@ -29072,7 +29091,7 @@ do { p += BytesPerWord; } while(((longAtPointer(p)) == 0) - && (p <= ((page->baseAddress)))); + && (p <= ((page->baseAddress)))); unused = (p - BytesPerWord) - ((page->lastAddress)); if (unused < minUnused) { minUnused = unused; @@ -40197,7 +40216,7 @@ spaceOkay = 0; goto l1; } - if ((((usqInt) size) >> (LongSizeNumBits - BytesPerWord)) > 0) { + if ((((usqInt) size) >> (LongSizeNumBits - ShiftForWord)) > 0) { spaceOkay = 0; goto l1; } @@ -50582,7 +50601,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-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/nscogsrc/vm/cointerp.h 2014-05-02 23:26:05 UTC (rev 2912) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */
Modified: branches/Cog/nscogsrc/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/nscogsrc/vm/gcc3x-cointerp.c 2014-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/nscogsrc/vm/gcc3x-cointerp.c 2014-05-02 23:26:05 UTC (rev 2912) @@ -2,11 +2,11 @@
/* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 from - CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -1160,7 +1160,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); @@ -2048,7 +2048,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.695"; +const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.699"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace;
@@ -5693,6 +5693,7 @@ /* begin internalPush: */ longAtPointerput((localSP -= BytesPerOop), longAt((rcvr + BaseHeaderSize) + (byte3 << ShiftForWord))); } + null; goto l4; } if (opType == 3) { @@ -5702,6 +5703,7 @@ assert(GIV(method) == (iframeMethod(localFP))); object = longAt((GIV(method) + BaseHeaderSize) + ((byte3 + LiteralStart) << ShiftForWord)); longAtPointerput((localSP -= BytesPerOop), object); + null; goto l4; } if (opType == 4) { @@ -5715,6 +5717,7 @@ object2 = longAt((oop + BaseHeaderSize) + (ValueIndex << ShiftForWord)); longAtPointerput((localSP -= BytesPerOop), object2);
+ null; goto l4; } top = longAtPointer(localSP); @@ -15815,7 +15818,7 @@ while (1) { assert(isContext(currentCtx)); if ((((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) - && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break; + && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break; if (((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) { /* begin stackPageFor: */ /* begin stackPageAt: */ @@ -24013,15 +24016,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;
@@ -24032,7 +24037,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; @@ -24047,7 +24066,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)) {
@@ -24101,18 +24120,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)) { @@ -25137,7 +25156,7 @@ return 1; } if (!((theFP != ((aPage->baseFP))) - && ((stackPageFor(theFP)) == aPage))) break; + && ((stackPageFor(theFP)) == aPage))) break; /* begin frameCallerFP: */ theFP = pointerForOop(longAt(theFP + FoxSavedFP)); } @@ -29081,7 +29100,7 @@ do { p += BytesPerWord; } while(((longAtPointer(p)) == 0) - && (p <= ((page->baseAddress)))); + && (p <= ((page->baseAddress)))); unused = (p - BytesPerWord) - ((page->lastAddress)); if (unused < minUnused) { minUnused = unused; @@ -40206,7 +40225,7 @@ spaceOkay = 0; goto l1; } - if ((((usqInt) size) >> (LongSizeNumBits - BytesPerWord)) > 0) { + if ((((usqInt) size) >> (LongSizeNumBits - ShiftForWord)) > 0) { spaceOkay = 0; goto l1; } @@ -50591,7 +50610,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-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/nscogsrc/vm/interp.h 2014-05-02 23:26:05 UTC (rev 2912) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */
#define VM_PROXY_MAJOR 1
Modified: branches/Cog/nscogsrc/vm/vmCallback.h =================================================================== --- branches/Cog/nscogsrc/vm/vmCallback.h 2014-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/nscogsrc/vm/vmCallback.h 2014-05-02 23:26:05 UTC (rev 2912) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */
#define VM_CALLBACK_INC 1
Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h ___________________________________________________________________ Modified: checkindate - Thu May 1 11:38:57 PDT 2014 + Fri May 2 16:25:17 PDT 2014
Modified: branches/Cog/sistasrc/vm/cointerp.c =================================================================== --- branches/Cog/sistasrc/vm/cointerp.c 2014-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/sistasrc/vm/cointerp.c 2014-05-02 23:26:05 UTC (rev 2912) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 from - CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -1152,7 +1152,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); @@ -2039,7 +2039,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.695]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.699]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace;
@@ -11739,7 +11739,7 @@ while (1) { assert(isContext(currentCtx)); if ((((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) - && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break; + && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break; if (((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) { /* begin stackPageFor: */ /* begin stackPageAt: */ @@ -19579,17 +19579,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;
@@ -19600,21 +19598,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; @@ -19629,7 +19613,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)) {
@@ -19683,18 +19667,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)) { @@ -20717,7 +20701,7 @@ return 1; } if (!((theFP != ((aPage->baseFP))) - && ((stackPageFor(theFP)) == aPage))) break; + && ((stackPageFor(theFP)) == aPage))) break; /* begin frameCallerFP: */ theFP = pointerForOop(longAt(theFP + FoxSavedFP)); } @@ -24610,7 +24594,7 @@ do { p += BytesPerWord; } while(((longAtPointer(p)) == 0) - && (p <= ((page->baseAddress)))); + && (p <= ((page->baseAddress)))); unused = (p - BytesPerWord) - ((page->lastAddress)); if (unused < minUnused) { minUnused = unused; @@ -35660,7 +35644,7 @@ spaceOkay = 0; goto l1; } - if ((((usqInt) size) >> (LongSizeNumBits - BytesPerWord)) > 0) { + if ((((usqInt) size) >> (LongSizeNumBits - ShiftForWord)) > 0) { spaceOkay = 0; goto l1; } @@ -46077,7 +46061,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/sistasrc/vm/cointerp.h =================================================================== --- branches/Cog/sistasrc/vm/cointerp.h 2014-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/sistasrc/vm/cointerp.h 2014-05-02 23:26:05 UTC (rev 2912) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */
Modified: branches/Cog/sistasrc/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/sistasrc/vm/gcc3x-cointerp.c 2014-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/sistasrc/vm/gcc3x-cointerp.c 2014-05-02 23:26:05 UTC (rev 2912) @@ -2,11 +2,11 @@
/* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 from - CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -1155,7 +1155,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); @@ -2042,7 +2042,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.695]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.699]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace;
@@ -11748,7 +11748,7 @@ while (1) { assert(isContext(currentCtx)); if ((((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) - && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break; + && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break; if (((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) { /* begin stackPageFor: */ /* begin stackPageAt: */ @@ -19588,17 +19588,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;
@@ -19609,21 +19607,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; @@ -19638,7 +19622,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)) {
@@ -19692,18 +19676,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)) { @@ -20726,7 +20710,7 @@ return 1; } if (!((theFP != ((aPage->baseFP))) - && ((stackPageFor(theFP)) == aPage))) break; + && ((stackPageFor(theFP)) == aPage))) break; /* begin frameCallerFP: */ theFP = pointerForOop(longAt(theFP + FoxSavedFP)); } @@ -24619,7 +24603,7 @@ do { p += BytesPerWord; } while(((longAtPointer(p)) == 0) - && (p <= ((page->baseAddress)))); + && (p <= ((page->baseAddress)))); unused = (p - BytesPerWord) - ((page->lastAddress)); if (unused < minUnused) { minUnused = unused; @@ -35669,7 +35653,7 @@ spaceOkay = 0; goto l1; } - if ((((usqInt) size) >> (LongSizeNumBits - BytesPerWord)) > 0) { + if ((((usqInt) size) >> (LongSizeNumBits - ShiftForWord)) > 0) { spaceOkay = 0; goto l1; } @@ -46086,7 +46070,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/sistasrc/vm/interp.h =================================================================== --- branches/Cog/sistasrc/vm/interp.h 2014-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/sistasrc/vm/interp.h 2014-05-02 23:26:05 UTC (rev 2912) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */
#define VM_PROXY_MAJOR 1
Modified: branches/Cog/sistasrc/vm/vmCallback.h =================================================================== --- branches/Cog/sistasrc/vm/vmCallback.h 2014-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/sistasrc/vm/vmCallback.h 2014-05-02 23:26:05 UTC (rev 2912) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */
#define VM_CALLBACK_INC 1
Modified: branches/Cog/src/vm/cointerp.c =================================================================== --- branches/Cog/src/vm/cointerp.c 2014-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/src/vm/cointerp.c 2014-05-02 23:26:05 UTC (rev 2912) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 from - CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2035,7 +2035,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.695]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.699]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace;
@@ -5550,6 +5550,7 @@ /* begin internalPush: */ longAtPointerput((localSP -= BytesPerOop), longAt((rcvr + BaseHeaderSize) + (byte3 << ShiftForWord))); } + null; goto l4; } if (opType == 3) { @@ -5559,6 +5560,7 @@ assert(GIV(method) == (iframeMethod(localFP))); object = longAt((GIV(method) + BaseHeaderSize) + ((byte3 + LiteralStart) << ShiftForWord)); longAtPointerput((localSP -= BytesPerOop), object); + null; goto l4; } if (opType == 4) { @@ -5572,6 +5574,7 @@ object2 = longAt((oop + BaseHeaderSize) + (ValueIndex << ShiftForWord)); longAtPointerput((localSP -= BytesPerOop), object2);
+ null; goto l4; } top = longAtPointer(localSP); @@ -11616,7 +11619,7 @@ while (1) { assert(isContext(currentCtx)); if ((((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) - && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break; + && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break; if (((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) { /* begin stackPageFor: */ /* begin stackPageAt: */ @@ -20594,7 +20597,7 @@ return 1; } if (!((theFP != ((aPage->baseFP))) - && ((stackPageFor(theFP)) == aPage))) break; + && ((stackPageFor(theFP)) == aPage))) break; /* begin frameCallerFP: */ theFP = pointerForOop(longAt(theFP + FoxSavedFP)); } @@ -24487,7 +24490,7 @@ do { p += BytesPerWord; } while(((longAtPointer(p)) == 0) - && (p <= ((page->baseAddress)))); + && (p <= ((page->baseAddress)))); unused = (p - BytesPerWord) - ((page->lastAddress)); if (unused < minUnused) { minUnused = unused; @@ -35537,7 +35540,7 @@ spaceOkay = 0; goto l1; } - if ((((usqInt) size) >> (LongSizeNumBits - BytesPerWord)) > 0) { + if ((((usqInt) size) >> (LongSizeNumBits - ShiftForWord)) > 0) { spaceOkay = 0; goto l1; }
Modified: branches/Cog/src/vm/cointerp.h =================================================================== --- branches/Cog/src/vm/cointerp.h 2014-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/src/vm/cointerp.h 2014-05-02 23:26:05 UTC (rev 2912) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */
Modified: branches/Cog/src/vm/cointerpmt.c =================================================================== --- branches/Cog/src/vm/cointerpmt.c 2014-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/src/vm/cointerpmt.c 2014-05-02 23:26:05 UTC (rev 2912) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 from - CoInterpreterMT VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CoInterpreterMT VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */ -static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ; +static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2132,7 +2132,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.695]"; +const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.699]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; sqInt willNotThreadWarnCount; @@ -11949,7 +11949,7 @@ while (1) { assert(isContext(currentCtx)); if ((((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) - && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break; + && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break; if (((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) { /* begin stackPageFor: */ /* begin stackPageAt: */ @@ -21237,7 +21237,7 @@ return 1; } if (!((theFP != ((aPage->baseFP))) - && ((stackPageFor(theFP)) == aPage))) break; + && ((stackPageFor(theFP)) == aPage))) break; /* begin frameCallerFP: */ theFP = pointerForOop(longAt(theFP + FoxSavedFP)); } @@ -25176,7 +25176,7 @@ do { p += BytesPerWord; } while(((longAtPointer(p)) == 0) - && (p <= ((page->baseAddress)))); + && (p <= ((page->baseAddress)))); unused = (p - BytesPerWord) - ((page->lastAddress)); if (unused < minUnused) { minUnused = unused; @@ -36755,7 +36755,7 @@ spaceOkay = 0; goto l1; } - if ((((usqInt) size) >> (LongSizeNumBits - BytesPerWord)) > 0) { + if ((((usqInt) size) >> (LongSizeNumBits - ShiftForWord)) > 0) { spaceOkay = 0; goto l1; }
Modified: branches/Cog/src/vm/cointerpmt.h =================================================================== --- branches/Cog/src/vm/cointerpmt.h 2014-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/src/vm/cointerpmt.h 2014-05-02 23:26:05 UTC (rev 2912) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */
Modified: branches/Cog/src/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/src/vm/gcc3x-cointerp.c 2014-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/src/vm/gcc3x-cointerp.c 2014-05-02 23:26:05 UTC (rev 2912) @@ -2,11 +2,11 @@
/* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 from - CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2038,7 +2038,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.695]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.699]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace;
@@ -5559,6 +5559,7 @@ /* begin internalPush: */ longAtPointerput((localSP -= BytesPerOop), longAt((rcvr + BaseHeaderSize) + (byte3 << ShiftForWord))); } + null; goto l4; } if (opType == 3) { @@ -5568,6 +5569,7 @@ assert(GIV(method) == (iframeMethod(localFP))); object = longAt((GIV(method) + BaseHeaderSize) + ((byte3 + LiteralStart) << ShiftForWord)); longAtPointerput((localSP -= BytesPerOop), object); + null; goto l4; } if (opType == 4) { @@ -5581,6 +5583,7 @@ object2 = longAt((oop + BaseHeaderSize) + (ValueIndex << ShiftForWord)); longAtPointerput((localSP -= BytesPerOop), object2);
+ null; goto l4; } top = longAtPointer(localSP); @@ -11625,7 +11628,7 @@ while (1) { assert(isContext(currentCtx)); if ((((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) - && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break; + && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break; if (((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) { /* begin stackPageFor: */ /* begin stackPageAt: */ @@ -20603,7 +20606,7 @@ return 1; } if (!((theFP != ((aPage->baseFP))) - && ((stackPageFor(theFP)) == aPage))) break; + && ((stackPageFor(theFP)) == aPage))) break; /* begin frameCallerFP: */ theFP = pointerForOop(longAt(theFP + FoxSavedFP)); } @@ -24496,7 +24499,7 @@ do { p += BytesPerWord; } while(((longAtPointer(p)) == 0) - && (p <= ((page->baseAddress)))); + && (p <= ((page->baseAddress)))); unused = (p - BytesPerWord) - ((page->lastAddress)); if (unused < minUnused) { minUnused = unused; @@ -35546,7 +35549,7 @@ spaceOkay = 0; goto l1; } - if ((((usqInt) size) >> (LongSizeNumBits - BytesPerWord)) > 0) { + if ((((usqInt) size) >> (LongSizeNumBits - ShiftForWord)) > 0) { spaceOkay = 0; goto l1; }
Modified: branches/Cog/src/vm/gcc3x-cointerpmt.c =================================================================== --- branches/Cog/src/vm/gcc3x-cointerpmt.c 2014-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/src/vm/gcc3x-cointerpmt.c 2014-05-02 23:26:05 UTC (rev 2912) @@ -2,11 +2,11 @@
/* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 from - CoInterpreterMT VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CoInterpreterMT VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */ -static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ; +static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2135,7 +2135,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.695]"; +const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.699]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; sqInt willNotThreadWarnCount; @@ -11958,7 +11958,7 @@ while (1) { assert(isContext(currentCtx)); if ((((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) - && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break; + && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break; if (((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) { /* begin stackPageFor: */ /* begin stackPageAt: */ @@ -21246,7 +21246,7 @@ return 1; } if (!((theFP != ((aPage->baseFP))) - && ((stackPageFor(theFP)) == aPage))) break; + && ((stackPageFor(theFP)) == aPage))) break; /* begin frameCallerFP: */ theFP = pointerForOop(longAt(theFP + FoxSavedFP)); } @@ -25185,7 +25185,7 @@ do { p += BytesPerWord; } while(((longAtPointer(p)) == 0) - && (p <= ((page->baseAddress)))); + && (p <= ((page->baseAddress)))); unused = (p - BytesPerWord) - ((page->lastAddress)); if (unused < minUnused) { minUnused = unused; @@ -36764,7 +36764,7 @@ spaceOkay = 0; goto l1; } - if ((((usqInt) size) >> (LongSizeNumBits - BytesPerWord)) > 0) { + if ((((usqInt) size) >> (LongSizeNumBits - ShiftForWord)) > 0) { spaceOkay = 0; goto l1; }
Modified: branches/Cog/src/vm/interp.h =================================================================== --- branches/Cog/src/vm/interp.h 2014-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/src/vm/interp.h 2014-05-02 23:26:05 UTC (rev 2912) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */
#define VM_PROXY_MAJOR 1
Modified: branches/Cog/src/vm/vmCallback.h =================================================================== --- branches/Cog/src/vm/vmCallback.h 2014-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/src/vm/vmCallback.h 2014-05-02 23:26:05 UTC (rev 2912) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */
#define VM_CALLBACK_INC 1
Modified: branches/Cog/stacksrc/vm/gcc3x-interp.c =================================================================== --- branches/Cog/stacksrc/vm/gcc3x-interp.c 2014-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/stacksrc/vm/gcc3x-interp.c 2014-05-02 23:26:05 UTC (rev 2912) @@ -2,11 +2,11 @@
/* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 from - StackInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + StackInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -1824,7 +1824,7 @@ 0 }; char * breakSelector; sqInt breakSelectorLength = -1; -const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.695]"; +const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.699]"; volatile int sendTrace; sqInt suppressHeartbeatFlag;
@@ -4182,7 +4182,7 @@ while (1) { assert(isContext(currentCtx)); if ((((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) - && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break; + && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break; if (((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) { /* begin stackPageFor: */ /* begin stackPageAt: */ @@ -16452,7 +16452,7 @@ return 1; } if (!((theFP != ((aPage->baseFP))) - && ((stackPageFor(theFP)) == aPage))) break; + && ((stackPageFor(theFP)) == aPage))) break; /* begin frameCallerFP: */ theFP = pointerForOop(longAt(theFP + FoxSavedFP)); } @@ -30214,7 +30214,7 @@ spaceOkay = 0; goto l1; } - if ((((usqInt) size) >> (LongSizeNumBits - BytesPerWord)) > 0) { + if ((((usqInt) size) >> (LongSizeNumBits - ShiftForWord)) > 0) { spaceOkay = 0; goto l1; }
Modified: branches/Cog/stacksrc/vm/interp.c =================================================================== --- branches/Cog/stacksrc/vm/interp.c 2014-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/stacksrc/vm/interp.c 2014-05-02 23:26:05 UTC (rev 2912) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 from - StackInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + StackInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -1821,7 +1821,7 @@ 0 }; char * breakSelector; sqInt breakSelectorLength = -1; -const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.695]"; +const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.699]"; volatile int sendTrace; sqInt suppressHeartbeatFlag;
@@ -4173,7 +4173,7 @@ while (1) { assert(isContext(currentCtx)); if ((((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) - && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break; + && ((stackPageFor((theFP = frameOfMarriedContext(currentCtx)))) == newPage)) break; if (((longAt((currentCtx + BaseHeaderSize) + (SenderIndex << ShiftForWord))) & 1)) { /* begin stackPageFor: */ /* begin stackPageAt: */ @@ -16443,7 +16443,7 @@ return 1; } if (!((theFP != ((aPage->baseFP))) - && ((stackPageFor(theFP)) == aPage))) break; + && ((stackPageFor(theFP)) == aPage))) break; /* begin frameCallerFP: */ theFP = pointerForOop(longAt(theFP + FoxSavedFP)); } @@ -30205,7 +30205,7 @@ spaceOkay = 0; goto l1; } - if ((((usqInt) size) >> (LongSizeNumBits - BytesPerWord)) > 0) { + if ((((usqInt) size) >> (LongSizeNumBits - ShiftForWord)) > 0) { spaceOkay = 0; goto l1; }
Modified: branches/Cog/stacksrc/vm/interp.h =================================================================== --- branches/Cog/stacksrc/vm/interp.h 2014-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/stacksrc/vm/interp.h 2014-05-02 23:26:05 UTC (rev 2912) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */
#define VM_PROXY_MAJOR 1
Modified: branches/Cog/stacksrc/vm/vmCallback.h =================================================================== --- branches/Cog/stacksrc/vm/vmCallback.h 2014-05-01 18:40:52 UTC (rev 2911) +++ branches/Cog/stacksrc/vm/vmCallback.h 2014-05-02 23:26:05 UTC (rev 2912) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.695 uuid: b7ee76ce-807e-4f95-8065-b850143a0ced + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.699 uuid: d19fe4fd-f2b0-4779-9ed6-7b9ea20c5255 */
#define VM_CALLBACK_INC 1
vm-dev@lists.squeakfoundation.org