[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