Revision: 2865 Author: eliot Date: 2014-01-31 17:04:05 -0800 (Fri, 31 Jan 2014) Log Message: ----------- CogVM source as per VMMaker.oscog-eem.600 Revert bogus assert change. Remember to follow the specialObjectsOop during scavenges. Fix a typo in a selector. Modified Paths: -------------- branches/Cog/nscogsrc/vm/cogit.c branches/Cog/nscogsrc/vm/cogit.h branches/Cog/nscogsrc/vm/cogmethod.h 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/nsspurstacksrc/vm/gcc3x-interp.c branches/Cog/nsspurstacksrc/vm/interp.c branches/Cog/nsspurstacksrc/vm/interp.h branches/Cog/nsspurstacksrc/vm/vmCallback.h branches/Cog/spursrc/vm/cogit.c branches/Cog/spursrc/vm/cogit.h branches/Cog/spursrc/vm/cogmethod.h branches/Cog/spursrc/vm/cointerp.c branches/Cog/spursrc/vm/cointerp.h branches/Cog/spursrc/vm/gcc3x-cointerp.c branches/Cog/spursrc/vm/interp.h branches/Cog/spursrc/vm/vmCallback.h branches/Cog/spurstacksrc/vm/gcc3x-interp.c branches/Cog/spurstacksrc/vm/interp.c branches/Cog/spurstacksrc/vm/interp.h branches/Cog/spurstacksrc/vm/vmCallback.h branches/Cog/src/vm/cogit.c branches/Cog/src/vm/cogit.h branches/Cog/src/vm/cogmethod.h branches/Cog/src/vm/cointerp.c branches/Cog/src/vm/cointerp.h branches/Cog/src/vm/cointerpmt.c branches/Cog/src/vm/cointerpmt.h branches/Cog/src/vm/gcc3x-cointerp.c branches/Cog/src/vm/gcc3x-cointerpmt.c branches/Cog/src/vm/interp.h branches/Cog/src/vm/vmCallback.h branches/Cog/stacksrc/vm/gcc3x-interp.c branches/Cog/stacksrc/vm/interp.c branches/Cog/stacksrc/vm/interp.h branches/Cog/stacksrc/vm/vmCallback.h Property Changed: ---------------- branches/Cog/platforms/Cross/vm/sqSCCSVersion.h Modified: branches/Cog/nscogsrc/vm/cogit.c =================================================================== --- branches/Cog/nscogsrc/vm/cogit.c 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/nscogsrc/vm/cogit.c 2014-02-01 01:04:05 UTC (rev 2865) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd + CCodeGenerator VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 from - StackToRegisterMappingCogit VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd + StackToRegisterMappingCogit VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -587,7 +587,7 @@ static void (*genEnilopmartForandandcalled(sqInt regArg1, sqInt regArg2, sqInt regArg3, char *trampolineName))(void) ; static void (*genEnilopmartForandcalled(sqInt regArg1, sqInt regArg2, char *trampolineName))(void) ; static void (*genEnilopmartForcalled(sqInt regArg, char *trampolineName))(void) ; -static sqInt genEnsureObjInRegRegNotForwardedscratchReg(sqInt reg, sqInt scratch); +static sqInt genEnsureObjInRegNotForwardedscratchReg(sqInt reg, sqInt scratch); static void (*genEnterPICEnilopmartNumArgs(sqInt numArgs))(void) ; static sqInt genExtendedSendBytecode(void); static sqInt genExtendedSuperBytecode(void); @@ -10836,7 +10836,7 @@ nothing to do. Subclasses for memory managers that forward will override. */ static sqInt -genEnsureObjInRegRegNotForwardedscratchReg(sqInt reg, sqInt scratch) +genEnsureObjInRegNotForwardedscratchReg(sqInt reg, sqInt scratch) { return 0; } @@ -14353,7 +14353,7 @@ association = getLiteral(literalIndex); annotateobjRef(gMoveCwR(association, TempReg), association); - genEnsureObjInRegRegNotForwardedscratchReg(TempReg, freeReg); + genEnsureObjInRegNotForwardedscratchReg(TempReg, freeReg); genLoadSlotsourceRegdestReg(ValueIndex, TempReg, freeReg); ssPushRegister(freeReg); return 0; @@ -15573,7 +15573,7 @@ && (!(shouldAnnotateObjectReference(constVal)))) { ssAllocateRequiredReg(ReceiverResultReg); annotateobjRef(gMoveCwR(association, ReceiverResultReg), association); - genEnsureObjInRegRegNotForwardedscratchReg(ReceiverResultReg, TempReg); + genEnsureObjInRegNotForwardedscratchReg(ReceiverResultReg, TempReg); ssStorePoptoPreferredReg(popBoolean, TempReg); if (traceStores > 0) { CallRT(ceTraceStoreTrampoline); @@ -15594,7 +15594,7 @@ } ssAllocateCallReg(ReceiverResultReg); annotateobjRef(gMoveCwR(association, ReceiverResultReg), association); - genEnsureObjInRegRegNotForwardedscratchReg(ReceiverResultReg, TempReg); + genEnsureObjInRegNotForwardedscratchReg(ReceiverResultReg, TempReg); if (traceStores > 0) { /* begin MoveR:R: */ genoperandoperand(MoveRR, topReg, TempReg); Modified: branches/Cog/nscogsrc/vm/cogit.h =================================================================== --- branches/Cog/nscogsrc/vm/cogit.h 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/nscogsrc/vm/cogit.h 2014-02-01 01:04:05 UTC (rev 2865) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd + CCodeGenerator VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ Modified: branches/Cog/nscogsrc/vm/cogmethod.h =================================================================== --- branches/Cog/nscogsrc/vm/cogmethod.h 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/nscogsrc/vm/cogmethod.h 2014-02-01 01:04:05 UTC (rev 2865) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd + CCodeGenerator VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ typedef struct { Modified: branches/Cog/nscogsrc/vm/cointerp.c =================================================================== --- branches/Cog/nscogsrc/vm/cointerp.c 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/nscogsrc/vm/cointerp.c 2014-02-01 01:04:05 UTC (rev 2865) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 from - CoInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 + CoInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -2030,7 +2030,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.597"; +const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.600"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; @@ -5667,6 +5667,7 @@ /* begin internalPush: */ longAtPointerput((localSP -= BytesPerOop), longAt((rcvr + BaseHeaderSize) + (byte3 << ShiftForWord))); } + null; goto l4; } if (opType == 3) { @@ -5676,6 +5677,7 @@ assert(GIV(method) == (iframeMethod(localFP))); object = longAt((GIV(method) + BaseHeaderSize) + ((byte3 + LiteralStart) << ShiftForWord)); longAtPointerput((localSP -= BytesPerOop), object); + null; goto l4; } if (opType == 4) { @@ -5689,6 +5691,7 @@ object2 = longAt((oop + BaseHeaderSize) + (ValueIndex << ShiftForWord)); longAtPointerput((localSP -= BytesPerOop), object2); + null; goto l4; } top = longAtPointer(localSP); @@ -53867,7 +53870,7 @@ GIV(stackPointer) += BytesPerWord; GIV(instructionPointer) = ((sqInt) top); /* begin assertValidExecutionPointe:r:s: */ - assertValidExecutionPointersimbarline(GIV(instructionPointer) + 1, GIV(framePointer), GIV(stackPointer), !((((usqInt)(longAt(GIV(framePointer) + FoxMethod)))) < (startOfMemory())), __LINE__); + assertValidExecutionPointersimbarline(GIV(instructionPointer), GIV(framePointer), GIV(stackPointer), !((((usqInt)(longAt(GIV(framePointer) + FoxMethod)))) < (startOfMemory())), __LINE__); } sqInt Modified: branches/Cog/nscogsrc/vm/cointerp.h =================================================================== --- branches/Cog/nscogsrc/vm/cointerp.h 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/nscogsrc/vm/cointerp.h 2014-02-01 01:04:05 UTC (rev 2865) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ Modified: branches/Cog/nscogsrc/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/nscogsrc/vm/gcc3x-cointerp.c 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/nscogsrc/vm/gcc3x-cointerp.c 2014-02-01 01:04:05 UTC (rev 2865) @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 from - CoInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 + CoInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -2033,7 +2033,7 @@ /* 574 */ (void (*)(void))0, /* 575 */ (void (*)(void))0, 0 }; -const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.597"; +const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreter_VMMaker.oscog-eem.600"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; @@ -5676,6 +5676,7 @@ /* begin internalPush: */ longAtPointerput((localSP -= BytesPerOop), longAt((rcvr + BaseHeaderSize) + (byte3 << ShiftForWord))); } + null; goto l4; } if (opType == 3) { @@ -5685,6 +5686,7 @@ assert(GIV(method) == (iframeMethod(localFP))); object = longAt((GIV(method) + BaseHeaderSize) + ((byte3 + LiteralStart) << ShiftForWord)); longAtPointerput((localSP -= BytesPerOop), object); + null; goto l4; } if (opType == 4) { @@ -5698,6 +5700,7 @@ object2 = longAt((oop + BaseHeaderSize) + (ValueIndex << ShiftForWord)); longAtPointerput((localSP -= BytesPerOop), object2); + null; goto l4; } top = longAtPointer(localSP); @@ -53876,7 +53879,7 @@ GIV(stackPointer) += BytesPerWord; GIV(instructionPointer) = ((sqInt) top); /* begin assertValidExecutionPointe:r:s: */ - assertValidExecutionPointersimbarline(GIV(instructionPointer) + 1, GIV(framePointer), GIV(stackPointer), !((((usqInt)(longAt(GIV(framePointer) + FoxMethod)))) < (startOfMemory())), __LINE__); + assertValidExecutionPointersimbarline(GIV(instructionPointer), GIV(framePointer), GIV(stackPointer), !((((usqInt)(longAt(GIV(framePointer) + FoxMethod)))) < (startOfMemory())), __LINE__); } sqInt Modified: branches/Cog/nscogsrc/vm/interp.h =================================================================== --- branches/Cog/nscogsrc/vm/interp.h 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/nscogsrc/vm/interp.h 2014-02-01 01:04:05 UTC (rev 2865) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ #define VM_PROXY_MAJOR 1 Modified: branches/Cog/nscogsrc/vm/vmCallback.h =================================================================== --- branches/Cog/nscogsrc/vm/vmCallback.h 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/nscogsrc/vm/vmCallback.h 2014-02-01 01:04:05 UTC (rev 2865) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ #define VM_CALLBACK_INC 1 Modified: branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c =================================================================== --- branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c 2014-02-01 01:04:05 UTC (rev 2865) @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.598 uuid: b85d7330-2ddc-4d90-8592-4e37234f4ac2 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 from - StackInterpreter VMMaker.oscog-eem.598 uuid: b85d7330-2ddc-4d90-8592-4e37234f4ac2 + StackInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.598 uuid: b85d7330-2ddc-4d90-8592-4e37234f4ac2 " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -1969,7 +1969,7 @@ 0 }; char * breakSelector; sqInt breakSelectorLength = -1; -const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.598"; +const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.600"; volatile int sendTrace; sqInt suppressHeartbeatFlag; @@ -53061,6 +53061,10 @@ if (firstTime) { mapInterpreterOops(); /* begin mapExtraRoots */ + if ((((longAt(GIV(specialObjectsOop))) & 0x3FFFFF) == 8) + || (isYoungObject(GIV(specialObjectsOop)))) { + GIV(specialObjectsOop) = remapObj(GIV(specialObjectsOop)); + } assert(GIV(remapBufferCount) == 0); for (i = 1; i <= GIV(extraRootCount); i += 1) { oop = (GIV(extraRoots)[i])[0]; @@ -53463,6 +53467,7 @@ sqInt object6; sqInt object7; sqInt object8; + sqInt object9; sqInt rcvr; char *sp; char *sp1; @@ -53494,7 +53499,8 @@ } /* begin saveCStackStateForCallbackContext: */ /* begin push: */ - longAtput((sp8 = GIV(stackPointer) - BytesPerWord), longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2))); + object8 = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2)); + longAtput((sp8 = GIV(stackPointer) - BytesPerWord), object8); GIV(stackPointer) = sp8; # if BytesPerWord == 8 @@ -53567,8 +53573,8 @@ : 0); /* begin push: */ - object8 = ((1 + (numArgs << 8)) + (0)) + (0); - longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object8); + object9 = ((1 + (numArgs << 8)) + (0)) + (0); + longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object9); GIV(stackPointer) = sp41; /* begin push: */ longAtput((sp51 = GIV(stackPointer) - BytesPerWord), GIV(nilObj)); @@ -53654,6 +53660,7 @@ sqInt object2; sqInt object3; sqInt object4; + sqInt object5; sqInt rcvr; char *sp; char *sp1; @@ -53682,23 +53689,24 @@ return 0; } /* begin push: */ - longAtput((sp = GIV(stackPointer) - BytesPerWord), longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2))); + object = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2)); + longAtput((sp = GIV(stackPointer) - BytesPerWord), object); GIV(stackPointer) = sp; /* begin push: */ - object = positive32BitIntegerFor(thunkPtr); - longAtput((sp1 = GIV(stackPointer) - BytesPerWord), object); + object1 = positive32BitIntegerFor(thunkPtr); + longAtput((sp1 = GIV(stackPointer) - BytesPerWord), object1); GIV(stackPointer) = sp1; /* begin push: */ - object1 = positive32BitIntegerFor(stackPtr); - longAtput((sp2 = GIV(stackPointer) - BytesPerWord), object1); + object2 = positive32BitIntegerFor(stackPtr); + longAtput((sp2 = GIV(stackPointer) - BytesPerWord), object2); GIV(stackPointer) = sp2; /* begin push: */ - object2 = positive32BitIntegerFor(regsPtr); - longAtput((sp3 = GIV(stackPointer) - BytesPerWord), object2); + object3 = positive32BitIntegerFor(regsPtr); + longAtput((sp3 = GIV(stackPointer) - BytesPerWord), object3); GIV(stackPointer) = sp3; /* begin push: */ - object3 = positive32BitIntegerFor(jmpBufPtr); - longAtput((sp4 = GIV(stackPointer) - BytesPerWord), object3); + object4 = positive32BitIntegerFor(jmpBufPtr); + longAtput((sp4 = GIV(stackPointer) - BytesPerWord), object4); GIV(stackPointer) = sp4; /* begin ifAppropriateCompileToNativeCode:selector: */ /* begin justActivateNewMethod */ @@ -53728,8 +53736,8 @@ : 0); /* begin push: */ - object4 = ((1 + (numArgs << 8)) + (0)) + (0); - longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object4); + object5 = ((1 + (numArgs << 8)) + (0)) + (0); + longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object5); GIV(stackPointer) = sp41; /* begin push: */ longAtput((sp5 = GIV(stackPointer) - BytesPerWord), GIV(nilObj)); @@ -56452,7 +56460,7 @@ GIV(stackPointer) += BytesPerWord; GIV(instructionPointer) = ((sqInt) top); /* begin assertValidExecutionPointe:r:s: */ - assertValidExecutionPointersimbarline(GIV(instructionPointer) + 1, GIV(framePointer), GIV(stackPointer), !0, __LINE__); + assertValidExecutionPointersimbarline(GIV(instructionPointer), GIV(framePointer), GIV(stackPointer), !0, __LINE__); } sqInt Modified: branches/Cog/nsspurstacksrc/vm/interp.c =================================================================== --- branches/Cog/nsspurstacksrc/vm/interp.c 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/nsspurstacksrc/vm/interp.c 2014-02-01 01:04:05 UTC (rev 2865) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.598 uuid: b85d7330-2ddc-4d90-8592-4e37234f4ac2 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 from - StackInterpreter VMMaker.oscog-eem.598 uuid: b85d7330-2ddc-4d90-8592-4e37234f4ac2 + StackInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.598 uuid: b85d7330-2ddc-4d90-8592-4e37234f4ac2 " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -1966,7 +1966,7 @@ 0 }; char * breakSelector; sqInt breakSelectorLength = -1; -const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.598"; +const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreter_VMMaker.oscog-eem.600"; volatile int sendTrace; sqInt suppressHeartbeatFlag; @@ -53052,6 +53052,10 @@ if (firstTime) { mapInterpreterOops(); /* begin mapExtraRoots */ + if ((((longAt(GIV(specialObjectsOop))) & 0x3FFFFF) == 8) + || (isYoungObject(GIV(specialObjectsOop)))) { + GIV(specialObjectsOop) = remapObj(GIV(specialObjectsOop)); + } assert(GIV(remapBufferCount) == 0); for (i = 1; i <= GIV(extraRootCount); i += 1) { oop = (GIV(extraRoots)[i])[0]; @@ -53454,6 +53458,7 @@ sqInt object6; sqInt object7; sqInt object8; + sqInt object9; sqInt rcvr; char *sp; char *sp1; @@ -53485,7 +53490,8 @@ } /* begin saveCStackStateForCallbackContext: */ /* begin push: */ - longAtput((sp8 = GIV(stackPointer) - BytesPerWord), longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2))); + object8 = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2)); + longAtput((sp8 = GIV(stackPointer) - BytesPerWord), object8); GIV(stackPointer) = sp8; # if BytesPerWord == 8 @@ -53558,8 +53564,8 @@ : 0); /* begin push: */ - object8 = ((1 + (numArgs << 8)) + (0)) + (0); - longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object8); + object9 = ((1 + (numArgs << 8)) + (0)) + (0); + longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object9); GIV(stackPointer) = sp41; /* begin push: */ longAtput((sp51 = GIV(stackPointer) - BytesPerWord), GIV(nilObj)); @@ -53645,6 +53651,7 @@ sqInt object2; sqInt object3; sqInt object4; + sqInt object5; sqInt rcvr; char *sp; char *sp1; @@ -53673,23 +53680,24 @@ return 0; } /* begin push: */ - longAtput((sp = GIV(stackPointer) - BytesPerWord), longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2))); + object = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2)); + longAtput((sp = GIV(stackPointer) - BytesPerWord), object); GIV(stackPointer) = sp; /* begin push: */ - object = positive32BitIntegerFor(thunkPtr); - longAtput((sp1 = GIV(stackPointer) - BytesPerWord), object); + object1 = positive32BitIntegerFor(thunkPtr); + longAtput((sp1 = GIV(stackPointer) - BytesPerWord), object1); GIV(stackPointer) = sp1; /* begin push: */ - object1 = positive32BitIntegerFor(stackPtr); - longAtput((sp2 = GIV(stackPointer) - BytesPerWord), object1); + object2 = positive32BitIntegerFor(stackPtr); + longAtput((sp2 = GIV(stackPointer) - BytesPerWord), object2); GIV(stackPointer) = sp2; /* begin push: */ - object2 = positive32BitIntegerFor(regsPtr); - longAtput((sp3 = GIV(stackPointer) - BytesPerWord), object2); + object3 = positive32BitIntegerFor(regsPtr); + longAtput((sp3 = GIV(stackPointer) - BytesPerWord), object3); GIV(stackPointer) = sp3; /* begin push: */ - object3 = positive32BitIntegerFor(jmpBufPtr); - longAtput((sp4 = GIV(stackPointer) - BytesPerWord), object3); + object4 = positive32BitIntegerFor(jmpBufPtr); + longAtput((sp4 = GIV(stackPointer) - BytesPerWord), object4); GIV(stackPointer) = sp4; /* begin ifAppropriateCompileToNativeCode:selector: */ /* begin justActivateNewMethod */ @@ -53719,8 +53727,8 @@ : 0); /* begin push: */ - object4 = ((1 + (numArgs << 8)) + (0)) + (0); - longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object4); + object5 = ((1 + (numArgs << 8)) + (0)) + (0); + longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object5); GIV(stackPointer) = sp41; /* begin push: */ longAtput((sp5 = GIV(stackPointer) - BytesPerWord), GIV(nilObj)); @@ -56443,7 +56451,7 @@ GIV(stackPointer) += BytesPerWord; GIV(instructionPointer) = ((sqInt) top); /* begin assertValidExecutionPointe:r:s: */ - assertValidExecutionPointersimbarline(GIV(instructionPointer) + 1, GIV(framePointer), GIV(stackPointer), !0, __LINE__); + assertValidExecutionPointersimbarline(GIV(instructionPointer), GIV(framePointer), GIV(stackPointer), !0, __LINE__); } sqInt Modified: branches/Cog/nsspurstacksrc/vm/interp.h =================================================================== --- branches/Cog/nsspurstacksrc/vm/interp.h 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/nsspurstacksrc/vm/interp.h 2014-02-01 01:04:05 UTC (rev 2865) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.598 uuid: b85d7330-2ddc-4d90-8592-4e37234f4ac2 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ #define VM_PROXY_MAJOR 1 Modified: branches/Cog/nsspurstacksrc/vm/vmCallback.h =================================================================== --- branches/Cog/nsspurstacksrc/vm/vmCallback.h 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/nsspurstacksrc/vm/vmCallback.h 2014-02-01 01:04:05 UTC (rev 2865) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.598 uuid: b85d7330-2ddc-4d90-8592-4e37234f4ac2 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ #define VM_CALLBACK_INC 1 Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h ___________________________________________________________________ Modified: checkindate - Fri Jan 31 10:40:41 PST 2014 + Fri Jan 31 17:03:23 PST 2014 Modified: branches/Cog/spursrc/vm/cogit.c =================================================================== --- branches/Cog/spursrc/vm/cogit.c 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/spursrc/vm/cogit.c 2014-02-01 01:04:05 UTC (rev 2865) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd + CCodeGenerator VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 from - StackToRegisterMappingCogit VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd + StackToRegisterMappingCogit VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -575,7 +575,7 @@ static void (*genEnilopmartForandandcalled(sqInt regArg1, sqInt regArg2, sqInt regArg3, char *trampolineName))(void) ; static void (*genEnilopmartForandcalled(sqInt regArg1, sqInt regArg2, char *trampolineName))(void) ; static void (*genEnilopmartForcalled(sqInt regArg, char *trampolineName))(void) ; -static sqInt genEnsureObjInRegRegNotForwardedscratchReg(sqInt reg, sqInt scratch); +static sqInt genEnsureObjInRegNotForwardedscratchReg(sqInt reg, sqInt scratch); static void (*genEnterPICEnilopmartNumArgs(sqInt numArgs))(void) ; static sqInt genExtendedSendBytecode(void); static sqInt genExtendedSuperBytecode(void); @@ -10442,10 +10442,10 @@ } -/* Make sure that the obejct in reg is not forwarded. */ +/* Make sure that the object in reg is not forwarded. */ static sqInt -genEnsureObjInRegRegNotForwardedscratchReg(sqInt reg, sqInt scratch) +genEnsureObjInRegNotForwardedscratchReg(sqInt reg, sqInt scratch) { AbstractInstruction *loop; AbstractInstruction *ok; @@ -11894,7 +11894,7 @@ /* begin MoveR:R: */ genoperandoperand(MoveRR, Arg0Reg, TempReg); jumpImmediate = genJumpImmediateInScratchReg(TempReg); - genEnsureObjInRegRegNotForwardedscratchReg(Arg0Reg, TempReg); + genEnsureObjInRegNotForwardedscratchReg(Arg0Reg, TempReg); jmpTarget(jumpImmediate, gCmpRR(Arg0Reg, ReceiverResultReg)); jumpCmp = (orNot ? (/* begin JumpZero: */ @@ -14174,7 +14174,7 @@ association = getLiteral(literalIndex); annotateobjRef(gMoveCwR(association, TempReg), association); - genEnsureObjInRegRegNotForwardedscratchReg(TempReg, freeReg); + genEnsureObjInRegNotForwardedscratchReg(TempReg, freeReg); genLoadSlotsourceRegdestReg(ValueIndex, TempReg, freeReg); ssPushRegister(freeReg); return 0; @@ -15391,7 +15391,7 @@ && (!(shouldAnnotateObjectReference(constVal)))) { ssAllocateRequiredReg(ReceiverResultReg); annotateobjRef(gMoveCwR(association, ReceiverResultReg), association); - genEnsureObjInRegRegNotForwardedscratchReg(ReceiverResultReg, TempReg); + genEnsureObjInRegNotForwardedscratchReg(ReceiverResultReg, TempReg); ssStorePoptoPreferredReg(popBoolean, TempReg); if (traceStores > 0) { CallRT(ceTraceStoreTrampoline); @@ -15412,7 +15412,7 @@ } ssAllocateCallReg(ReceiverResultReg); annotateobjRef(gMoveCwR(association, ReceiverResultReg), association); - genEnsureObjInRegRegNotForwardedscratchReg(ReceiverResultReg, TempReg); + genEnsureObjInRegNotForwardedscratchReg(ReceiverResultReg, TempReg); if (traceStores > 0) { /* begin MoveR:R: */ genoperandoperand(MoveRR, topReg, TempReg); Modified: branches/Cog/spursrc/vm/cogit.h =================================================================== --- branches/Cog/spursrc/vm/cogit.h 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/spursrc/vm/cogit.h 2014-02-01 01:04:05 UTC (rev 2865) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd + CCodeGenerator VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ Modified: branches/Cog/spursrc/vm/cogmethod.h =================================================================== --- branches/Cog/spursrc/vm/cogmethod.h 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/spursrc/vm/cogmethod.h 2014-02-01 01:04:05 UTC (rev 2865) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.595 uuid: 918a4400-df96-4b55-bdee-cbf3576f27dd + CCodeGenerator VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ typedef struct { Modified: branches/Cog/spursrc/vm/cointerp.c =================================================================== --- branches/Cog/spursrc/vm/cointerp.c 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/spursrc/vm/cointerp.c 2014-02-01 01:04:05 UTC (rev 2865) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 from - CoInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 + CoInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -2169,7 +2169,7 @@ /* 575 */ (void (*)(void))0, 0 }; usqInt heapBase; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.597]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.600]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; @@ -6383,6 +6383,7 @@ /* begin internalPush: */ longAtPointerput((localSP -= BytesPerOop), longAt((rcvr1 + (BaseHeaderSize)) + (byte3 << 2))); } + null; goto l4; } if (opType == 3) { @@ -6392,6 +6393,7 @@ assert(GIV(method) == (iframeMethod(localFP))); object = longAt((GIV(method) + (BaseHeaderSize)) + ((byte3 + LiteralStart) << 2)); longAtPointerput((localSP -= BytesPerOop), object); + null; goto l4; } if (opType == 4) { @@ -6419,6 +6421,7 @@ /* begin internalPush: */ longAtPointerput((localSP -= BytesPerOop), longAt((litVar1 + (BaseHeaderSize)) + (ValueIndex << 2))); + null; goto l4; } top = longAtPointer(localSP); @@ -54451,6 +54454,10 @@ if (firstTime) { mapInterpreterOops(); /* begin mapExtraRoots */ + if ((((longAt(GIV(specialObjectsOop))) & 0x3FFFFF) == 8) + || (isReallyYoungObject(GIV(specialObjectsOop)))) { + GIV(specialObjectsOop) = remapObj(GIV(specialObjectsOop)); + } assert(GIV(remapBufferCount) == 0); for (i = 1; i <= GIV(extraRootCount); i += 1) { oop = (GIV(extraRoots)[i])[0]; @@ -54881,6 +54888,7 @@ sqInt object6; sqInt object7; sqInt object8; + sqInt object9; sqInt rcvr; char *sp; char *sp1; @@ -54924,7 +54932,8 @@ (vmCallbackContext->savedCFramePointer = getCFramePointer()); memcpy(((void *)((vmCallbackContext->savedReenterInterpreter))), reenterInterpreter, sizeof(jmp_buf)); /* begin push: */ - longAtput((sp8 = GIV(stackPointer) - BytesPerWord), longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2))); + object8 = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2)); + longAtput((sp8 = GIV(stackPointer) - BytesPerWord), object8); GIV(stackPointer) = sp8; # if BytesPerWord == 8 @@ -55037,8 +55046,8 @@ longAtput((sp31 = GIV(stackPointer) - BytesPerWord), GIV(nilObj)); GIV(stackPointer) = sp31; /* begin push: */ - object8 = ((1 + (numArgs << 8)) + (0)) + (0); - longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object8); + object9 = ((1 + (numArgs << 8)) + (0)) + (0); + longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object9); GIV(stackPointer) = sp41; /* begin push: */ longAtput((sp51 = GIV(stackPointer) - BytesPerWord), 0); @@ -55130,6 +55139,7 @@ sqInt object2; sqInt object3; sqInt object4; + sqInt object5; sqInt rcvr; char *sp; char *sp1; @@ -55167,23 +55177,24 @@ return 0; } /* begin push: */ - longAtput((sp = GIV(stackPointer) - BytesPerWord), longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2))); + object = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2)); + longAtput((sp = GIV(stackPointer) - BytesPerWord), object); GIV(stackPointer) = sp; /* begin push: */ - object = positive32BitIntegerFor(thunkPtr); - longAtput((sp1 = GIV(stackPointer) - BytesPerWord), object); + object1 = positive32BitIntegerFor(thunkPtr); + longAtput((sp1 = GIV(stackPointer) - BytesPerWord), object1); GIV(stackPointer) = sp1; /* begin push: */ - object1 = positive32BitIntegerFor(stackPtr); - longAtput((sp2 = GIV(stackPointer) - BytesPerWord), object1); + object2 = positive32BitIntegerFor(stackPtr); + longAtput((sp2 = GIV(stackPointer) - BytesPerWord), object2); GIV(stackPointer) = sp2; /* begin push: */ - object2 = positive32BitIntegerFor(regsPtr); - longAtput((sp3 = GIV(stackPointer) - BytesPerWord), object2); + object3 = positive32BitIntegerFor(regsPtr); + longAtput((sp3 = GIV(stackPointer) - BytesPerWord), object3); GIV(stackPointer) = sp3; /* begin push: */ - object3 = positive32BitIntegerFor(jmpBufPtr); - longAtput((sp4 = GIV(stackPointer) - BytesPerWord), object3); + object4 = positive32BitIntegerFor(jmpBufPtr); + longAtput((sp4 = GIV(stackPointer) - BytesPerWord), object4); GIV(stackPointer) = sp4; /* begin ifAppropriateCompileToNativeCode:selector: */ methodHeader = longAt((GIV(newMethod) + (BaseHeaderSize)) + (HeaderIndex << 2)); @@ -55253,8 +55264,8 @@ longAtput((sp31 = GIV(stackPointer) - BytesPerWord), GIV(nilObj)); GIV(stackPointer) = sp31; /* begin push: */ - object4 = ((1 + (numArgs << 8)) + (0)) + (0); - longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object4); + object5 = ((1 + (numArgs << 8)) + (0)) + (0); + longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object5); GIV(stackPointer) = sp41; /* begin push: */ longAtput((sp5 = GIV(stackPointer) - BytesPerWord), 0); @@ -58106,9 +58117,9 @@ transferTofrom(sqInt newProc, sqInt sourceCode) { DECL_MAYBE_SQ_GLOBAL_STRUCT sqInt activeContext; + sqInt aProcess; sqInt index; StackPage *lastUsedPage; - usqInt lip; StackPage *lruOrFree; sqInt newContext; StackPage *newPage; @@ -58122,10 +58133,11 @@ sqInt value; /* begin recordContextSwitchFrom:in: */ + aProcess = longAt(((longAt(((longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (SchedulerAssociation << 2))) + (BaseHeaderSize)) + (ValueIndex << 2))) + (BaseHeaderSize)) + (ActiveProcessIndex << 2)); if (recordEventTrace()) { /* begin recordTrace:thing:source: */ GIV(traceLog)[GIV(traceLogIndex)] = TraceContextSwitch; - GIV(traceLog)[GIV(traceLogIndex) + 1] = (longAt(((longAt(((longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (SchedulerAssociation << 2))) + (BaseHeaderSize)) + (ValueIndex << 2))) + (BaseHeaderSize)) + (ActiveProcessIndex << 2))); + GIV(traceLog)[GIV(traceLogIndex) + 1] = aProcess; GIV(traceLog)[GIV(traceLogIndex) + 2] = sourceCode; GIV(traceLogIndex) = (GIV(traceLogIndex) + 3) % TraceBufferSize; } @@ -58282,8 +58294,7 @@ GIV(stackPointer) += BytesPerWord; GIV(instructionPointer) = ((sqInt) top); /* begin assertValidExecutionPointe:r:s: */ - lip = GIV(instructionPointer) + 1; - assertValidExecutionPointersimbarline(lip, GIV(framePointer), GIV(stackPointer), !((((usqInt)(longAt(GIV(framePointer) + FoxMethod)))) < (startOfMemory())), __LINE__); + assertValidExecutionPointersimbarline(GIV(instructionPointer), GIV(framePointer), GIV(stackPointer), !((((usqInt)(longAt(GIV(framePointer) + FoxMethod)))) < (startOfMemory())), __LINE__); } sqInt Modified: branches/Cog/spursrc/vm/cointerp.h =================================================================== --- branches/Cog/spursrc/vm/cointerp.h 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/spursrc/vm/cointerp.h 2014-02-01 01:04:05 UTC (rev 2865) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ Modified: branches/Cog/spursrc/vm/gcc3x-cointerp.c =================================================================== --- branches/Cog/spursrc/vm/gcc3x-cointerp.c 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/spursrc/vm/gcc3x-cointerp.c 2014-02-01 01:04:05 UTC (rev 2865) @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 from - CoInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 + CoInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ -static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 " __DATE__ ; +static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -2172,7 +2172,7 @@ /* 575 */ (void (*)(void))0, 0 }; usqInt heapBase; -const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.597]"; +const char *interpreterVersion = "Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.600]"; sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 10 */; volatile int sendTrace; @@ -6392,6 +6392,7 @@ /* begin internalPush: */ longAtPointerput((localSP -= BytesPerOop), longAt((rcvr1 + (BaseHeaderSize)) + (byte3 << 2))); } + null; goto l4; } if (opType == 3) { @@ -6401,6 +6402,7 @@ assert(GIV(method) == (iframeMethod(localFP))); object = longAt((GIV(method) + (BaseHeaderSize)) + ((byte3 + LiteralStart) << 2)); longAtPointerput((localSP -= BytesPerOop), object); + null; goto l4; } if (opType == 4) { @@ -6428,6 +6430,7 @@ /* begin internalPush: */ longAtPointerput((localSP -= BytesPerOop), longAt((litVar1 + (BaseHeaderSize)) + (ValueIndex << 2))); + null; goto l4; } top = longAtPointer(localSP); @@ -54460,6 +54463,10 @@ if (firstTime) { mapInterpreterOops(); /* begin mapExtraRoots */ + if ((((longAt(GIV(specialObjectsOop))) & 0x3FFFFF) == 8) + || (isReallyYoungObject(GIV(specialObjectsOop)))) { + GIV(specialObjectsOop) = remapObj(GIV(specialObjectsOop)); + } assert(GIV(remapBufferCount) == 0); for (i = 1; i <= GIV(extraRootCount); i += 1) { oop = (GIV(extraRoots)[i])[0]; @@ -54890,6 +54897,7 @@ sqInt object6; sqInt object7; sqInt object8; + sqInt object9; sqInt rcvr; char *sp; char *sp1; @@ -54933,7 +54941,8 @@ (vmCallbackContext->savedCFramePointer = getCFramePointer()); memcpy(((void *)((vmCallbackContext->savedReenterInterpreter))), reenterInterpreter, sizeof(jmp_buf)); /* begin push: */ - longAtput((sp8 = GIV(stackPointer) - BytesPerWord), longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2))); + object8 = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2)); + longAtput((sp8 = GIV(stackPointer) - BytesPerWord), object8); GIV(stackPointer) = sp8; # if BytesPerWord == 8 @@ -55046,8 +55055,8 @@ longAtput((sp31 = GIV(stackPointer) - BytesPerWord), GIV(nilObj)); GIV(stackPointer) = sp31; /* begin push: */ - object8 = ((1 + (numArgs << 8)) + (0)) + (0); - longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object8); + object9 = ((1 + (numArgs << 8)) + (0)) + (0); + longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object9); GIV(stackPointer) = sp41; /* begin push: */ longAtput((sp51 = GIV(stackPointer) - BytesPerWord), 0); @@ -55139,6 +55148,7 @@ sqInt object2; sqInt object3; sqInt object4; + sqInt object5; sqInt rcvr; char *sp; char *sp1; @@ -55176,23 +55186,24 @@ return 0; } /* begin push: */ - longAtput((sp = GIV(stackPointer) - BytesPerWord), longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2))); + object = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2)); + longAtput((sp = GIV(stackPointer) - BytesPerWord), object); GIV(stackPointer) = sp; /* begin push: */ - object = positive32BitIntegerFor(thunkPtr); - longAtput((sp1 = GIV(stackPointer) - BytesPerWord), object); + object1 = positive32BitIntegerFor(thunkPtr); + longAtput((sp1 = GIV(stackPointer) - BytesPerWord), object1); GIV(stackPointer) = sp1; /* begin push: */ - object1 = positive32BitIntegerFor(stackPtr); - longAtput((sp2 = GIV(stackPointer) - BytesPerWord), object1); + object2 = positive32BitIntegerFor(stackPtr); + longAtput((sp2 = GIV(stackPointer) - BytesPerWord), object2); GIV(stackPointer) = sp2; /* begin push: */ - object2 = positive32BitIntegerFor(regsPtr); - longAtput((sp3 = GIV(stackPointer) - BytesPerWord), object2); + object3 = positive32BitIntegerFor(regsPtr); + longAtput((sp3 = GIV(stackPointer) - BytesPerWord), object3); GIV(stackPointer) = sp3; /* begin push: */ - object3 = positive32BitIntegerFor(jmpBufPtr); - longAtput((sp4 = GIV(stackPointer) - BytesPerWord), object3); + object4 = positive32BitIntegerFor(jmpBufPtr); + longAtput((sp4 = GIV(stackPointer) - BytesPerWord), object4); GIV(stackPointer) = sp4; /* begin ifAppropriateCompileToNativeCode:selector: */ methodHeader = longAt((GIV(newMethod) + (BaseHeaderSize)) + (HeaderIndex << 2)); @@ -55262,8 +55273,8 @@ longAtput((sp31 = GIV(stackPointer) - BytesPerWord), GIV(nilObj)); GIV(stackPointer) = sp31; /* begin push: */ - object4 = ((1 + (numArgs << 8)) + (0)) + (0); - longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object4); + object5 = ((1 + (numArgs << 8)) + (0)) + (0); + longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object5); GIV(stackPointer) = sp41; /* begin push: */ longAtput((sp5 = GIV(stackPointer) - BytesPerWord), 0); @@ -58115,9 +58126,9 @@ transferTofrom(sqInt newProc, sqInt sourceCode) { DECL_MAYBE_SQ_GLOBAL_STRUCT sqInt activeContext; + sqInt aProcess; sqInt index; StackPage *lastUsedPage; - usqInt lip; StackPage *lruOrFree; sqInt newContext; StackPage *newPage; @@ -58131,10 +58142,11 @@ sqInt value; /* begin recordContextSwitchFrom:in: */ + aProcess = longAt(((longAt(((longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (SchedulerAssociation << 2))) + (BaseHeaderSize)) + (ValueIndex << 2))) + (BaseHeaderSize)) + (ActiveProcessIndex << 2)); if (recordEventTrace()) { /* begin recordTrace:thing:source: */ GIV(traceLog)[GIV(traceLogIndex)] = TraceContextSwitch; - GIV(traceLog)[GIV(traceLogIndex) + 1] = (longAt(((longAt(((longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (SchedulerAssociation << 2))) + (BaseHeaderSize)) + (ValueIndex << 2))) + (BaseHeaderSize)) + (ActiveProcessIndex << 2))); + GIV(traceLog)[GIV(traceLogIndex) + 1] = aProcess; GIV(traceLog)[GIV(traceLogIndex) + 2] = sourceCode; GIV(traceLogIndex) = (GIV(traceLogIndex) + 3) % TraceBufferSize; } @@ -58291,8 +58303,7 @@ GIV(stackPointer) += BytesPerWord; GIV(instructionPointer) = ((sqInt) top); /* begin assertValidExecutionPointe:r:s: */ - lip = GIV(instructionPointer) + 1; - assertValidExecutionPointersimbarline(lip, GIV(framePointer), GIV(stackPointer), !((((usqInt)(longAt(GIV(framePointer) + FoxMethod)))) < (startOfMemory())), __LINE__); + assertValidExecutionPointersimbarline(GIV(instructionPointer), GIV(framePointer), GIV(stackPointer), !((((usqInt)(longAt(GIV(framePointer) + FoxMethod)))) < (startOfMemory())), __LINE__); } sqInt Modified: branches/Cog/spursrc/vm/interp.h =================================================================== --- branches/Cog/spursrc/vm/interp.h 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/spursrc/vm/interp.h 2014-02-01 01:04:05 UTC (rev 2865) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ #define VM_PROXY_MAJOR 1 Modified: branches/Cog/spursrc/vm/vmCallback.h =================================================================== --- branches/Cog/spursrc/vm/vmCallback.h 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/spursrc/vm/vmCallback.h 2014-02-01 01:04:05 UTC (rev 2865) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ #define VM_CALLBACK_INC 1 Modified: branches/Cog/spurstacksrc/vm/gcc3x-interp.c =================================================================== --- branches/Cog/spurstacksrc/vm/gcc3x-interp.c 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/spurstacksrc/vm/gcc3x-interp.c 2014-02-01 01:04:05 UTC (rev 2865) @@ -2,11 +2,11 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 from - StackInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 + StackInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -1962,7 +1962,7 @@ 0 }; char * breakSelector; sqInt breakSelectorLength = -1; -const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.597]"; +const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.600]"; volatile int sendTrace; sqInt suppressHeartbeatFlag; @@ -48079,6 +48079,10 @@ if (firstTime) { mapInterpreterOops(); /* begin mapExtraRoots */ + if ((((longAt(GIV(specialObjectsOop))) & 0x3FFFFF) == 8) + || (isYoungObject(GIV(specialObjectsOop)))) { + GIV(specialObjectsOop) = remapObj(GIV(specialObjectsOop)); + } assert(GIV(remapBufferCount) == 0); for (i = 1; i <= GIV(extraRootCount); i += 1) { oop = (GIV(extraRoots)[i])[0]; @@ -48481,6 +48485,7 @@ sqInt object6; sqInt object7; sqInt object8; + sqInt object9; sqInt rcvr; char *sp; char *sp1; @@ -48512,7 +48517,8 @@ } /* begin saveCStackStateForCallbackContext: */ /* begin push: */ - longAtput((sp8 = GIV(stackPointer) - BytesPerWord), longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2))); + object8 = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2)); + longAtput((sp8 = GIV(stackPointer) - BytesPerWord), object8); GIV(stackPointer) = sp8; # if BytesPerWord == 8 @@ -48582,8 +48588,8 @@ assert((headerOf(GIV(method))) == methodHeader); /* begin push: */ - object8 = ((1 + (numArgs << 8)) + (0)) + (0); - longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object8); + object9 = ((1 + (numArgs << 8)) + (0)) + (0); + longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object9); GIV(stackPointer) = sp41; /* begin push: */ longAtput((sp51 = GIV(stackPointer) - BytesPerWord), GIV(nilObj)); @@ -48661,6 +48667,7 @@ sqInt object2; sqInt object3; sqInt object4; + sqInt object5; sqInt rcvr; char *sp; char *sp1; @@ -48689,23 +48696,24 @@ return 0; } /* begin push: */ - longAtput((sp = GIV(stackPointer) - BytesPerWord), longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2))); + object = longAt((GIV(specialObjectsOop) + (BaseHeaderSize)) + (ClassAlien << 2)); + longAtput((sp = GIV(stackPointer) - BytesPerWord), object); GIV(stackPointer) = sp; /* begin push: */ - object = positive32BitIntegerFor(thunkPtr); - longAtput((sp1 = GIV(stackPointer) - BytesPerWord), object); + object1 = positive32BitIntegerFor(thunkPtr); + longAtput((sp1 = GIV(stackPointer) - BytesPerWord), object1); GIV(stackPointer) = sp1; /* begin push: */ - object1 = positive32BitIntegerFor(stackPtr); - longAtput((sp2 = GIV(stackPointer) - BytesPerWord), object1); + object2 = positive32BitIntegerFor(stackPtr); + longAtput((sp2 = GIV(stackPointer) - BytesPerWord), object2); GIV(stackPointer) = sp2; /* begin push: */ - object2 = positive32BitIntegerFor(regsPtr); - longAtput((sp3 = GIV(stackPointer) - BytesPerWord), object2); + object3 = positive32BitIntegerFor(regsPtr); + longAtput((sp3 = GIV(stackPointer) - BytesPerWord), object3); GIV(stackPointer) = sp3; /* begin push: */ - object3 = positive32BitIntegerFor(jmpBufPtr); - longAtput((sp4 = GIV(stackPointer) - BytesPerWord), object3); + object4 = positive32BitIntegerFor(jmpBufPtr); + longAtput((sp4 = GIV(stackPointer) - BytesPerWord), object4); GIV(stackPointer) = sp4; /* begin ifAppropriateCompileToNativeCode:selector: */ /* begin justActivateNewMethod */ @@ -48732,8 +48740,8 @@ assert((headerOf(GIV(method))) == methodHeader); /* begin push: */ - object4 = ((1 + (numArgs << 8)) + (0)) + (0); - longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object4); + object5 = ((1 + (numArgs << 8)) + (0)) + (0); + longAtput((sp41 = GIV(stackPointer) - BytesPerWord), object5); GIV(stackPointer) = sp41; /* begin push: */ longAtput((sp5 = GIV(stackPointer) - BytesPerWord), GIV(nilObj)); @@ -51426,7 +51434,7 @@ GIV(stackPointer) += BytesPerWord; GIV(instructionPointer) = ((sqInt) top); /* begin assertValidExecutionPointe:r:s: */ - assertValidExecutionPointersimbarline(GIV(instructionPointer) + 1, GIV(framePointer), GIV(stackPointer), !0, __LINE__); + assertValidExecutionPointersimbarline(GIV(instructionPointer), GIV(framePointer), GIV(stackPointer), !0, __LINE__); } sqInt Modified: branches/Cog/spurstacksrc/vm/interp.c =================================================================== --- branches/Cog/spurstacksrc/vm/interp.c 2014-01-31 18:41:22 UTC (rev 2864) +++ branches/Cog/spurstacksrc/vm/interp.c 2014-02-01 01:04:05 UTC (rev 2865) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGeneratorGlobalStructure VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 + CCodeGeneratorGlobalStructure VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 from - StackInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 + StackInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 */ -static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.597 uuid: c9a71dd4-c394-4a8f-aa4d-a6d4dc3ff220 " __DATE__ ; +static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.600 uuid: 48f5953c-233c-4026-96a0-ffef9cea1c72 " __DATE__ ; char *__interpBuildInfo = __buildInfo; @@ -1959,7 +1959,7 @@ 0 }; char * breakSelector; sqInt breakSelectorLength = -1; -const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.597]"; +const char *interpreterVersion = "Croquet Closure Stack VM [StackInterpreter VMMaker.oscog-eem.600]"; volatile int sendTrace; sqInt suppressHeartbeatFlag; @@ -48070,6 +48070,10 @@ if (firstTime) { mapInterpreterOops(); /* begin mapExtraRoots */ + if ((((longAt(GIV(specialObjectsOop))) & 0x3FFFFF) == 8) + || (isYoungObject(GIV(specialObjectsOop)))) { + GIV(specialObjectsOop) = remapObj(GIV(specialObjectsOop)); + } assert(GIV(remapBufferCount) == 0); for (i = 1; i <= GIV(extraRootCount); i += 1) { @@ Diff output truncated at 50000 characters. @@ |
Free forum by Nabble | Edit this page |