[Vm-dev] [commit] r2494 - CogVM source as per
VMMaker.oscog-eem.126. Fix cPICEndSize mis-computation
commits at squeakvm.org
commits at squeakvm.org
Fri Sep 23 01:24:09 UTC 2011
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 {
More information about the Vm-dev
mailing list