[Vm-dev] [commit][3024] CogVM source as per VMMaker.oscog-eem.791
commits at squeakvm.org
commits at squeakvm.org
Tue Jul 1 15:39:19 UTC 2014
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. @@
More information about the Vm-dev
mailing list