[Vm-dev] [commit][3282] CogVM source as per VMMaker.oscog-eem.1096
commits at squeakvm.org
commits at squeakvm.org
Wed Mar 18 01:46:21 UTC 2015
Revision: 3282
Author: eliot
Date: 2015-03-17 18:46:21 -0700 (Tue, 17 Mar 2015)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.1096
Fix regression in generateObjectRepresentationTrampolines.
Of /course/ ceScheduleScavengeTrampoline needs to be a safe trampoline.
Modified Paths:
--------------
branches/Cog/nsspursrc/vm/cogit.c
branches/Cog/nsspursrc/vm/cogit.h
branches/Cog/spursistasrc/vm/cogit.c
branches/Cog/spursistasrc/vm/cogit.h
branches/Cog/spursrc/vm/cogit.c
branches/Cog/spursrc/vm/cogit.h
Property Changed:
----------------
branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
Modified: branches/Cog/nsspursrc/vm/cogit.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogit.c 2015-03-18 01:13:54 UTC (rev 3281)
+++ branches/Cog/nsspursrc/vm/cogit.c 2015-03-18 01:46:21 UTC (rev 3282)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1095 uuid: 87e54293-385c-427c-8c96-3d8b934aa808
+ CCodeGenerator VMMaker.oscog-eem.1096 uuid: a138f73f-adc5-4a10-af7b-b1a8276295dd
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1095 uuid: 87e54293-385c-427c-8c96-3d8b934aa808
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1096 uuid: a138f73f-adc5-4a10-af7b-b1a8276295dd
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1095 uuid: 87e54293-385c-427c-8c96-3d8b934aa808 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1096 uuid: a138f73f-adc5-4a10-af7b-b1a8276295dd " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -666,6 +666,7 @@
static sqInt genInnerPICAbortTrampoline(char *name) NoDbgRegParms;
static sqInt genLoadCStackPointersForPrimCall(void);
static sqInt genNonLocalReturnTrampoline(void);
+static sqInt genSafeTrampolineForcalled(void *aRoutine, char *aString) NoDbgRegParms;
static sqInt genSafeTrampolineForcalledarg(void *aRoutine, char *aString, sqInt regOrConst0) NoDbgRegParms;
static sqInt genSafeTrampolineForcalledargarg(void *aRoutine, char *aString, sqInt regOrConst0, sqInt regOrConst1) NoDbgRegParms;
static sqInt genSmalltalkToCStackSwitch(void);
@@ -11452,6 +11453,16 @@
}
+/* Generate a trampoline with no arguments that will
+ save and restore all registers around the call */
+
+static sqInt
+genSafeTrampolineForcalled(void *aRoutine, char *aString)
+{
+ return genTrampolineForcallednumArgsargargargargsaveRegspushLinkRegresultRegappendOpcodes(aRoutine, aString, 0, null, null, null, null, 1, 1, null, 0);
+}
+
+
/* Generate a trampoline with one argument that will
save and restore all registers around the call */
@@ -17667,7 +17678,7 @@
generateObjectRepresentationTrampolines(void)
{
ceStoreCheckTrampoline = genTrampolineForcalledargresult(remember, "ceStoreCheckTrampoline", ReceiverResultReg, returnRegForStoreCheck());
- ceScheduleScavengeTrampoline = genTrampolineForcalled(ceScheduleScavenge, "ceScheduleScavengeTrampoline");
+ ceScheduleScavengeTrampoline = genSafeTrampolineForcalled(ceScheduleScavenge, "ceScheduleScavengeTrampoline");
ceSmallActiveContextInMethodTrampoline = genActiveContextTrampolineLargeinBlockcalled(0, 0, "ceSmallMethodContext");
ceSmallActiveContextInBlockTrampoline = genActiveContextTrampolineLargeinBlockcalled(0, 1, "ceSmallBlockContext");
ceLargeActiveContextInMethodTrampoline = genActiveContextTrampolineLargeinBlockcalled(1, 0, "ceLargeMethodContext");
Modified: branches/Cog/nsspursrc/vm/cogit.h
===================================================================
--- branches/Cog/nsspursrc/vm/cogit.h 2015-03-18 01:13:54 UTC (rev 3281)
+++ branches/Cog/nsspursrc/vm/cogit.h 2015-03-18 01:46:21 UTC (rev 3282)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1095 uuid: 87e54293-385c-427c-8c96-3d8b934aa808
+ CCodeGenerator VMMaker.oscog-eem.1096 uuid: a138f73f-adc5-4a10-af7b-b1a8276295dd
*/
Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
- Tue Mar 17 18:10:28 PDT 2015
+ Tue Mar 17 18:46:40 PDT 2015
Modified: branches/Cog/spursistasrc/vm/cogit.c
===================================================================
--- branches/Cog/spursistasrc/vm/cogit.c 2015-03-18 01:13:54 UTC (rev 3281)
+++ branches/Cog/spursistasrc/vm/cogit.c 2015-03-18 01:46:21 UTC (rev 3282)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1095 uuid: 87e54293-385c-427c-8c96-3d8b934aa808
+ CCodeGenerator VMMaker.oscog-eem.1096 uuid: a138f73f-adc5-4a10-af7b-b1a8276295dd
from
- SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1095 uuid: 87e54293-385c-427c-8c96-3d8b934aa808
+ SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1096 uuid: a138f73f-adc5-4a10-af7b-b1a8276295dd
*/
-static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1095 uuid: 87e54293-385c-427c-8c96-3d8b934aa808 " __DATE__ ;
+static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1096 uuid: a138f73f-adc5-4a10-af7b-b1a8276295dd " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -663,6 +663,7 @@
static sqInt genInnerPICAbortTrampoline(char *name) NoDbgRegParms;
static sqInt genLoadCStackPointersForPrimCall(void);
static sqInt genNonLocalReturnTrampoline(void);
+static sqInt genSafeTrampolineForcalled(void *aRoutine, char *aString) NoDbgRegParms;
static sqInt genSafeTrampolineForcalledarg(void *aRoutine, char *aString, sqInt regOrConst0) NoDbgRegParms;
static sqInt genSafeTrampolineForcalledargarg(void *aRoutine, char *aString, sqInt regOrConst0, sqInt regOrConst1) NoDbgRegParms;
static sqInt genSmalltalkToCStackSwitch(void);
@@ -11207,6 +11208,16 @@
}
+/* Generate a trampoline with no arguments that will
+ save and restore all registers around the call */
+
+static sqInt
+genSafeTrampolineForcalled(void *aRoutine, char *aString)
+{
+ return genTrampolineForcallednumArgsargargargargsaveRegspushLinkRegresultRegappendOpcodes(aRoutine, aString, 0, null, null, null, null, 1, 1, null, 0);
+}
+
+
/* Generate a trampoline with one argument that will
save and restore all registers around the call */
@@ -16974,7 +16985,7 @@
generateObjectRepresentationTrampolines(void)
{
ceStoreCheckTrampoline = genTrampolineForcalledargresult(remember, "ceStoreCheckTrampoline", ReceiverResultReg, returnRegForStoreCheck());
- ceScheduleScavengeTrampoline = genTrampolineForcalled(ceScheduleScavenge, "ceScheduleScavengeTrampoline");
+ ceScheduleScavengeTrampoline = genSafeTrampolineForcalled(ceScheduleScavenge, "ceScheduleScavengeTrampoline");
ceSmallActiveContextInMethodTrampoline = genActiveContextTrampolineLargeinBlockcalled(0, 0, "ceSmallMethodContext");
ceSmallActiveContextInBlockTrampoline = genActiveContextTrampolineLargeinBlockcalled(0, 1, "ceSmallBlockContext");
ceLargeActiveContextInMethodTrampoline = genActiveContextTrampolineLargeinBlockcalled(1, 0, "ceLargeMethodContext");
@@ -24952,7 +24963,7 @@
{
sqInt i;
sqInt lastPreferred;
- sqInt liveRegs;
+ usqInt liveRegs;
sqInt preferredMask;
sqInt reg;
Modified: branches/Cog/spursistasrc/vm/cogit.h
===================================================================
--- branches/Cog/spursistasrc/vm/cogit.h 2015-03-18 01:13:54 UTC (rev 3281)
+++ branches/Cog/spursistasrc/vm/cogit.h 2015-03-18 01:46:21 UTC (rev 3282)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1095 uuid: 87e54293-385c-427c-8c96-3d8b934aa808
+ CCodeGenerator VMMaker.oscog-eem.1096 uuid: a138f73f-adc5-4a10-af7b-b1a8276295dd
*/
Modified: branches/Cog/spursrc/vm/cogit.c
===================================================================
--- branches/Cog/spursrc/vm/cogit.c 2015-03-18 01:13:54 UTC (rev 3281)
+++ branches/Cog/spursrc/vm/cogit.c 2015-03-18 01:46:21 UTC (rev 3282)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1095 uuid: 87e54293-385c-427c-8c96-3d8b934aa808
+ CCodeGenerator VMMaker.oscog-eem.1096 uuid: a138f73f-adc5-4a10-af7b-b1a8276295dd
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.1095 uuid: 87e54293-385c-427c-8c96-3d8b934aa808
+ StackToRegisterMappingCogit VMMaker.oscog-eem.1096 uuid: a138f73f-adc5-4a10-af7b-b1a8276295dd
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1095 uuid: 87e54293-385c-427c-8c96-3d8b934aa808 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1096 uuid: a138f73f-adc5-4a10-af7b-b1a8276295dd " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -660,6 +660,7 @@
static sqInt genInnerPICAbortTrampoline(char *name) NoDbgRegParms;
static sqInt genLoadCStackPointersForPrimCall(void);
static sqInt genNonLocalReturnTrampoline(void);
+static sqInt genSafeTrampolineForcalled(void *aRoutine, char *aString) NoDbgRegParms;
static sqInt genSafeTrampolineForcalledarg(void *aRoutine, char *aString, sqInt regOrConst0) NoDbgRegParms;
static sqInt genSafeTrampolineForcalledargarg(void *aRoutine, char *aString, sqInt regOrConst0, sqInt regOrConst1) NoDbgRegParms;
static sqInt genSmalltalkToCStackSwitch(void);
@@ -10932,6 +10933,16 @@
}
+/* Generate a trampoline with no arguments that will
+ save and restore all registers around the call */
+
+static sqInt
+genSafeTrampolineForcalled(void *aRoutine, char *aString)
+{
+ return genTrampolineForcallednumArgsargargargargsaveRegspushLinkRegresultRegappendOpcodes(aRoutine, aString, 0, null, null, null, null, 1, 1, null, 0);
+}
+
+
/* Generate a trampoline with one argument that will
save and restore all registers around the call */
@@ -16453,7 +16464,7 @@
generateObjectRepresentationTrampolines(void)
{
ceStoreCheckTrampoline = genTrampolineForcalledargresult(remember, "ceStoreCheckTrampoline", ReceiverResultReg, returnRegForStoreCheck());
- ceScheduleScavengeTrampoline = genTrampolineForcalled(ceScheduleScavenge, "ceScheduleScavengeTrampoline");
+ ceScheduleScavengeTrampoline = genSafeTrampolineForcalled(ceScheduleScavenge, "ceScheduleScavengeTrampoline");
ceSmallActiveContextInMethodTrampoline = genActiveContextTrampolineLargeinBlockcalled(0, 0, "ceSmallMethodContext");
ceSmallActiveContextInBlockTrampoline = genActiveContextTrampolineLargeinBlockcalled(0, 1, "ceSmallBlockContext");
ceLargeActiveContextInMethodTrampoline = genActiveContextTrampolineLargeinBlockcalled(1, 0, "ceLargeMethodContext");
Modified: branches/Cog/spursrc/vm/cogit.h
===================================================================
--- branches/Cog/spursrc/vm/cogit.h 2015-03-18 01:13:54 UTC (rev 3281)
+++ branches/Cog/spursrc/vm/cogit.h 2015-03-18 01:46:21 UTC (rev 3282)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.1095 uuid: 87e54293-385c-427c-8c96-3d8b934aa808
+ CCodeGenerator VMMaker.oscog-eem.1096 uuid: a138f73f-adc5-4a10-af7b-b1a8276295dd
*/
More information about the Vm-dev
mailing list