Revision: 3185 Author: eliot Date: 2014-12-15 12:44:57 -0800 (Mon, 15 Dec 2014) Log Message: ----------- CogVM source as per VMMaker.oscog-eem.986 Spur: Eliminate the erroneous and confusing setRawNumSlotsOf:to: and setOverflowNumSlotsOf:to:. Use rawNumSlotsOf:put: & rawOverflowSlotsOf:put: which match the getters. Hence fix 64-bit compaction. Remember to update the fixed UnixOSProcessPlugin in Newspeak-land. Modified Paths: -------------- branches/Cog/nscogsrc/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c branches/Cog/nsspursrc/vm/cointerp.c branches/Cog/nsspursrc/vm/cointerp.h branches/Cog/nsspursrc/vm/gcc3x-cointerp.c branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c branches/Cog/nsspurstacksrc/vm/interp.c branches/Cog/spursistasrc/vm/cointerp.c branches/Cog/spursistasrc/vm/cointerp.h branches/Cog/spursistasrc/vm/gcc3x-cointerp.c branches/Cog/spursrc/vm/cointerp.c branches/Cog/spursrc/vm/cointerp.h branches/Cog/spursrc/vm/gcc3x-cointerp.c branches/Cog/spurstack64src/vm/gcc3x-interp.c branches/Cog/spurstack64src/vm/interp.c branches/Cog/spurstacksrc/vm/gcc3x-interp.c branches/Cog/spurstacksrc/vm/interp.c Property Changed: ---------------- branches/Cog/platforms/Cross/vm/sqSCCSVersion.h Modified: branches/Cog/nscogsrc/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c =================================================================== --- branches/Cog/nscogsrc/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c 2014-12-15 17:43:51 UTC (rev 3184) +++ branches/Cog/nscogsrc/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c 2014-12-15 20:44:57 UTC (rev 3185) @@ -1,5 +1,5 @@ /* Automatically generated by - VMPluginCodeGenerator VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d + VMPluginCodeGenerator VMMaker.oscog-eem.985 uuid: f455e095-e61a-46a0-8994-c4bc33bb8a46 from UnixOSProcessPlugin VMConstruction-Plugins-OSProcessPlugin.oscog-eem.49 uuid: dbbde2e2-9103-4ba8-96a9-33c29e7ee7e4 */ @@ -95,6 +95,7 @@ static sqInt maskForThisThreadAndResend(int sigNum); static sqInt maskSignalForThisThread(int sigNum); EXPORT(sqInt) moduleUnloaded(char *aModuleName); +static sqInt msg(char *s); static sqInt needSigaltstack(void); static sqInt newPthreadTypeByteArray(pthread_t aPthreadType); static sqInt newSQFileByteArray(void); @@ -1199,7 +1200,14 @@ { } +static sqInt +msg(char *s) +{ + fprintf(stderr, "\n%s: %s", moduleName, s); + return 0; +} + /* Answer if the plugin should use a signalstack to avoid delivering signals on the native stack, which can interfere with the JIT. As a side-effect, allocate one if one is not already available. We use GetAttributeString Modified: branches/Cog/nsspursrc/vm/cointerp.c =================================================================== --- branches/Cog/nsspursrc/vm/cointerp.c 2014-12-15 17:43:51 UTC (rev 3184) +++ branches/Cog/nsspursrc/vm/cointerp.c 2014-12-15 20:44:57 UTC (rev 3185) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 from - CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 + CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -2348,7 +2348,7 @@ /*540*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, /*560*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1 }; -const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.980"; +const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.986"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */; volatile int sendTrace; @@ -8852,7 +8852,7 @@ /* bytecodePrimBitShift */ { sqInt integerArgument; - sqLong integerReceiver; + usqInt integerReceiver; sqInt shifted; char *sp; @@ -8912,7 +8912,7 @@ null; goto l76; } - shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument); + shifted = ((usqInt) integerReceiver) >> (0 - integerArgument); } shifted = positive32BitIntegerFor(shifted); /* begin pop:thenPush: */ @@ -11600,7 +11600,7 @@ /* bytecodePrimBitShift */ { sqInt integerArgument; - sqLong integerReceiver; + usqInt integerReceiver; sqInt shifted; char *sp; @@ -11660,7 +11660,7 @@ null; goto l183; } - shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument); + shifted = ((usqInt) integerReceiver) >> (0 - integerArgument); } shifted = positive32BitIntegerFor(shifted); /* begin pop:thenPush: */ @@ -29418,7 +29418,7 @@ primitiveBitShift(void) { DECL_MAYBE_SQ_GLOBAL_STRUCT sqInt integerArgument; - sqLong integerReceiver; + usqInt integerReceiver; sqInt shifted; char *sp; @@ -29465,7 +29465,7 @@ } return; } - shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument); + shifted = ((usqInt) integerReceiver) >> (0 - integerArgument); } shifted = positive32BitIntegerFor(shifted); /* begin pop:thenPush: */ @@ -43230,9 +43230,7 @@ : freeChunk); freeChunkWithBytesat((limit - start) - bytes, start + bytes); GIV(totalFreeOldSpace) -= bytes; - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(freeChunk - BaseHeaderSize, count); + longAtput(freeChunk - BaseHeaderSize, count); /* begin set:classIndexTo:formatTo: */ assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask())))); assert(((2 >= 0) && (2 <= (formatMask())))); @@ -43420,9 +43418,7 @@ : freeChunk); freeChunkWithBytesat((limit - start) - bytes, start + bytes); GIV(totalFreeOldSpace) -= bytes; - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(freeChunk - BaseHeaderSize, count); + longAtput(freeChunk - BaseHeaderSize, count); /* begin set:classIndexTo:formatTo: */ assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask())))); assert(((2 >= 0) && (2 <= (formatMask())))); @@ -44445,8 +44441,6 @@ } longAtput((obj1 + BaseHeaderSize) + (0 << (shiftForWord())), clone2); if ((byteAt(obj1 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj1 + 7, 1); } /* begin forward:to: */ @@ -44472,8 +44466,6 @@ } longAtput((obj2 + BaseHeaderSize) + (0 << (shiftForWord())), clone1); if ((byteAt(obj2 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj2 + 7, 1); } if (((isYoungObject(obj1)) != (isYoungObject(clone2))) @@ -44594,8 +44586,6 @@ } longAtput((obj11 + BaseHeaderSize) + (0 << (shiftForWord())), obj21); if ((byteAt(obj11 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj11 + 7, 1); } if (copyHashFlag) { @@ -47058,8 +47048,6 @@ if (firstOfFreeRun == 0) { /* begin setObjectFree: */ if ((byteAt(objOop3 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop3 + 7, 1); } /* begin setFree: */ @@ -48663,8 +48651,6 @@ here = here1; /* begin setObjectFree: */ if ((byteAt(here + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(here + 7, 1); } /* begin setFree: */ @@ -50636,8 +50622,6 @@ } longAtput((objOop2 + BaseHeaderSize) + (0 << (shiftForWord())), oldClone); if ((byteAt(objOop2 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop2 + 7, 1); } } @@ -50645,13 +50629,9 @@ objOop2 = objectAfterlimit(objOop2, segmentLimit); } if ((byteAt(segmentWordArray + 7)) == 0xFF) { - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop); + longAtput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop); } else { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(segmentWordArray + 7, 8 / BytesPerOop); } if ((checkForLeaks & 16) != 0) { @@ -58933,8 +58913,6 @@ } longAtput((objOop + BaseHeaderSize) + (0 << (shiftForWord())), oldClone); if ((byteAt(objOop + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop + 7, 1); } } @@ -70671,9 +70649,11 @@ if (((longAt(oop)) & 0x3FFFFF) == 0) { print(" is a free chunk of size "); printNum(sizeOfFree(oop)); + print(" 0th: "); + printHex(longAt((oop + BaseHeaderSize) + (0 << (shiftForWord())))); + /* begin cr */ printf("\n"); - return; } if (((longAt(oop)) & (0x3FFFFF - 8)) == 0) { Modified: branches/Cog/nsspursrc/vm/cointerp.h =================================================================== --- branches/Cog/nsspursrc/vm/cointerp.h 2014-12-15 17:43:51 UTC (rev 3184) +++ branches/Cog/nsspursrc/vm/cointerp.h 2014-12-15 20:44:57 UTC (rev 3185) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 */ Modified: branches/Cog/nsspursrc/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/nsspursrc/vm/gcc3x-cointerp.c 2014-12-15 17:43:51 UTC (rev 3184) +++ branches/Cog/nsspursrc/vm/gcc3x-cointerp.c 2014-12-15 20:44:57 UTC (rev 3185) @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 from - CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 + CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -2351,7 +2351,7 @@ /*540*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, /*560*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1 }; -const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.980"; +const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.986"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */; volatile int sendTrace; @@ -8861,7 +8861,7 @@ /* bytecodePrimBitShift */ { sqInt integerArgument; - sqLong integerReceiver; + usqInt integerReceiver; sqInt shifted; char *sp; @@ -8921,7 +8921,7 @@ null; goto l76; } - shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument); + shifted = ((usqInt) integerReceiver) >> (0 - integerArgument); } shifted = positive32BitIntegerFor(shifted); /* begin pop:thenPush: */ @@ -11609,7 +11609,7 @@ /* bytecodePrimBitShift */ { sqInt integerArgument; - sqLong integerReceiver; + usqInt integerReceiver; sqInt shifted; char *sp; @@ -11669,7 +11669,7 @@ null; goto l183; } - shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument); + shifted = ((usqInt) integerReceiver) >> (0 - integerArgument); } shifted = positive32BitIntegerFor(shifted); /* begin pop:thenPush: */ @@ -29427,7 +29427,7 @@ primitiveBitShift(void) { DECL_MAYBE_SQ_GLOBAL_STRUCT sqInt integerArgument; - sqLong integerReceiver; + usqInt integerReceiver; sqInt shifted; char *sp; @@ -29474,7 +29474,7 @@ } return; } - shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument); + shifted = ((usqInt) integerReceiver) >> (0 - integerArgument); } shifted = positive32BitIntegerFor(shifted); /* begin pop:thenPush: */ @@ -43239,9 +43239,7 @@ : freeChunk); freeChunkWithBytesat((limit - start) - bytes, start + bytes); GIV(totalFreeOldSpace) -= bytes; - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(freeChunk - BaseHeaderSize, count); + longAtput(freeChunk - BaseHeaderSize, count); /* begin set:classIndexTo:formatTo: */ assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask())))); assert(((2 >= 0) && (2 <= (formatMask())))); @@ -43429,9 +43427,7 @@ : freeChunk); freeChunkWithBytesat((limit - start) - bytes, start + bytes); GIV(totalFreeOldSpace) -= bytes; - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(freeChunk - BaseHeaderSize, count); + longAtput(freeChunk - BaseHeaderSize, count); /* begin set:classIndexTo:formatTo: */ assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask())))); assert(((2 >= 0) && (2 <= (formatMask())))); @@ -44454,8 +44450,6 @@ } longAtput((obj1 + BaseHeaderSize) + (0 << (shiftForWord())), clone2); if ((byteAt(obj1 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj1 + 7, 1); } /* begin forward:to: */ @@ -44481,8 +44475,6 @@ } longAtput((obj2 + BaseHeaderSize) + (0 << (shiftForWord())), clone1); if ((byteAt(obj2 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj2 + 7, 1); } if (((isYoungObject(obj1)) != (isYoungObject(clone2))) @@ -44603,8 +44595,6 @@ } longAtput((obj11 + BaseHeaderSize) + (0 << (shiftForWord())), obj21); if ((byteAt(obj11 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj11 + 7, 1); } if (copyHashFlag) { @@ -47067,8 +47057,6 @@ if (firstOfFreeRun == 0) { /* begin setObjectFree: */ if ((byteAt(objOop3 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop3 + 7, 1); } /* begin setFree: */ @@ -48672,8 +48660,6 @@ here = here1; /* begin setObjectFree: */ if ((byteAt(here + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(here + 7, 1); } /* begin setFree: */ @@ -50645,8 +50631,6 @@ } longAtput((objOop2 + BaseHeaderSize) + (0 << (shiftForWord())), oldClone); if ((byteAt(objOop2 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop2 + 7, 1); } } @@ -50654,13 +50638,9 @@ objOop2 = objectAfterlimit(objOop2, segmentLimit); } if ((byteAt(segmentWordArray + 7)) == 0xFF) { - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop); + longAtput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop); } else { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(segmentWordArray + 7, 8 / BytesPerOop); } if ((checkForLeaks & 16) != 0) { @@ -58942,8 +58922,6 @@ } longAtput((objOop + BaseHeaderSize) + (0 << (shiftForWord())), oldClone); if ((byteAt(objOop + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop + 7, 1); } } @@ -70680,9 +70658,11 @@ if (((longAt(oop)) & 0x3FFFFF) == 0) { print(" is a free chunk of size "); printNum(sizeOfFree(oop)); + print(" 0th: "); + printHex(longAt((oop + BaseHeaderSize) + (0 << (shiftForWord())))); + /* begin cr */ printf("\n"); - return; } if (((longAt(oop)) & (0x3FFFFF - 8)) == 0) { Modified: branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c =================================================================== --- branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c 2014-12-15 17:43:51 UTC (rev 3184) +++ branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c 2014-12-15 20:44:57 UTC (rev 3185) @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 from - StackInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 + StackInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -2097,7 +2097,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.980"; +const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.986"; volatile int sendTrace; sqInt suppressHeartbeatFlag; @@ -29269,9 +29269,7 @@ : freeChunk); freeChunkWithBytesat((limit - start) - bytes, start + bytes); GIV(totalFreeOldSpace) -= bytes; - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(freeChunk - BaseHeaderSize, count); + longAtput(freeChunk - BaseHeaderSize, count); /* begin set:classIndexTo:formatTo: */ assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask())))); assert(((2 >= 0) && (2 <= (formatMask())))); @@ -29459,9 +29457,7 @@ : freeChunk); freeChunkWithBytesat((limit - start) - bytes, start + bytes); GIV(totalFreeOldSpace) -= bytes; - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(freeChunk - BaseHeaderSize, count); + longAtput(freeChunk - BaseHeaderSize, count); /* begin set:classIndexTo:formatTo: */ assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask())))); assert(((2 >= 0) && (2 <= (formatMask())))); @@ -30471,8 +30467,6 @@ } longAtput((obj1 + BaseHeaderSize) + (0 << (shiftForWord())), clone2); if ((byteAt(obj1 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj1 + 7, 1); } /* begin forward:to: */ @@ -30498,8 +30492,6 @@ } longAtput((obj2 + BaseHeaderSize) + (0 << (shiftForWord())), clone1); if ((byteAt(obj2 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj2 + 7, 1); } if (((isYoungObject(obj1)) != (isYoungObject(clone2))) @@ -30620,8 +30612,6 @@ } longAtput((obj11 + BaseHeaderSize) + (0 << (shiftForWord())), obj21); if ((byteAt(obj11 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj11 + 7, 1); } if (copyHashFlag) { @@ -33120,8 +33110,6 @@ if (firstOfFreeRun == 0) { /* begin setObjectFree: */ if ((byteAt(objOop3 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop3 + 7, 1); } /* begin setFree: */ @@ -34725,8 +34713,6 @@ here = here1; /* begin setObjectFree: */ if ((byteAt(here + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(here + 7, 1); } /* begin setFree: */ @@ -36719,8 +36705,6 @@ } longAtput((objOop2 + BaseHeaderSize) + (0 << (shiftForWord())), oldClone); if ((byteAt(objOop2 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop2 + 7, 1); } } @@ -36728,13 +36712,9 @@ objOop2 = objectAfterlimit(objOop2, segmentLimit); } if ((byteAt(segmentWordArray + 7)) == 0xFF) { - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop); + longAtput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop); } else { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(segmentWordArray + 7, 8 / BytesPerOop); } if ((checkForLeaks & 16) != 0) { @@ -44888,8 +44868,6 @@ } longAtput((objOop + BaseHeaderSize) + (0 << (shiftForWord())), oldClone); if ((byteAt(objOop + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop + 7, 1); } } @@ -59269,9 +59247,11 @@ if (((longAt(oop)) & 0x3FFFFF) == 0) { print(" is a free chunk of size "); printNum(sizeOfFree(oop)); + print(" 0th: "); + printHex(longAt((oop + BaseHeaderSize) + (0 << (shiftForWord())))); + /* begin cr */ printf("\n"); - return; } if (((longAt(oop)) & (0x3FFFFF - 8)) == 0) { Modified: branches/Cog/nsspurstacksrc/vm/interp.c =================================================================== --- branches/Cog/nsspurstacksrc/vm/interp.c 2014-12-15 17:43:51 UTC (rev 3184) +++ branches/Cog/nsspurstacksrc/vm/interp.c 2014-12-15 20:44:57 UTC (rev 3185) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 from - StackInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 + StackInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -2094,7 +2094,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.980"; +const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.986"; volatile int sendTrace; sqInt suppressHeartbeatFlag; @@ -29260,9 +29260,7 @@ : freeChunk); freeChunkWithBytesat((limit - start) - bytes, start + bytes); GIV(totalFreeOldSpace) -= bytes; - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(freeChunk - BaseHeaderSize, count); + longAtput(freeChunk - BaseHeaderSize, count); /* begin set:classIndexTo:formatTo: */ assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask())))); assert(((2 >= 0) && (2 <= (formatMask())))); @@ -29450,9 +29448,7 @@ : freeChunk); freeChunkWithBytesat((limit - start) - bytes, start + bytes); GIV(totalFreeOldSpace) -= bytes; - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(freeChunk - BaseHeaderSize, count); + longAtput(freeChunk - BaseHeaderSize, count); /* begin set:classIndexTo:formatTo: */ assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask())))); assert(((2 >= 0) && (2 <= (formatMask())))); @@ -30462,8 +30458,6 @@ } longAtput((obj1 + BaseHeaderSize) + (0 << (shiftForWord())), clone2); if ((byteAt(obj1 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj1 + 7, 1); } /* begin forward:to: */ @@ -30489,8 +30483,6 @@ } longAtput((obj2 + BaseHeaderSize) + (0 << (shiftForWord())), clone1); if ((byteAt(obj2 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj2 + 7, 1); } if (((isYoungObject(obj1)) != (isYoungObject(clone2))) @@ -30611,8 +30603,6 @@ } longAtput((obj11 + BaseHeaderSize) + (0 << (shiftForWord())), obj21); if ((byteAt(obj11 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj11 + 7, 1); } if (copyHashFlag) { @@ -33111,8 +33101,6 @@ if (firstOfFreeRun == 0) { /* begin setObjectFree: */ if ((byteAt(objOop3 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop3 + 7, 1); } /* begin setFree: */ @@ -34716,8 +34704,6 @@ here = here1; /* begin setObjectFree: */ if ((byteAt(here + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(here + 7, 1); } /* begin setFree: */ @@ -36710,8 +36696,6 @@ } longAtput((objOop2 + BaseHeaderSize) + (0 << (shiftForWord())), oldClone); if ((byteAt(objOop2 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop2 + 7, 1); } } @@ -36719,13 +36703,9 @@ objOop2 = objectAfterlimit(objOop2, segmentLimit); } if ((byteAt(segmentWordArray + 7)) == 0xFF) { - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop); + longAtput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop); } else { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(segmentWordArray + 7, 8 / BytesPerOop); } if ((checkForLeaks & 16) != 0) { @@ -44879,8 +44859,6 @@ } longAtput((objOop + BaseHeaderSize) + (0 << (shiftForWord())), oldClone); if ((byteAt(objOop + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop + 7, 1); } } @@ -59260,9 +59238,11 @@ if (((longAt(oop)) & 0x3FFFFF) == 0) { print(" is a free chunk of size "); printNum(sizeOfFree(oop)); + print(" 0th: "); + printHex(longAt((oop + BaseHeaderSize) + (0 << (shiftForWord())))); + /* begin cr */ printf("\n"); - return; } if (((longAt(oop)) & (0x3FFFFF - 8)) == 0) { Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h ___________________________________________________________________ Modified: checkindate - Mon Dec 15 09:43:54 PST 2014 + Mon Dec 15 12:41:47 PST 2014 Modified: branches/Cog/spursistasrc/vm/cointerp.c =================================================================== --- branches/Cog/spursistasrc/vm/cointerp.c 2014-12-15 17:43:51 UTC (rev 3184) +++ branches/Cog/spursistasrc/vm/cointerp.c 2014-12-15 20:44:57 UTC (rev 3185) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 from - CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 + CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -2344,7 +2344,7 @@ /*540*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, /*560*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1 }; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.980]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.986]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */; volatile int sendTrace; @@ -5591,6 +5591,7 @@ GIV(framePointer) = localFP; ceEnterCogCodePopReceiverReg(); + null; goto l256; } localIP = pointerForOop(longAt(localFP + FoxIFSavedIP)); @@ -5608,7 +5609,7 @@ /* begin fetchNextBytecode */ currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector); - /* return self */ + null; l256: /* end baseFrameReturn */; goto l255; } @@ -43474,9 +43475,7 @@ : freeChunk); freeChunkWithBytesat((limit - start) - bytes, start + bytes); GIV(totalFreeOldSpace) -= bytes; - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(freeChunk - BaseHeaderSize, count); + longAtput(freeChunk - BaseHeaderSize, count); /* begin set:classIndexTo:formatTo: */ assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask())))); assert(((2 >= 0) && (2 <= (formatMask())))); @@ -43664,9 +43663,7 @@ : freeChunk); freeChunkWithBytesat((limit - start) - bytes, start + bytes); GIV(totalFreeOldSpace) -= bytes; - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(freeChunk - BaseHeaderSize, count); + longAtput(freeChunk - BaseHeaderSize, count); /* begin set:classIndexTo:formatTo: */ assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask())))); assert(((2 >= 0) && (2 <= (formatMask())))); @@ -44689,8 +44686,6 @@ } longAtput((obj1 + BaseHeaderSize) + (0 << (shiftForWord())), clone2); if ((byteAt(obj1 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj1 + 7, 1); } /* begin forward:to: */ @@ -44716,8 +44711,6 @@ } longAtput((obj2 + BaseHeaderSize) + (0 << (shiftForWord())), clone1); if ((byteAt(obj2 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj2 + 7, 1); } if (((isYoungObject(obj1)) != (isYoungObject(clone2))) @@ -44838,8 +44831,6 @@ } longAtput((obj11 + BaseHeaderSize) + (0 << (shiftForWord())), obj21); if ((byteAt(obj11 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj11 + 7, 1); } if (copyHashFlag) { @@ -47302,8 +47293,6 @@ if (firstOfFreeRun == 0) { /* begin setObjectFree: */ if ((byteAt(objOop3 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop3 + 7, 1); } /* begin setFree: */ @@ -48896,8 +48885,6 @@ here = here1; /* begin setObjectFree: */ if ((byteAt(here + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(here + 7, 1); } /* begin setFree: */ @@ -50869,8 +50856,6 @@ } longAtput((objOop2 + BaseHeaderSize) + (0 << (shiftForWord())), oldClone); if ((byteAt(objOop2 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop2 + 7, 1); } } @@ -50878,13 +50863,9 @@ objOop2 = objectAfterlimit(objOop2, segmentLimit); } if ((byteAt(segmentWordArray + 7)) == 0xFF) { - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop); + longAtput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop); } else { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(segmentWordArray + 7, 8 / BytesPerOop); } if ((checkForLeaks & 16) != 0) { @@ -59151,8 +59132,6 @@ } longAtput((objOop + BaseHeaderSize) + (0 << (shiftForWord())), oldClone); if ((byteAt(objOop + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop + 7, 1); } } @@ -70783,9 +70762,11 @@ if (((longAt(oop)) & 0x3FFFFF) == 0) { print(" is a free chunk of size "); printNum(sizeOfFree(oop)); + print(" 0th: "); + printHex(longAt((oop + BaseHeaderSize) + (0 << (shiftForWord())))); + /* begin cr */ printf("\n"); - return; } if (((longAt(oop)) & (0x3FFFFF - 8)) == 0) { Modified: branches/Cog/spursistasrc/vm/cointerp.h =================================================================== --- branches/Cog/spursistasrc/vm/cointerp.h 2014-12-15 17:43:51 UTC (rev 3184) +++ branches/Cog/spursistasrc/vm/cointerp.h 2014-12-15 20:44:57 UTC (rev 3185) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 */ Modified: branches/Cog/spursistasrc/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/spursistasrc/vm/gcc3x-cointerp.c 2014-12-15 17:43:51 UTC (rev 3184) +++ branches/Cog/spursistasrc/vm/gcc3x-cointerp.c 2014-12-15 20:44:57 UTC (rev 3185) @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 from - CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 + CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -2347,7 +2347,7 @@ /*540*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, /*560*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1 }; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.980]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.986]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */; volatile int sendTrace; @@ -5600,6 +5600,7 @@ GIV(framePointer) = localFP; ceEnterCogCodePopReceiverReg(); + null; goto l256; } localIP = pointerForOop(longAt(localFP + FoxIFSavedIP)); @@ -5617,7 +5618,7 @@ /* begin fetchNextBytecode */ currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector); - /* return self */ + null; l256: /* end baseFrameReturn */; goto l255; } @@ -43483,9 +43484,7 @@ : freeChunk); freeChunkWithBytesat((limit - start) - bytes, start + bytes); GIV(totalFreeOldSpace) -= bytes; - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(freeChunk - BaseHeaderSize, count); + longAtput(freeChunk - BaseHeaderSize, count); /* begin set:classIndexTo:formatTo: */ assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask())))); assert(((2 >= 0) && (2 <= (formatMask())))); @@ -43673,9 +43672,7 @@ : freeChunk); freeChunkWithBytesat((limit - start) - bytes, start + bytes); GIV(totalFreeOldSpace) -= bytes; - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(freeChunk - BaseHeaderSize, count); + longAtput(freeChunk - BaseHeaderSize, count); /* begin set:classIndexTo:formatTo: */ assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask())))); assert(((2 >= 0) && (2 <= (formatMask())))); @@ -44698,8 +44695,6 @@ } longAtput((obj1 + BaseHeaderSize) + (0 << (shiftForWord())), clone2); if ((byteAt(obj1 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj1 + 7, 1); } /* begin forward:to: */ @@ -44725,8 +44720,6 @@ } longAtput((obj2 + BaseHeaderSize) + (0 << (shiftForWord())), clone1); if ((byteAt(obj2 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj2 + 7, 1); } if (((isYoungObject(obj1)) != (isYoungObject(clone2))) @@ -44847,8 +44840,6 @@ } longAtput((obj11 + BaseHeaderSize) + (0 << (shiftForWord())), obj21); if ((byteAt(obj11 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj11 + 7, 1); } if (copyHashFlag) { @@ -47311,8 +47302,6 @@ if (firstOfFreeRun == 0) { /* begin setObjectFree: */ if ((byteAt(objOop3 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop3 + 7, 1); } /* begin setFree: */ @@ -48905,8 +48894,6 @@ here = here1; /* begin setObjectFree: */ if ((byteAt(here + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(here + 7, 1); } /* begin setFree: */ @@ -50878,8 +50865,6 @@ } longAtput((objOop2 + BaseHeaderSize) + (0 << (shiftForWord())), oldClone); if ((byteAt(objOop2 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop2 + 7, 1); } } @@ -50887,13 +50872,9 @@ objOop2 = objectAfterlimit(objOop2, segmentLimit); } if ((byteAt(segmentWordArray + 7)) == 0xFF) { - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop); + longAtput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop); } else { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(segmentWordArray + 7, 8 / BytesPerOop); } if ((checkForLeaks & 16) != 0) { @@ -59160,8 +59141,6 @@ } longAtput((objOop + BaseHeaderSize) + (0 << (shiftForWord())), oldClone); if ((byteAt(objOop + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop + 7, 1); } } @@ -70792,9 +70771,11 @@ if (((longAt(oop)) & 0x3FFFFF) == 0) { print(" is a free chunk of size "); printNum(sizeOfFree(oop)); + print(" 0th: "); + printHex(longAt((oop + BaseHeaderSize) + (0 << (shiftForWord())))); + /* begin cr */ printf("\n"); - return; } if (((longAt(oop)) & (0x3FFFFF - 8)) == 0) { Modified: branches/Cog/spursrc/vm/cointerp.c =================================================================== --- branches/Cog/spursrc/vm/cointerp.c 2014-12-15 17:43:51 UTC (rev 3184) +++ branches/Cog/spursrc/vm/cointerp.c 2014-12-15 20:44:57 UTC (rev 3185) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 from - CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 + CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -2335,7 +2335,7 @@ /*540*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, /*560*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1 }; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.980]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.986]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */; volatile int sendTrace; @@ -5474,7 +5474,6 @@ GIV(framePointer) = localFP; ceEnterCogCodePopReceiverReg(); - null; goto l129; } localIP = pointerForOop(longAt(localFP + FoxIFSavedIP)); @@ -5489,7 +5488,7 @@ /* begin fetchNextBytecode */ currentBytecode = byteAtPointer(++localIP); - null; + /* return self */ l129: /* end baseFrameReturn */; goto l128; } @@ -8673,7 +8672,7 @@ /* bytecodePrimBitShift */ { sqInt integerArgument; - sqLong integerReceiver; + usqInt integerReceiver; sqInt shifted; char *sp; @@ -8733,7 +8732,7 @@ null; goto l75; } - shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument); + shifted = ((usqInt) integerReceiver) >> (0 - integerArgument); } shifted = positive32BitIntegerFor(shifted); /* begin pop:thenPush: */ @@ -24587,7 +24586,7 @@ primitiveBitShift(void) { DECL_MAYBE_SQ_GLOBAL_STRUCT sqInt integerArgument; - sqLong integerReceiver; + usqInt integerReceiver; sqInt shifted; char *sp; @@ -24634,7 +24633,7 @@ } return; } - shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument); + shifted = ((usqInt) integerReceiver) >> (0 - integerArgument); } shifted = positive32BitIntegerFor(shifted); /* begin pop:thenPush: */ @@ -38380,9 +38379,7 @@ : freeChunk); freeChunkWithBytesat((limit - start) - bytes, start + bytes); GIV(totalFreeOldSpace) -= bytes; - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(freeChunk - BaseHeaderSize, count); + longAtput(freeChunk - BaseHeaderSize, count); /* begin set:classIndexTo:formatTo: */ assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask())))); assert(((2 >= 0) && (2 <= (formatMask())))); @@ -38570,9 +38567,7 @@ : freeChunk); freeChunkWithBytesat((limit - start) - bytes, start + bytes); GIV(totalFreeOldSpace) -= bytes; - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(freeChunk - BaseHeaderSize, count); + longAtput(freeChunk - BaseHeaderSize, count); /* begin set:classIndexTo:formatTo: */ assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask())))); assert(((2 >= 0) && (2 <= (formatMask())))); @@ -39595,8 +39590,6 @@ } longAtput((obj1 + BaseHeaderSize) + (0 << (shiftForWord())), clone2); if ((byteAt(obj1 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj1 + 7, 1); } /* begin forward:to: */ @@ -39622,8 +39615,6 @@ } longAtput((obj2 + BaseHeaderSize) + (0 << (shiftForWord())), clone1); if ((byteAt(obj2 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj2 + 7, 1); } if (((isYoungObject(obj1)) != (isYoungObject(clone2))) @@ -39744,8 +39735,6 @@ } longAtput((obj11 + BaseHeaderSize) + (0 << (shiftForWord())), obj21); if ((byteAt(obj11 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj11 + 7, 1); } if (copyHashFlag) { @@ -42208,8 +42197,6 @@ if (firstOfFreeRun == 0) { /* begin setObjectFree: */ if ((byteAt(objOop3 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop3 + 7, 1); } /* begin setFree: */ @@ -43795,8 +43782,6 @@ here = here1; /* begin setObjectFree: */ if ((byteAt(here + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(here + 7, 1); } /* begin setFree: */ @@ -45768,8 +45753,6 @@ } longAtput((objOop2 + BaseHeaderSize) + (0 << (shiftForWord())), oldClone); if ((byteAt(objOop2 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop2 + 7, 1); } } @@ -45777,13 +45760,9 @@ objOop2 = objectAfterlimit(objOop2, segmentLimit); } if ((byteAt(segmentWordArray + 7)) == 0xFF) { - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop); + longAtput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop); } else { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(segmentWordArray + 7, 8 / BytesPerOop); } if ((checkForLeaks & 16) != 0) { @@ -54050,8 +54029,6 @@ } longAtput((objOop + BaseHeaderSize) + (0 << (shiftForWord())), oldClone); if ((byteAt(objOop + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop + 7, 1); } } @@ -65668,9 +65645,11 @@ if (((longAt(oop)) & 0x3FFFFF) == 0) { print(" is a free chunk of size "); printNum(sizeOfFree(oop)); + print(" 0th: "); + printHex(longAt((oop + BaseHeaderSize) + (0 << (shiftForWord())))); + /* begin cr */ printf("\n"); - return; } if (((longAt(oop)) & (0x3FFFFF - 8)) == 0) { Modified: branches/Cog/spursrc/vm/cointerp.h =================================================================== --- branches/Cog/spursrc/vm/cointerp.h 2014-12-15 17:43:51 UTC (rev 3184) +++ branches/Cog/spursrc/vm/cointerp.h 2014-12-15 20:44:57 UTC (rev 3185) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 */ Modified: branches/Cog/spursrc/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/spursrc/vm/gcc3x-cointerp.c 2014-12-15 17:43:51 UTC (rev 3184) +++ branches/Cog/spursrc/vm/gcc3x-cointerp.c 2014-12-15 20:44:57 UTC (rev 3185) @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 from - CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 + CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -2338,7 +2338,7 @@ /*540*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, /*560*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1 }; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.980]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreterPrimitives VMMaker.oscog-eem.986]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */; volatile int sendTrace; @@ -5483,7 +5483,6 @@ GIV(framePointer) = localFP; ceEnterCogCodePopReceiverReg(); - null; goto l129; } localIP = pointerForOop(longAt(localFP + FoxIFSavedIP)); @@ -5498,7 +5497,7 @@ /* begin fetchNextBytecode */ currentBytecode = byteAtPointer(++localIP); - null; + /* return self */ l129: /* end baseFrameReturn */; goto l128; } @@ -8682,7 +8681,7 @@ /* bytecodePrimBitShift */ { sqInt integerArgument; - sqLong integerReceiver; + usqInt integerReceiver; sqInt shifted; char *sp; @@ -8742,7 +8741,7 @@ null; goto l75; } - shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument); + shifted = ((usqInt) integerReceiver) >> (0 - integerArgument); } shifted = positive32BitIntegerFor(shifted); /* begin pop:thenPush: */ @@ -24596,7 +24595,7 @@ primitiveBitShift(void) { DECL_MAYBE_SQ_GLOBAL_STRUCT sqInt integerArgument; - sqLong integerReceiver; + usqInt integerReceiver; sqInt shifted; char *sp; @@ -24643,7 +24642,7 @@ } return; } - shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument); + shifted = ((usqInt) integerReceiver) >> (0 - integerArgument); } shifted = positive32BitIntegerFor(shifted); /* begin pop:thenPush: */ @@ -38389,9 +38388,7 @@ : freeChunk); freeChunkWithBytesat((limit - start) - bytes, start + bytes); GIV(totalFreeOldSpace) -= bytes; - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(freeChunk - BaseHeaderSize, count); + longAtput(freeChunk - BaseHeaderSize, count); /* begin set:classIndexTo:formatTo: */ assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask())))); assert(((2 >= 0) && (2 <= (formatMask())))); @@ -38579,9 +38576,7 @@ : freeChunk); freeChunkWithBytesat((limit - start) - bytes, start + bytes); GIV(totalFreeOldSpace) -= bytes; - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(freeChunk - BaseHeaderSize, count); + longAtput(freeChunk - BaseHeaderSize, count); /* begin set:classIndexTo:formatTo: */ assert(((ClassArrayCompactIndex >= 0) && (ClassArrayCompactIndex <= (classIndexMask())))); assert(((2 >= 0) && (2 <= (formatMask())))); @@ -39604,8 +39599,6 @@ } longAtput((obj1 + BaseHeaderSize) + (0 << (shiftForWord())), clone2); if ((byteAt(obj1 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj1 + 7, 1); } /* begin forward:to: */ @@ -39631,8 +39624,6 @@ } longAtput((obj2 + BaseHeaderSize) + (0 << (shiftForWord())), clone1); if ((byteAt(obj2 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj2 + 7, 1); } if (((isYoungObject(obj1)) != (isYoungObject(clone2))) @@ -39753,8 +39744,6 @@ } longAtput((obj11 + BaseHeaderSize) + (0 << (shiftForWord())), obj21); if ((byteAt(obj11 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(obj11 + 7, 1); } if (copyHashFlag) { @@ -42217,8 +42206,6 @@ if (firstOfFreeRun == 0) { /* begin setObjectFree: */ if ((byteAt(objOop3 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop3 + 7, 1); } /* begin setFree: */ @@ -43804,8 +43791,6 @@ here = here1; /* begin setObjectFree: */ if ((byteAt(here + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(here + 7, 1); } /* begin setFree: */ @@ -45777,8 +45762,6 @@ } longAtput((objOop2 + BaseHeaderSize) + (0 << (shiftForWord())), oldClone); if ((byteAt(objOop2 + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop2 + 7, 1); } } @@ -45786,13 +45769,9 @@ objOop2 = objectAfterlimit(objOop2, segmentLimit); } if ((byteAt(segmentWordArray + 7)) == 0xFF) { - /* begin setOverflowNumSlotsOf:to: */ - flag("endian"); - long32Atput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop); + longAtput(segmentWordArray - BaseHeaderSize, 8 / BytesPerOop); } else { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(segmentWordArray + 7, 8 / BytesPerOop); } if ((checkForLeaks & 16) != 0) { @@ -54059,8 +54038,6 @@ } longAtput((objOop + BaseHeaderSize) + (0 << (shiftForWord())), oldClone); if ((byteAt(objOop + 7)) == 0) { - /* begin setRawNumSlotsOf:to: */ - flag("endian"); byteAtput(objOop + 7, 1); } } @@ -65677,9 +65654,11 @@ if (((longAt(oop)) & 0x3FFFFF) == 0) { print(" is a free chunk of size "); printNum(sizeOfFree(oop)); + print(" 0th: "); + printHex(longAt((oop + BaseHeaderSize) + (0 << (shiftForWord())))); + /* begin cr */ printf("\n"); - return; } if (((longAt(oop)) & (0x3FFFFF - 8)) == 0) { Modified: branches/Cog/spurstack64src/vm/gcc3x-interp.c =================================================================== --- branches/Cog/spurstack64src/vm/gcc3x-interp.c 2014-12-15 17:43:51 UTC (rev 3184) +++ branches/Cog/spurstack64src/vm/gcc3x-interp.c 2014-12-15 20:44:57 UTC (rev 3185) @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.984 uuid: 82523b67-016c-4327-b41e-658b54a99470 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 from - StackInterpreter VMMaker.oscog-eem.984 uuid: 82523b67-016c-4327-b41e-658b54a99470 + StackInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.984 uuid: 82523b67-016c-4327-b41e-658b54a99470 " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.986 uuid: 62703abf-bfd4-4966-a13c-036fa3da9950 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -2116,7 +2116,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.984]"; +const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.986]"; volatile int sendTrace; sqInt suppressHeartbeatFlag; @@ -25182,9 +25182,10 @@ : freeChunk); freeChunkWithBytesat((limit - start) - bytes, start + bytes); GIV(totalFreeOldSpace) -= bytes; @@ Diff output truncated at 50000 characters. @@ |
Free forum by Nabble | Edit this page |