Revision: 3024 Author: eliot Date: 2014-07-01 08:39:10 -0700 (Tue, 01 Jul 2014) Log Message: ----------- CogVM source as per VMMaker.oscog-eem.791
Rescue non-Spur builds by making accessorDepthForPrimitiveIndex: a Spur option.
Factor out the type machinery in generateShiftRight:on:indent: and use it to ensure generateSignedBitShift:on:indent: will not cast 64-bit vars to ints.
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/nsspursrc/vm/cointerp.c branches/Cog/nsspursrc/vm/cointerp.h branches/Cog/nsspursrc/vm/gcc3x-cointerp.c branches/Cog/nsspursrc/vm/interp.h branches/Cog/nsspursrc/vm/vmCallback.h branches/Cog/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/spursistasrc/vm/cointerp.c branches/Cog/spursistasrc/vm/cointerp.h branches/Cog/spursistasrc/vm/gcc3x-cointerp.c branches/Cog/spursistasrc/vm/interp.h branches/Cog/spursistasrc/vm/vmCallback.h branches/Cog/spursrc/vm/cointerp.c branches/Cog/spursrc/vm/cointerp.h branches/Cog/spursrc/vm/gcc3x-cointerp.c branches/Cog/spursrc/vm/interp.h branches/Cog/spursrc/vm/vmCallback.h branches/Cog/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
Property Changed: ---------------- branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
Modified: branches/Cog/nscogsrc/vm/cointerp.c =================================================================== --- branches/Cog/nscogsrc/vm/cointerp.c 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/nscogsrc/vm/cointerp.c 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c from - CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -364,7 +364,6 @@ #endif
sqInt interpret(void); -sqInt accessorDepthForPrimitiveIndex(sqInt primIndex); static void activateCoggedNewMethod(sqInt inInterpreter) NoDbgRegParms; static void activateNewMethod(void); sqInt activeProcess(void); @@ -1176,7 +1175,7 @@ static void rewriteMethodCacheEntryForExternalPrimitiveToFunction(void (*localPrimAddress)(void)) NoDbgRegParms; static sqInt roomToPushNArgs(sqInt n) NoDbgRegParms; static void runLeakCheckerForFullGC(sqInt fullGCFlag) NoDbgRegParms; -static usqInt safeObjectAfter(sqInt oop) NoDbgRegParms; +static sqInt safeObjectAfter(sqInt oop) NoDbgRegParms; static sqInt safePrintStringOf(sqInt oop) NoDbgRegParms; usqInt scavengeThresholdAddress(void); EXPORT(sqInt) sendInvokeCallbackContext(VMCallbackContext *vmCallbackContext); @@ -2065,7 +2064,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.790"; +const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.791"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace;
@@ -13075,13 +13074,7 @@ return null; }
-sqInt -accessorDepthForPrimitiveIndex(sqInt primIndex) -{ - return primitiveAccessorDepthTable[primIndex]; -}
- /* Activate newMethod when newMethod has been cogged, i.e. create a machine-code frame and (re)enter machine-code. */ @@ -23994,15 +23987,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;
@@ -24013,7 +24008,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; @@ -24028,7 +24037,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)) {
@@ -24082,18 +24091,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)) { @@ -50896,7 +50905,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-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/nscogsrc/vm/cointerp.h 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */
@@ -14,7 +14,6 @@ # define NoDbgRegParms /*empty*/ #endif
-sqInt accessorDepthForPrimitiveIndex(sqInt primIndex); sqInt activeProcess(void); sqInt addressCouldBeObj(sqInt address); sqInt addressCouldBeOop(sqInt address);
Modified: branches/Cog/nscogsrc/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/nscogsrc/vm/gcc3x-cointerp.c 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/nscogsrc/vm/gcc3x-cointerp.c 2014-07-01 15:39:10 UTC (rev 3024) @@ -2,11 +2,11 @@
/* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c from - CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -367,7 +367,6 @@ #endif
sqInt interpret(void); -sqInt accessorDepthForPrimitiveIndex(sqInt primIndex); static void activateCoggedNewMethod(sqInt inInterpreter) NoDbgRegParms; static void activateNewMethod(void); sqInt activeProcess(void); @@ -1179,7 +1178,7 @@ static void rewriteMethodCacheEntryForExternalPrimitiveToFunction(void (*localPrimAddress)(void)) NoDbgRegParms; static sqInt roomToPushNArgs(sqInt n) NoDbgRegParms; static void runLeakCheckerForFullGC(sqInt fullGCFlag) NoDbgRegParms; -static usqInt safeObjectAfter(sqInt oop) NoDbgRegParms; +static sqInt safeObjectAfter(sqInt oop) NoDbgRegParms; static sqInt safePrintStringOf(sqInt oop) NoDbgRegParms; usqInt scavengeThresholdAddress(void); EXPORT(sqInt) sendInvokeCallbackContext(VMCallbackContext *vmCallbackContext); @@ -2068,7 +2067,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.790"; +const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.791"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace;
@@ -13084,13 +13083,7 @@ return null; }
-sqInt -accessorDepthForPrimitiveIndex(sqInt primIndex) -{ - return primitiveAccessorDepthTable[primIndex]; -}
- /* Activate newMethod when newMethod has been cogged, i.e. create a machine-code frame and (re)enter machine-code. */ @@ -24003,15 +23996,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;
@@ -24022,7 +24017,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; @@ -24037,7 +24046,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)) {
@@ -24091,18 +24100,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)) { @@ -50905,7 +50914,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-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/nscogsrc/vm/interp.h 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */
#define VM_PROXY_MAJOR 1
Modified: branches/Cog/nscogsrc/vm/vmCallback.h =================================================================== --- branches/Cog/nscogsrc/vm/vmCallback.h 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/nscogsrc/vm/vmCallback.h 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */
#define VM_CALLBACK_INC 1
Modified: branches/Cog/nsspursrc/vm/cointerp.c =================================================================== --- branches/Cog/nsspursrc/vm/cointerp.c 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/nsspursrc/vm/cointerp.c 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c from - CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2283,7 +2283,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 CoInterpreter_VMMaker.oscog-eem.790"; +const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.791"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace;
@@ -5577,6 +5577,7 @@ GIV(framePointer) = localFP; ceEnterCogCodePopReceiverReg(); + null; goto l290; } localIP = pointerForOop(longAt(localFP + FoxIFSavedIP)); @@ -5594,7 +5595,7 @@ /* begin fetchNextBytecode */ currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
- /* return self */ + null; l290: /* end baseFrameReturn */; goto l287; }
Modified: branches/Cog/nsspursrc/vm/cointerp.h =================================================================== --- branches/Cog/nsspursrc/vm/cointerp.h 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/nsspursrc/vm/cointerp.h 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */
Modified: branches/Cog/nsspursrc/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/nsspursrc/vm/gcc3x-cointerp.c 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/nsspursrc/vm/gcc3x-cointerp.c 2014-07-01 15:39:10 UTC (rev 3024) @@ -2,11 +2,11 @@
/* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c from - CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2286,7 +2286,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 CoInterpreter_VMMaker.oscog-eem.790"; +const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.791"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace;
@@ -5586,6 +5586,7 @@ GIV(framePointer) = localFP; ceEnterCogCodePopReceiverReg(); + null; goto l290; } localIP = pointerForOop(longAt(localFP + FoxIFSavedIP)); @@ -5603,7 +5604,7 @@ /* begin fetchNextBytecode */ currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);
- /* return self */ + null; l290: /* end baseFrameReturn */; goto l287; }
Modified: branches/Cog/nsspursrc/vm/interp.h =================================================================== --- branches/Cog/nsspursrc/vm/interp.h 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/nsspursrc/vm/interp.h 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */
#define VM_PROXY_MAJOR 1
Modified: branches/Cog/nsspursrc/vm/vmCallback.h =================================================================== --- branches/Cog/nsspursrc/vm/vmCallback.h 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/nsspursrc/vm/vmCallback.h 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */
#define VM_CALLBACK_INC 1
Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h ___________________________________________________________________ Modified: checkindate - Mon Jun 30 20:09:33 PDT 2014 + Tue Jul 1 08:38:13 PDT 2014
Modified: branches/Cog/sistasrc/vm/cointerp.c =================================================================== --- branches/Cog/sistasrc/vm/cointerp.c 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/sistasrc/vm/cointerp.c 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c from - CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -362,7 +362,6 @@ #endif
sqInt interpret(void); -sqInt accessorDepthForPrimitiveIndex(sqInt primIndex); static void activateCoggedNewMethod(sqInt inInterpreter) NoDbgRegParms; static void activateNewMethod(void); sqInt activeProcess(void); @@ -1171,7 +1170,7 @@ static void rewriteMethodCacheEntryForExternalPrimitiveToFunction(void (*localPrimAddress)(void)) NoDbgRegParms; static sqInt roomToPushNArgs(sqInt n) NoDbgRegParms; static void runLeakCheckerForFullGC(sqInt fullGCFlag) NoDbgRegParms; -static sqInt safeObjectAfter(sqInt oop) NoDbgRegParms; +static usqInt safeObjectAfter(sqInt oop) NoDbgRegParms; static sqInt safePrintStringOf(sqInt oop) NoDbgRegParms; usqInt scavengeThresholdAddress(void); EXPORT(sqInt) sendInvokeCallbackContext(VMCallbackContext *vmCallbackContext); @@ -2059,7 +2058,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.790]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.791]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace;
@@ -4751,7 +4750,6 @@ GIV(framePointer) = localFP; ceEnterCogCodePopReceiverReg(); - null; goto l159; } localIP = pointerForOop(longAt(localFP + FoxIFSavedIP)); @@ -4766,7 +4764,7 @@ /* begin fetchNextBytecode */ currentBytecode = byteAtPointer(++localIP);
- null; + /* return self */ l159: /* end baseFrameReturn */; goto l156; } @@ -9086,13 +9084,7 @@ return null; }
-sqInt -accessorDepthForPrimitiveIndex(sqInt primIndex) -{ - return primitiveAccessorDepthTable[primIndex]; -}
- /* Activate newMethod when newMethod has been cogged, i.e. create a machine-code frame and (re)enter machine-code. */ @@ -19570,17 +19562,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;
@@ -19591,21 +19581,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; @@ -19620,7 +19596,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)) {
@@ -19674,18 +19650,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)) { @@ -46392,7 +46368,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-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/sistasrc/vm/cointerp.h 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */
@@ -14,7 +14,6 @@ # define NoDbgRegParms /*empty*/ #endif
-sqInt accessorDepthForPrimitiveIndex(sqInt primIndex); sqInt activeProcess(void); sqInt addressCouldBeObj(sqInt address); sqInt addressCouldBeOop(sqInt address);
Modified: branches/Cog/sistasrc/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/sistasrc/vm/gcc3x-cointerp.c 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/sistasrc/vm/gcc3x-cointerp.c 2014-07-01 15:39:10 UTC (rev 3024) @@ -2,11 +2,11 @@
/* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c from - CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -365,7 +365,6 @@ #endif
sqInt interpret(void); -sqInt accessorDepthForPrimitiveIndex(sqInt primIndex); static void activateCoggedNewMethod(sqInt inInterpreter) NoDbgRegParms; static void activateNewMethod(void); sqInt activeProcess(void); @@ -1174,7 +1173,7 @@ static void rewriteMethodCacheEntryForExternalPrimitiveToFunction(void (*localPrimAddress)(void)) NoDbgRegParms; static sqInt roomToPushNArgs(sqInt n) NoDbgRegParms; static void runLeakCheckerForFullGC(sqInt fullGCFlag) NoDbgRegParms; -static sqInt safeObjectAfter(sqInt oop) NoDbgRegParms; +static usqInt safeObjectAfter(sqInt oop) NoDbgRegParms; static sqInt safePrintStringOf(sqInt oop) NoDbgRegParms; usqInt scavengeThresholdAddress(void); EXPORT(sqInt) sendInvokeCallbackContext(VMCallbackContext *vmCallbackContext); @@ -2062,7 +2061,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.790]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.791]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace;
@@ -4760,7 +4759,6 @@ GIV(framePointer) = localFP; ceEnterCogCodePopReceiverReg(); - null; goto l159; } localIP = pointerForOop(longAt(localFP + FoxIFSavedIP)); @@ -4775,7 +4773,7 @@ /* begin fetchNextBytecode */ currentBytecode = byteAtPointer(++localIP);
- null; + /* return self */ l159: /* end baseFrameReturn */; goto l156; } @@ -9095,13 +9093,7 @@ return null; }
-sqInt -accessorDepthForPrimitiveIndex(sqInt primIndex) -{ - return primitiveAccessorDepthTable[primIndex]; -}
- /* Activate newMethod when newMethod has been cogged, i.e. create a machine-code frame and (re)enter machine-code. */ @@ -19579,17 +19571,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 +19590,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 +19605,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 +19659,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)) { @@ -46401,7 +46377,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-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/sistasrc/vm/interp.h 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */
#define VM_PROXY_MAJOR 1
Modified: branches/Cog/sistasrc/vm/vmCallback.h =================================================================== --- branches/Cog/sistasrc/vm/vmCallback.h 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/sistasrc/vm/vmCallback.h 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */
#define VM_CALLBACK_INC 1
Modified: branches/Cog/spursistasrc/vm/cointerp.c =================================================================== --- branches/Cog/spursistasrc/vm/cointerp.c 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/spursistasrc/vm/cointerp.c 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c from - CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2278,7 +2278,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 [CoInterpreter VMMaker.oscog-eem.790]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.791]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace;
@@ -5470,7 +5470,6 @@ GIV(framePointer) = localFP; ceEnterCogCodePopReceiverReg(); - null; goto l148; } localIP = pointerForOop(longAt(localFP + FoxIFSavedIP)); @@ -5485,7 +5484,7 @@ /* begin fetchNextBytecode */ currentBytecode = byteAtPointer(++localIP);
- null; + /* return self */ l148: /* end baseFrameReturn */; goto l145; }
Modified: branches/Cog/spursistasrc/vm/cointerp.h =================================================================== --- branches/Cog/spursistasrc/vm/cointerp.h 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/spursistasrc/vm/cointerp.h 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */
Modified: branches/Cog/spursistasrc/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/spursistasrc/vm/gcc3x-cointerp.c 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/spursistasrc/vm/gcc3x-cointerp.c 2014-07-01 15:39:10 UTC (rev 3024) @@ -2,11 +2,11 @@
/* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c from - CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2281,7 +2281,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 [CoInterpreter VMMaker.oscog-eem.790]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.791]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace;
@@ -5479,7 +5479,6 @@ GIV(framePointer) = localFP; ceEnterCogCodePopReceiverReg(); - null; goto l148; } localIP = pointerForOop(longAt(localFP + FoxIFSavedIP)); @@ -5494,7 +5493,7 @@ /* begin fetchNextBytecode */ currentBytecode = byteAtPointer(++localIP);
- null; + /* return self */ l148: /* end baseFrameReturn */; goto l145; }
Modified: branches/Cog/spursistasrc/vm/interp.h =================================================================== --- branches/Cog/spursistasrc/vm/interp.h 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/spursistasrc/vm/interp.h 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */
#define VM_PROXY_MAJOR 1
Modified: branches/Cog/spursistasrc/vm/vmCallback.h =================================================================== --- branches/Cog/spursistasrc/vm/vmCallback.h 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/spursistasrc/vm/vmCallback.h 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */
#define VM_CALLBACK_INC 1
Modified: branches/Cog/spursrc/vm/cointerp.c =================================================================== --- branches/Cog/spursrc/vm/cointerp.c 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/spursrc/vm/cointerp.c 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c from - CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2273,7 +2273,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 [CoInterpreter VMMaker.oscog-eem.790]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.791]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace;
Modified: branches/Cog/spursrc/vm/cointerp.h =================================================================== --- branches/Cog/spursrc/vm/cointerp.h 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/spursrc/vm/cointerp.h 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */
Modified: branches/Cog/spursrc/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/spursrc/vm/gcc3x-cointerp.c 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/spursrc/vm/gcc3x-cointerp.c 2014-07-01 15:39:10 UTC (rev 3024) @@ -2,11 +2,11 @@
/* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c from - CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -2276,7 +2276,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 [CoInterpreter VMMaker.oscog-eem.790]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.791]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace;
Modified: branches/Cog/spursrc/vm/interp.h =================================================================== --- branches/Cog/spursrc/vm/interp.h 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/spursrc/vm/interp.h 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */
#define VM_PROXY_MAJOR 1
Modified: branches/Cog/spursrc/vm/vmCallback.h =================================================================== --- branches/Cog/spursrc/vm/vmCallback.h 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/spursrc/vm/vmCallback.h 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */
#define VM_CALLBACK_INC 1
Modified: branches/Cog/src/vm/cointerp.c =================================================================== --- branches/Cog/src/vm/cointerp.c 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/src/vm/cointerp.c 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c from - CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -361,7 +361,6 @@ #endif
sqInt interpret(void); -sqInt accessorDepthForPrimitiveIndex(sqInt primIndex); static void activateCoggedNewMethod(sqInt inInterpreter) NoDbgRegParms; static void activateNewMethod(void); sqInt activeProcess(void); @@ -1167,7 +1166,7 @@ static void rewriteMethodCacheEntryForExternalPrimitiveToFunction(void (*localPrimAddress)(void)) NoDbgRegParms; static sqInt roomToPushNArgs(sqInt n) NoDbgRegParms; static void runLeakCheckerForFullGC(sqInt fullGCFlag) NoDbgRegParms; -static sqInt safeObjectAfter(sqInt oop) NoDbgRegParms; +static usqInt safeObjectAfter(sqInt oop) NoDbgRegParms; static sqInt safePrintStringOf(sqInt oop) NoDbgRegParms; usqInt scavengeThresholdAddress(void); EXPORT(sqInt) sendInvokeCallbackContext(VMCallbackContext *vmCallbackContext); @@ -2055,7 +2054,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.790]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.791]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace;
@@ -9081,13 +9080,7 @@ return null; }
-sqInt -accessorDepthForPrimitiveIndex(sqInt primIndex) -{ - return primitiveAccessorDepthTable[primIndex]; -}
- /* Activate newMethod when newMethod has been cogged, i.e. create a machine-code frame and (re)enter machine-code. */ @@ -19446,17 +19439,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;
@@ -19467,21 +19458,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; @@ -19496,7 +19473,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)) {
@@ -19550,18 +19527,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)) { @@ -46204,7 +46181,7 @@ given object or free chunk in memory. Return freeStart when enumeration is complete. This is for assertion checking only. */
-static sqInt +static usqInt safeObjectAfter(sqInt oop) { DECL_MAYBE_SQ_GLOBAL_STRUCT sqInt header;
Modified: branches/Cog/src/vm/cointerp.h =================================================================== --- branches/Cog/src/vm/cointerp.h 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/src/vm/cointerp.h 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */
@@ -14,7 +14,6 @@ # define NoDbgRegParms /*empty*/ #endif
-sqInt accessorDepthForPrimitiveIndex(sqInt primIndex); sqInt activeProcess(void); sqInt addressCouldBeObj(sqInt address); sqInt addressCouldBeOop(sqInt address);
Modified: branches/Cog/src/vm/cointerpmt.c =================================================================== --- branches/Cog/src/vm/cointerpmt.c 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/src/vm/cointerpmt.c 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c from - CoInterpreterMT VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CoInterpreterMT VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */ -static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 " __DATE__ ; +static char __buildInfo[] = "CoInterpreterMT VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -404,7 +404,6 @@ #endif
sqInt interpret(void); -sqInt accessorDepthForPrimitiveIndex(sqInt primIndex); static void activateCoggedNewMethod(sqInt inInterpreter) NoDbgRegParms; static void activateNewMethod(void); sqInt activeProcess(void); @@ -2152,7 +2151,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.790]"; +const char *interpreterVersion = "Croquet Closure Cog MT VM [CoInterpreterMT VMMaker.oscog-eem.791]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; sqInt willNotThreadWarnCount; @@ -9180,13 +9179,7 @@ return null; }
-sqInt -accessorDepthForPrimitiveIndex(sqInt primIndex) -{ - return primitiveAccessorDepthTable[primIndex]; -}
- /* Activate newMethod when newMethod has been cogged, i.e. create a machine-code frame and (re)enter machine-code. */
Modified: branches/Cog/src/vm/cointerpmt.h =================================================================== --- branches/Cog/src/vm/cointerpmt.h 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/src/vm/cointerpmt.h 2014-07-01 15:39:10 UTC (rev 3024) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */
@@ -14,7 +14,6 @@ # define NoDbgRegParms /*empty*/ #endif
-sqInt accessorDepthForPrimitiveIndex(sqInt primIndex); sqInt activeProcess(void); sqInt addressCouldBeObj(sqInt address); sqInt addressCouldBeOop(sqInt address);
Modified: branches/Cog/src/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/src/vm/gcc3x-cointerp.c 2014-07-01 03:09:58 UTC (rev 3023) +++ branches/Cog/src/vm/gcc3x-cointerp.c 2014-07-01 15:39:10 UTC (rev 3024) @@ -2,11 +2,11 @@
/* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c from - CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 + CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.790 uuid: 1c0587fb-44ad-43f6-8bfd-2a0f91e21a59 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.791 uuid: 7d762755-99b7-46ae-8435-31b17f4f0e0c " __DATE__ ; char *__interpBuildInfo = __buildInfo;
@@ -364,7 +364,6 @@ #endif
sqInt interpret(void); -sqInt accessorDepthForPrimitiveIndex(sqInt primIndex); static void activateCoggedNewMethod(sqInt inInterpreter) NoDbgRegParms; static void activateNewMethod(void); sqInt activeProcess(void); @@ -1170,7 +1169,7 @@ static void rewriteMethodCacheEntryForExternalPrimitiveToFunction(void (*localPrimAddress)(void)) NoDbgRegParms; static sqInt roomToPushNArgs(sqInt n) NoDbgRegParms; static void runLeakCheckerForFullGC(sqInt fullGCFlag) NoDbgRegParms; -static sqInt safeObjectAfter(sqInt oop) NoDbgRegParms; +static usqInt safeObjectAfter(sqInt oop) NoDbgRegParms; static sqInt safePrintStringOf(sqInt oop) NoDbgRegParms; usqInt scavengeThresholdAddress(void); EXPORT(sqInt) sendInvokeCallbackContext(VMCallbackContext *vmCallbackContext); @@ -2058,7 +2057,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.790]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.791]";
@@ Diff output truncated at 50000 characters. @@
vm-dev@lists.squeakfoundation.org