Author: eliot Date: 2011-09-22 18:24:09 -0700 (Thu, 22 Sep 2011) New Revision: 2494
Modified: branches/Cog/nscogsrc/vm/cogit.c branches/Cog/nscogsrc/vm/cogit.h branches/Cog/nscogsrc/vm/cogmethod.h branches/Cog/platforms/Cross/vm/sqSCCSVersion.h branches/Cog/scripts/uploadvms branches/Cog/src/vm/cogit.c branches/Cog/src/vm/cogit.h branches/Cog/src/vm/cogmethod.h Log: CogVM source as per VMMaker.oscog-eem.126. Fix cPICEndSize mis-computation caused by using rounded-up closedPICSize. Compute cPICEndSize and /then/ round-up closedPICSize.
Modified: branches/Cog/nscogsrc/vm/cogit.c =================================================================== --- branches/Cog/nscogsrc/vm/cogit.c 2011-09-21 23:10:54 UTC (rev 2493) +++ branches/Cog/nscogsrc/vm/cogit.c 2011-09-23 01:24:09 UTC (rev 2494) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.125 uuid: 539c10db-ab19-4fc7-ada1-4ffae6463ed1 + CCodeGenerator VMMaker.oscog-eem.126 uuid: 6af3249f-6c5c-4e1b-8a69-f59e542154c5 from - StackToRegisterMappingCogit VMMaker.oscog-eem.125 uuid: 539c10db-ab19-4fc7-ada1-4ffae6463ed1 + StackToRegisterMappingCogit VMMaker.oscog-eem.126 uuid: 6af3249f-6c5c-4e1b-8a69-f59e542154c5 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.125 uuid: 539c10db-ab19-4fc7-ada1-4ffae6463ed1 " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.126 uuid: 6af3249f-6c5c-4e1b-8a69-f59e542154c5 " __DATE__ ; char *__cogitBuildInfo = __buildInfo;
@@ -8377,9 +8377,10 @@ compileClosedPICPrototype(); computeMaximumSizes(); headerSize = sizeof(CogMethod); - closedPICSize = roundUpLength(headerSize + (generateInstructionsAt(methodZoneBase + headerSize))); + closedPICSize = headerSize + (generateInstructionsAt(methodZoneBase + headerSize)); firstCPICCaseOffset = ((endCPICCase0->address)) - methodZoneBase; cPICCaseSize = ((endCPICCase1->address)) - ((endCPICCase0->address)); + cPICEndSize = closedPICSize - (((numPICCases - 1) * cPICCaseSize) + firstCPICCaseOffset);
/* self cCode: '' inSmalltalk: @@ -8388,7 +8389,7 @@ self disassembleFrom: methodZoneBase + headerSize to: end - 1. self halt] */
- cPICEndSize = closedPICSize - (((numPICCases - 1) * cPICCaseSize) + firstCPICCaseOffset); + closedPICSize = roundUpLength(closedPICSize); }
@@ -15474,10 +15475,10 @@ byteAtput(retpc - 3, (((usqInt) distance) >> 8) & 255); byteAtput(retpc - 4, distance & 255); if (0) { - assert((callTargetFromReturnAddress(self_in_relocateCallBeforeReturnPCby, retpc)) >= (minCallAddress())); + assert((((usqInt) (callTargetFromReturnAddress(self_in_relocateCallBeforeReturnPCby, retpc)))) >= (minCallAddress())); } else { - if (!((callTargetFromReturnAddress(self_in_relocateCallBeforeReturnPCby, retpc)) >= (minCallAddress()))) { + if (!((((usqInt) (callTargetFromReturnAddress(self_in_relocateCallBeforeReturnPCby, retpc)))) >= (minCallAddress()))) { error("relocating call to invalid address"); } } @@ -15899,7 +15900,7 @@ byteAtput(callSiteReturnAddress - 2, (((usqInt) callDistance) >> 16) & 255); byteAtput(callSiteReturnAddress - 3, (((usqInt) callDistance) >> 8) & 255); byteAtput(callSiteReturnAddress - 4, callDistance & 255); - assert((callTargetFromReturnAddress(self_in_rewriteCallAttarget, callSiteReturnAddress)) == callTargetAddress); + assert((((usqInt) (callTargetFromReturnAddress(self_in_rewriteCallAttarget, callSiteReturnAddress)))) == callTargetAddress); return 5; }
@@ -15935,7 +15936,7 @@ byteAtput(callSiteReturnAddress - 7, (((usqInt) cacheTag) >> 16) & 255); byteAtput(callSiteReturnAddress - 8, (((usqInt) cacheTag) >> 8) & 255); byteAtput(callSiteReturnAddress - 9, cacheTag & 255); - assert((callTargetFromReturnAddress(self_in_rewriteInlineCacheAttagtarget, callSiteReturnAddress)) == callTargetAddress); + assert((((usqInt) (callTargetFromReturnAddress(self_in_rewriteInlineCacheAttagtarget, callSiteReturnAddress)))) == callTargetAddress); return 10; }
Modified: branches/Cog/nscogsrc/vm/cogit.h =================================================================== --- branches/Cog/nscogsrc/vm/cogit.h 2011-09-21 23:10:54 UTC (rev 2493) +++ branches/Cog/nscogsrc/vm/cogit.h 2011-09-23 01:24:09 UTC (rev 2494) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.125 uuid: 539c10db-ab19-4fc7-ada1-4ffae6463ed1 + CCodeGenerator VMMaker.oscog-eem.126 uuid: 6af3249f-6c5c-4e1b-8a69-f59e542154c5 */
Modified: branches/Cog/nscogsrc/vm/cogmethod.h =================================================================== --- branches/Cog/nscogsrc/vm/cogmethod.h 2011-09-21 23:10:54 UTC (rev 2493) +++ branches/Cog/nscogsrc/vm/cogmethod.h 2011-09-23 01:24:09 UTC (rev 2494) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.125 uuid: 539c10db-ab19-4fc7-ada1-4ffae6463ed1 + CCodeGenerator VMMaker.oscog-eem.126 uuid: 6af3249f-6c5c-4e1b-8a69-f59e542154c5 */
typedef struct {
Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h ___________________________________________________________________ Modified: checkindate - Wed Sep 21 16:09:47 PDT 2011 + Thu Sep 22 18:21:48 PDT 2011
Modified: branches/Cog/scripts/uploadvms =================================================================== --- branches/Cog/scripts/uploadvms 2011-09-21 23:10:54 UTC (rev 2493) +++ branches/Cog/scripts/uploadvms 2011-09-23 01:24:09 UTC (rev 2494) @@ -25,7 +25,7 @@ -l) ARCHIVES="$ARCHIVES coglinux.tgz nsvmlinux.tgz";; -m) ARCHIVES="$ARCHIVES Cog.app.tgz Newspeak Virtual Machine.app.tgz";; -w) ARCHIVES="$ARCHIVES cogwin.tgz nsvmwin.tgz";; - -?|-h) echo usage: $0 [-l -m -w -cl -cm -cw -nl -nm -nw]; exit 0 + -?|-h) echo usage: $0 [-l -m -w -cl -cm -cw -ctl -ctm -ctw -nl -nm -nw]; exit 0 esac shift done
Modified: branches/Cog/src/vm/cogit.c =================================================================== --- branches/Cog/src/vm/cogit.c 2011-09-21 23:10:54 UTC (rev 2493) +++ branches/Cog/src/vm/cogit.c 2011-09-23 01:24:09 UTC (rev 2494) @@ -1,9 +1,9 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.125 uuid: 539c10db-ab19-4fc7-ada1-4ffae6463ed1 + CCodeGenerator VMMaker.oscog-eem.126 uuid: 6af3249f-6c5c-4e1b-8a69-f59e542154c5 from - StackToRegisterMappingCogit VMMaker.oscog-eem.125 uuid: 539c10db-ab19-4fc7-ada1-4ffae6463ed1 + StackToRegisterMappingCogit VMMaker.oscog-eem.126 uuid: 6af3249f-6c5c-4e1b-8a69-f59e542154c5 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.125 uuid: 539c10db-ab19-4fc7-ada1-4ffae6463ed1 " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.126 uuid: 6af3249f-6c5c-4e1b-8a69-f59e542154c5 " __DATE__ ; char *__cogitBuildInfo = __buildInfo;
@@ -8288,9 +8288,10 @@ compileClosedPICPrototype(); computeMaximumSizes(); headerSize = sizeof(CogMethod); - closedPICSize = roundUpLength(headerSize + (generateInstructionsAt(methodZoneBase + headerSize))); + closedPICSize = headerSize + (generateInstructionsAt(methodZoneBase + headerSize)); firstCPICCaseOffset = ((endCPICCase0->address)) - methodZoneBase; cPICCaseSize = ((endCPICCase1->address)) - ((endCPICCase0->address)); + cPICEndSize = closedPICSize - (((numPICCases - 1) * cPICCaseSize) + firstCPICCaseOffset);
/* self cCode: '' inSmalltalk: @@ -8299,7 +8300,7 @@ self disassembleFrom: methodZoneBase + headerSize to: end - 1. self halt] */
- cPICEndSize = closedPICSize - (((numPICCases - 1) * cPICCaseSize) + firstCPICCaseOffset); + closedPICSize = roundUpLength(closedPICSize); }
@@ -15083,10 +15084,10 @@ byteAtput(retpc - 3, (((usqInt) distance) >> 8) & 255); byteAtput(retpc - 4, distance & 255); if (0) { - assert((callTargetFromReturnAddress(self_in_relocateCallBeforeReturnPCby, retpc)) >= (minCallAddress())); + assert((((usqInt) (callTargetFromReturnAddress(self_in_relocateCallBeforeReturnPCby, retpc)))) >= (minCallAddress())); } else { - if (!((callTargetFromReturnAddress(self_in_relocateCallBeforeReturnPCby, retpc)) >= (minCallAddress()))) { + if (!((((usqInt) (callTargetFromReturnAddress(self_in_relocateCallBeforeReturnPCby, retpc)))) >= (minCallAddress()))) { error("relocating call to invalid address"); } } @@ -15420,7 +15421,7 @@ byteAtput(callSiteReturnAddress - 2, (((usqInt) callDistance) >> 16) & 255); byteAtput(callSiteReturnAddress - 3, (((usqInt) callDistance) >> 8) & 255); byteAtput(callSiteReturnAddress - 4, callDistance & 255); - assert((callTargetFromReturnAddress(self_in_rewriteCallAttarget, callSiteReturnAddress)) == callTargetAddress); + assert((((usqInt) (callTargetFromReturnAddress(self_in_rewriteCallAttarget, callSiteReturnAddress)))) == callTargetAddress); return 5; }
@@ -15456,7 +15457,7 @@ byteAtput(callSiteReturnAddress - 7, (((usqInt) cacheTag) >> 16) & 255); byteAtput(callSiteReturnAddress - 8, (((usqInt) cacheTag) >> 8) & 255); byteAtput(callSiteReturnAddress - 9, cacheTag & 255); - assert((callTargetFromReturnAddress(self_in_rewriteInlineCacheAttagtarget, callSiteReturnAddress)) == callTargetAddress); + assert((((usqInt) (callTargetFromReturnAddress(self_in_rewriteInlineCacheAttagtarget, callSiteReturnAddress)))) == callTargetAddress); return 10; }
Modified: branches/Cog/src/vm/cogit.h =================================================================== --- branches/Cog/src/vm/cogit.h 2011-09-21 23:10:54 UTC (rev 2493) +++ branches/Cog/src/vm/cogit.h 2011-09-23 01:24:09 UTC (rev 2494) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.125 uuid: 539c10db-ab19-4fc7-ada1-4ffae6463ed1 + CCodeGenerator VMMaker.oscog-eem.126 uuid: 6af3249f-6c5c-4e1b-8a69-f59e542154c5 */
Modified: branches/Cog/src/vm/cogmethod.h =================================================================== --- branches/Cog/src/vm/cogmethod.h 2011-09-21 23:10:54 UTC (rev 2493) +++ branches/Cog/src/vm/cogmethod.h 2011-09-23 01:24:09 UTC (rev 2494) @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.125 uuid: 539c10db-ab19-4fc7-ada1-4ffae6463ed1 + CCodeGenerator VMMaker.oscog-eem.126 uuid: 6af3249f-6c5c-4e1b-8a69-f59e542154c5 */
typedef struct {
vm-dev@lists.squeakfoundation.org