[Vm-dev] [commit][2772] CogVM source as per VMMaker.oscog-eem.322
commits at squeakvm.org
commits at squeakvm.org
Thu Aug 15 18:55:14 UTC 2013
Revision: 2772
Author: eliot
Date: 2013-08-15 11:55:10 -0700 (Thu, 15 Aug 2013)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.322
Tweak frameless inst var store to avoid a register copy from Arg0Reg.
Modified Paths:
--------------
branches/Cog/nscogsrc/vm/cogit.c
branches/Cog/nscogsrc/vm/cogit.h
branches/Cog/nscogsrc/vm/cogmethod.h
branches/Cog/src/vm/cogit.c
branches/Cog/src/vm/cogit.h
branches/Cog/src/vm/cogmethod.h
Property Changed:
----------------
branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
Modified: branches/Cog/nscogsrc/vm/cogit.c
===================================================================
--- branches/Cog/nscogsrc/vm/cogit.c 2013-08-15 14:27:42 UTC (rev 2771)
+++ branches/Cog/nscogsrc/vm/cogit.c 2013-08-15 18:55:10 UTC (rev 2772)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.321 uuid: 6134e40b-c38c-41ec-8f31-64a7f1c002b3
+ CCodeGenerator VMMaker.oscog-eem.322 uuid: 15da84de-4866-48ae-b478-c2c96002c5eb
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.321 uuid: 6134e40b-c38c-41ec-8f31-64a7f1c002b3
+ StackToRegisterMappingCogit VMMaker.oscog-eem.322 uuid: 15da84de-4866-48ae-b478-c2c96002c5eb
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.321 uuid: 6134e40b-c38c-41ec-8f31-64a7f1c002b3 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.322 uuid: 15da84de-4866-48ae-b478-c2c96002c5eb " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -9972,22 +9972,20 @@
}
return genStoreImmediateInSourceRegslotIndexdestReg(TempReg, slotIndex, ReceiverResultReg);
}
- topReg = ClassReg;
- ssPop(1);
- ssAllocateCallReg(topReg);
- ssPush(1);
- valueReg = ssStorePoptoPreferredReg(popBoolean, topReg);
- if (valueReg != topReg) {
- /* begin MoveR:R: */
- genoperandoperand(MoveRR, valueReg, topReg);
+ if (((topReg = registerOrNil(ssTop()))) == null) {
+ topReg = ClassReg;
}
+
+ /* Note that ReceiverResultReg remains live after ceStoreCheckTrampoline. */
+
+ valueReg = ssStorePoptoPreferredReg(popBoolean, topReg);
ensureReceiverResultRegContainsSelf();
if (traceStores > 0) {
/* begin MoveR:R: */
- genoperandoperand(MoveRR, topReg, TempReg);
+ genoperandoperand(MoveRR, valueReg, TempReg);
CallRT(ceTraceStoreTrampoline);
}
- return genStoreSourceRegslotIndexdestRegscratchReg(topReg, slotIndex, ReceiverResultReg, TempReg);
+ return genStoreSourceRegslotIndexdestRegscratchReg(valueReg, slotIndex, ReceiverResultReg, TempReg);
}
Modified: branches/Cog/nscogsrc/vm/cogit.h
===================================================================
--- branches/Cog/nscogsrc/vm/cogit.h 2013-08-15 14:27:42 UTC (rev 2771)
+++ branches/Cog/nscogsrc/vm/cogit.h 2013-08-15 18:55:10 UTC (rev 2772)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.321 uuid: 6134e40b-c38c-41ec-8f31-64a7f1c002b3
+ CCodeGenerator VMMaker.oscog-eem.322 uuid: 15da84de-4866-48ae-b478-c2c96002c5eb
*/
Modified: branches/Cog/nscogsrc/vm/cogmethod.h
===================================================================
--- branches/Cog/nscogsrc/vm/cogmethod.h 2013-08-15 14:27:42 UTC (rev 2771)
+++ branches/Cog/nscogsrc/vm/cogmethod.h 2013-08-15 18:55:10 UTC (rev 2772)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.321 uuid: 6134e40b-c38c-41ec-8f31-64a7f1c002b3
+ CCodeGenerator VMMaker.oscog-eem.322 uuid: 15da84de-4866-48ae-b478-c2c96002c5eb
*/
typedef struct {
Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
- Wed Aug 14 17:00:50 PDT 2013
+ Thu Aug 15 11:54:48 PDT 2013
Modified: branches/Cog/src/vm/cogit.c
===================================================================
--- branches/Cog/src/vm/cogit.c 2013-08-15 14:27:42 UTC (rev 2771)
+++ branches/Cog/src/vm/cogit.c 2013-08-15 18:55:10 UTC (rev 2772)
@@ -1,9 +1,9 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.321 uuid: 6134e40b-c38c-41ec-8f31-64a7f1c002b3
+ CCodeGenerator VMMaker.oscog-eem.322 uuid: 15da84de-4866-48ae-b478-c2c96002c5eb
from
- StackToRegisterMappingCogit VMMaker.oscog-eem.321 uuid: 6134e40b-c38c-41ec-8f31-64a7f1c002b3
+ StackToRegisterMappingCogit VMMaker.oscog-eem.322 uuid: 15da84de-4866-48ae-b478-c2c96002c5eb
*/
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.321 uuid: 6134e40b-c38c-41ec-8f31-64a7f1c002b3 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.322 uuid: 15da84de-4866-48ae-b478-c2c96002c5eb " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;
@@ -9087,22 +9087,20 @@
}
return genStoreImmediateInSourceRegslotIndexdestReg(TempReg, slotIndex, ReceiverResultReg);
}
- topReg = ClassReg;
- ssPop(1);
- ssAllocateCallReg(topReg);
- ssPush(1);
- valueReg = ssStorePoptoPreferredReg(popBoolean, topReg);
- if (valueReg != topReg) {
- /* begin MoveR:R: */
- genoperandoperand(MoveRR, valueReg, topReg);
+ if (((topReg = registerOrNil(ssTop()))) == null) {
+ topReg = ClassReg;
}
+
+ /* Note that ReceiverResultReg remains live after ceStoreCheckTrampoline. */
+
+ valueReg = ssStorePoptoPreferredReg(popBoolean, topReg);
ensureReceiverResultRegContainsSelf();
if (traceStores > 0) {
/* begin MoveR:R: */
- genoperandoperand(MoveRR, topReg, TempReg);
+ genoperandoperand(MoveRR, valueReg, TempReg);
CallRT(ceTraceStoreTrampoline);
}
- return genStoreSourceRegslotIndexdestRegscratchReg(topReg, slotIndex, ReceiverResultReg, TempReg);
+ return genStoreSourceRegslotIndexdestRegscratchReg(valueReg, slotIndex, ReceiverResultReg, TempReg);
}
Modified: branches/Cog/src/vm/cogit.h
===================================================================
--- branches/Cog/src/vm/cogit.h 2013-08-15 14:27:42 UTC (rev 2771)
+++ branches/Cog/src/vm/cogit.h 2013-08-15 18:55:10 UTC (rev 2772)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.321 uuid: 6134e40b-c38c-41ec-8f31-64a7f1c002b3
+ CCodeGenerator VMMaker.oscog-eem.322 uuid: 15da84de-4866-48ae-b478-c2c96002c5eb
*/
Modified: branches/Cog/src/vm/cogmethod.h
===================================================================
--- branches/Cog/src/vm/cogmethod.h 2013-08-15 14:27:42 UTC (rev 2771)
+++ branches/Cog/src/vm/cogmethod.h 2013-08-15 18:55:10 UTC (rev 2772)
@@ -1,5 +1,5 @@
/* Automatically generated by
- CCodeGenerator VMMaker.oscog-eem.321 uuid: 6134e40b-c38c-41ec-8f31-64a7f1c002b3
+ CCodeGenerator VMMaker.oscog-eem.322 uuid: 15da84de-4866-48ae-b478-c2c96002c5eb
*/
typedef struct {
More information about the Vm-dev
mailing list