[Vm-dev] [commit][3300] CogVM source as per VMMaker.oscog-eem.1148

commits at squeakvm.org commits at squeakvm.org
Wed Apr 1 23:03:46 UTC 2015


Revision: 3300
Author:   eliot
Date:     2015-04-01 16:03:46 -0700 (Wed, 01 Apr 2015)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.1148

Define startpc in closure creation jitting appropriately (and hence correctly
for Sista).

Nuke the squeak.sista.v3 builds; we're doing only sista.spur VMs.

Modified Paths:
--------------
    branches/Cog/build.macos32x86/makesista
    branches/Cog/nsspursrc/vm/cogit.c
    branches/Cog/nsspursrc/vm/cogit.h
    branches/Cog/sistasrc/vm/cogit.c
    branches/Cog/sistasrc/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
    branches/Cog/src/vm/cogit.c
    branches/Cog/src/vm/cogit.h

Removed Paths:
-------------
    branches/Cog/build.linux32x86/squeak.sista.v3/
    branches/Cog/build.macos32x86/squeak.sista.v3/
    branches/Cog/build.win32x86/squeak.sista.v3/

Property Changed:
----------------
    branches/Cog/platforms/Cross/vm/sqSCCSVersion.h

Modified: branches/Cog/build.macos32x86/makesista
===================================================================
--- branches/Cog/build.macos32x86/makesista	2015-04-01 22:38:58 UTC (rev 3299)
+++ branches/Cog/build.macos32x86/makesista	2015-04-01 23:03:46 UTC (rev 3300)
@@ -1,6 +1,6 @@
 #!/bin/bash
 trap 'exit 2' HUP INT PIPE TERM
-DIRS="squeak.sista.spur squeak.sista.v3"
+DIRS="squeak.sista.spur"
 for d in $DIRS; do
 	if test -d "$d"; then
 		(cd $d;./mvm -A)

Modified: branches/Cog/nsspursrc/vm/cogit.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogit.c	2015-04-01 22:38:58 UTC (rev 3299)
+++ branches/Cog/nsspursrc/vm/cogit.c	2015-04-01 23:03:46 UTC (rev 3300)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1147 uuid: 0fd3920d-c904-484f-b436-e6563dce31c2
+	CCodeGenerator VMMaker.oscog-eem.1148 uuid: b67f9693-ad92-4951-ad6b-a62a64bf4ddb
    from
-	StackToRegisterMappingCogit VMMaker.oscog-eem.1147 uuid: 0fd3920d-c904-484f-b436-e6563dce31c2
+	StackToRegisterMappingCogit VMMaker.oscog-eem.1148 uuid: b67f9693-ad92-4951-ad6b-a62a64bf4ddb
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1147 uuid: 0fd3920d-c904-484f-b436-e6563dce31c2 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1148 uuid: b67f9693-ad92-4951-ad6b-a62a64bf4ddb " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -19396,14 +19396,16 @@
     sqInt numArgs;
     sqInt numCopied;
     sqInt reg;
+    sqInt startpc;
 
 	assert(needsFrame);
-	addBlockStartAtnumArgsnumCopiedspan(bytecodePC + 3, (numArgs = (byte1 & 7) + ((extA % 16) * 8)), (numCopied = ((((usqInt) byte1) >> 3) & 7) + ((extA / 16) * 8)), byte2 + (extB << 8));
+	startpc = bytecodePC + (((generatorAt(byte0))->numBytes));
+	addBlockStartAtnumArgsnumCopiedspan(startpc, (numArgs = (byte1 & 7) + ((extA % 16) * 8)), (numCopied = ((((usqInt) byte1) >> 3) & 7) + ((extA / 16) * 8)), byte2 + (extB << 8));
 	extA = (extB = 0);
 	assert(getActiveContextAllocatesInMachineCode());
 	(optStatus.isReceiverResultRegLive = 0);
 	ssAllocateCallRegandand(ReceiverResultReg, SendNumArgsReg, ClassReg);
-	genNoPopCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(bytecodePC + 4, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
+	genNoPopCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(startpc + 1, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
 	for (i = 1; i <= numCopied; i += 1) {
 		reg = ssStorePoptoPreferredReg(1, TempReg);
 		genStoreSourceRegslotIndexintoNewObjectInDestReg(reg, (ClosureFirstCopiedValueIndex + numCopied) - i, ReceiverResultReg);
@@ -19416,7 +19418,7 @@
 	(optStatus.isReceiverResultRegLive = 0);
 	ssAllocateCallRegandand(ReceiverResultReg, SendNumArgsReg, ClassReg);
 
-	genCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(bytecodePC + 4, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
+	genCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(startpc + 1, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
 	if (numCopied > 0) {
 		ssPop(numCopied);
 	}
@@ -20565,13 +20567,15 @@
     sqInt numArgs;
     sqInt numCopied;
     sqInt reg;
+    sqInt startpc;
 
 	assert(needsFrame);
-	addBlockStartAtnumArgsnumCopiedspan(bytecodePC + 4, (numArgs = byte1 & 15), (numCopied = ((usqInt) byte1) >> 4), (byte2 << 8) + byte3);
+	startpc = bytecodePC + (((generatorAt(byte0))->numBytes));
+	addBlockStartAtnumArgsnumCopiedspan(startpc, (numArgs = byte1 & 15), (numCopied = ((usqInt) byte1) >> 4), (byte2 << 8) + byte3);
 	assert(getActiveContextAllocatesInMachineCode());
 	(optStatus.isReceiverResultRegLive = 0);
 	ssAllocateCallRegandand(ReceiverResultReg, SendNumArgsReg, ClassReg);
-	genNoPopCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(bytecodePC + 5, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
+	genNoPopCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(startpc + 1, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
 	for (i = 1; i <= numCopied; i += 1) {
 		reg = ssStorePoptoPreferredReg(1, TempReg);
 		genStoreSourceRegslotIndexintoNewObjectInDestReg(reg, (ClosureFirstCopiedValueIndex + numCopied) - i, ReceiverResultReg);
@@ -20584,7 +20588,7 @@
 	(optStatus.isReceiverResultRegLive = 0);
 	ssAllocateCallRegandand(ReceiverResultReg, SendNumArgsReg, ClassReg);
 
-	genCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(bytecodePC + 5, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
+	genCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(startpc + 1, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
 	if (numCopied > 0) {
 		ssPop(numCopied);
 	}

Modified: branches/Cog/nsspursrc/vm/cogit.h
===================================================================
--- branches/Cog/nsspursrc/vm/cogit.h	2015-04-01 22:38:58 UTC (rev 3299)
+++ branches/Cog/nsspursrc/vm/cogit.h	2015-04-01 23:03:46 UTC (rev 3300)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1147 uuid: 0fd3920d-c904-484f-b436-e6563dce31c2
+	CCodeGenerator VMMaker.oscog-eem.1148 uuid: b67f9693-ad92-4951-ad6b-a62a64bf4ddb
  */
 
 


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Wed Apr  1 15:39:00 PDT 2015
   + Wed Apr  1 16:04:13 PDT 2015

Modified: branches/Cog/sistasrc/vm/cogit.c
===================================================================
--- branches/Cog/sistasrc/vm/cogit.c	2015-04-01 22:38:58 UTC (rev 3299)
+++ branches/Cog/sistasrc/vm/cogit.c	2015-04-01 23:03:46 UTC (rev 3300)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1147 uuid: 0fd3920d-c904-484f-b436-e6563dce31c2
+	CCodeGenerator VMMaker.oscog-eem.1148 uuid: b67f9693-ad92-4951-ad6b-a62a64bf4ddb
    from
-	SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1147 uuid: 0fd3920d-c904-484f-b436-e6563dce31c2
+	SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1148 uuid: b67f9693-ad92-4951-ad6b-a62a64bf4ddb
  */
-static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1147 uuid: 0fd3920d-c904-484f-b436-e6563dce31c2 " __DATE__ ;
+static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1148 uuid: b67f9693-ad92-4951-ad6b-a62a64bf4ddb " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -18822,9 +18822,11 @@
     sqInt numArgs;
     sqInt numCopied;
     sqInt reg;
+    sqInt startpc;
 
 	assert(needsFrame);
-	addBlockStartAtnumArgsnumCopiedspan(bytecodePC + 3, (numArgs = (byte1 & 7) + ((extA % 16) * 8)), (numCopied = ((((usqInt) byte1) >> 3) & 7) + ((extA / 16) * 8)), byte2 + (extB << 8));
+	startpc = bytecodePC + (((generatorAt(byte0))->numBytes));
+	addBlockStartAtnumArgsnumCopiedspan(startpc, (numArgs = (byte1 & 7) + ((extA % 16) * 8)), (numCopied = ((((usqInt) byte1) >> 3) & 7) + ((extA / 16) * 8)), byte2 + (extB << 8));
 	extA = (extB = 0);
 	
 	if (numCopied > 0) {
@@ -18833,7 +18835,7 @@
 	(optStatus.isReceiverResultRegLive = 0);
 	ssAllocateCallRegand(SendNumArgsReg, ReceiverResultReg);
 
-	genCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(bytecodePC + 4, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
+	genCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(startpc + 1, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
 	if (numCopied > 0) {
 		ssPop(numCopied);
 	}
@@ -19873,9 +19875,11 @@
     sqInt numArgs;
     sqInt numCopied;
     sqInt reg;
+    sqInt startpc;
 
 	assert(needsFrame);
-	addBlockStartAtnumArgsnumCopiedspan(bytecodePC + 4, (numArgs = byte1 & 15), (numCopied = ((usqInt) byte1) >> 4), (byte2 << 8) + byte3);
+	startpc = bytecodePC + (((generatorAt(byte0))->numBytes));
+	addBlockStartAtnumArgsnumCopiedspan(startpc, (numArgs = byte1 & 15), (numCopied = ((usqInt) byte1) >> 4), (byte2 << 8) + byte3);
 	
 	if (numCopied > 0) {
 		ssFlushTo(simStackPtr);
@@ -19883,7 +19887,7 @@
 	(optStatus.isReceiverResultRegLive = 0);
 	ssAllocateCallRegand(SendNumArgsReg, ReceiverResultReg);
 
-	genCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(bytecodePC + 5, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
+	genCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(startpc + 1, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
 	if (numCopied > 0) {
 		ssPop(numCopied);
 	}

Modified: branches/Cog/sistasrc/vm/cogit.h
===================================================================
--- branches/Cog/sistasrc/vm/cogit.h	2015-04-01 22:38:58 UTC (rev 3299)
+++ branches/Cog/sistasrc/vm/cogit.h	2015-04-01 23:03:46 UTC (rev 3300)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1147 uuid: 0fd3920d-c904-484f-b436-e6563dce31c2
+	CCodeGenerator VMMaker.oscog-eem.1148 uuid: b67f9693-ad92-4951-ad6b-a62a64bf4ddb
  */
 
 

Modified: branches/Cog/spursistasrc/vm/cogit.c
===================================================================
--- branches/Cog/spursistasrc/vm/cogit.c	2015-04-01 22:38:58 UTC (rev 3299)
+++ branches/Cog/spursistasrc/vm/cogit.c	2015-04-01 23:03:46 UTC (rev 3300)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1147 uuid: 0fd3920d-c904-484f-b436-e6563dce31c2
+	CCodeGenerator VMMaker.oscog-eem.1148 uuid: b67f9693-ad92-4951-ad6b-a62a64bf4ddb
    from
-	SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1147 uuid: 0fd3920d-c904-484f-b436-e6563dce31c2
+	SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1148 uuid: b67f9693-ad92-4951-ad6b-a62a64bf4ddb
  */
-static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1147 uuid: 0fd3920d-c904-484f-b436-e6563dce31c2 " __DATE__ ;
+static char __buildInfo[] = "SistaStackToRegisterMappingCogit VMMaker.oscog-eem.1148 uuid: b67f9693-ad92-4951-ad6b-a62a64bf4ddb " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -20282,14 +20282,16 @@
     sqInt numArgs;
     sqInt numCopied;
     sqInt reg;
+    sqInt startpc;
 
 	assert(needsFrame);
-	addBlockStartAtnumArgsnumCopiedspan(bytecodePC + 3, (numArgs = (byte1 & 7) + ((extA % 16) * 8)), (numCopied = ((((usqInt) byte1) >> 3) & 7) + ((extA / 16) * 8)), byte2 + (extB << 8));
+	startpc = bytecodePC + (((generatorAt(byte0))->numBytes));
+	addBlockStartAtnumArgsnumCopiedspan(startpc, (numArgs = (byte1 & 7) + ((extA % 16) * 8)), (numCopied = ((((usqInt) byte1) >> 3) & 7) + ((extA / 16) * 8)), byte2 + (extB << 8));
 	extA = (extB = 0);
 	assert(getActiveContextAllocatesInMachineCode());
 	(optStatus.isReceiverResultRegLive = 0);
 	ssAllocateCallRegandand(ReceiverResultReg, SendNumArgsReg, ClassReg);
-	genNoPopCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(bytecodePC + 4, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
+	genNoPopCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(startpc + 1, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
 	for (i = 1; i <= numCopied; i += 1) {
 		reg = ssStorePoptoPreferredReg(1, TempReg);
 		genStoreSourceRegslotIndexintoNewObjectInDestReg(reg, (ClosureFirstCopiedValueIndex + numCopied) - i, ReceiverResultReg);
@@ -20302,7 +20304,7 @@
 	(optStatus.isReceiverResultRegLive = 0);
 	ssAllocateCallRegandand(ReceiverResultReg, SendNumArgsReg, ClassReg);
 
-	genCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(bytecodePC + 4, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
+	genCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(startpc + 1, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
 	if (numCopied > 0) {
 		ssPop(numCopied);
 	}
@@ -21344,13 +21346,15 @@
     sqInt numArgs;
     sqInt numCopied;
     sqInt reg;
+    sqInt startpc;
 
 	assert(needsFrame);
-	addBlockStartAtnumArgsnumCopiedspan(bytecodePC + 4, (numArgs = byte1 & 15), (numCopied = ((usqInt) byte1) >> 4), (byte2 << 8) + byte3);
+	startpc = bytecodePC + (((generatorAt(byte0))->numBytes));
+	addBlockStartAtnumArgsnumCopiedspan(startpc, (numArgs = byte1 & 15), (numCopied = ((usqInt) byte1) >> 4), (byte2 << 8) + byte3);
 	assert(getActiveContextAllocatesInMachineCode());
 	(optStatus.isReceiverResultRegLive = 0);
 	ssAllocateCallRegandand(ReceiverResultReg, SendNumArgsReg, ClassReg);
-	genNoPopCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(bytecodePC + 5, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
+	genNoPopCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(startpc + 1, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
 	for (i = 1; i <= numCopied; i += 1) {
 		reg = ssStorePoptoPreferredReg(1, TempReg);
 		genStoreSourceRegslotIndexintoNewObjectInDestReg(reg, (ClosureFirstCopiedValueIndex + numCopied) - i, ReceiverResultReg);
@@ -21363,7 +21367,7 @@
 	(optStatus.isReceiverResultRegLive = 0);
 	ssAllocateCallRegandand(ReceiverResultReg, SendNumArgsReg, ClassReg);
 
-	genCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(bytecodePC + 5, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
+	genCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(startpc + 1, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
 	if (numCopied > 0) {
 		ssPop(numCopied);
 	}

Modified: branches/Cog/spursistasrc/vm/cogit.h
===================================================================
--- branches/Cog/spursistasrc/vm/cogit.h	2015-04-01 22:38:58 UTC (rev 3299)
+++ branches/Cog/spursistasrc/vm/cogit.h	2015-04-01 23:03:46 UTC (rev 3300)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1147 uuid: 0fd3920d-c904-484f-b436-e6563dce31c2
+	CCodeGenerator VMMaker.oscog-eem.1148 uuid: b67f9693-ad92-4951-ad6b-a62a64bf4ddb
  */
 
 

Modified: branches/Cog/spursrc/vm/cogit.c
===================================================================
--- branches/Cog/spursrc/vm/cogit.c	2015-04-01 22:38:58 UTC (rev 3299)
+++ branches/Cog/spursrc/vm/cogit.c	2015-04-01 23:03:46 UTC (rev 3300)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1147 uuid: 0fd3920d-c904-484f-b436-e6563dce31c2
+	CCodeGenerator VMMaker.oscog-eem.1148 uuid: b67f9693-ad92-4951-ad6b-a62a64bf4ddb
    from
-	StackToRegisterMappingCogit VMMaker.oscog-eem.1147 uuid: 0fd3920d-c904-484f-b436-e6563dce31c2
+	StackToRegisterMappingCogit VMMaker.oscog-eem.1148 uuid: b67f9693-ad92-4951-ad6b-a62a64bf4ddb
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1147 uuid: 0fd3920d-c904-484f-b436-e6563dce31c2 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1148 uuid: b67f9693-ad92-4951-ad6b-a62a64bf4ddb " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -18352,13 +18352,15 @@
     sqInt numArgs;
     sqInt numCopied;
     sqInt reg;
+    sqInt startpc;
 
 	assert(needsFrame);
-	addBlockStartAtnumArgsnumCopiedspan(bytecodePC + 4, (numArgs = byte1 & 15), (numCopied = ((usqInt) byte1) >> 4), (byte2 << 8) + byte3);
+	startpc = bytecodePC + (((generatorAt(byte0))->numBytes));
+	addBlockStartAtnumArgsnumCopiedspan(startpc, (numArgs = byte1 & 15), (numCopied = ((usqInt) byte1) >> 4), (byte2 << 8) + byte3);
 	assert(getActiveContextAllocatesInMachineCode());
 	(optStatus.isReceiverResultRegLive = 0);
 	ssAllocateCallRegandand(ReceiverResultReg, SendNumArgsReg, ClassReg);
-	genNoPopCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(bytecodePC + 5, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
+	genNoPopCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(startpc + 1, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
 	for (i = 1; i <= numCopied; i += 1) {
 		reg = ssStorePoptoPreferredReg(1, TempReg);
 		genStoreSourceRegslotIndexintoNewObjectInDestReg(reg, (ClosureFirstCopiedValueIndex + numCopied) - i, ReceiverResultReg);
@@ -18371,7 +18373,7 @@
 	(optStatus.isReceiverResultRegLive = 0);
 	ssAllocateCallRegandand(ReceiverResultReg, SendNumArgsReg, ClassReg);
 
-	genCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(bytecodePC + 5, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
+	genCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(startpc + 1, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
 	if (numCopied > 0) {
 		ssPop(numCopied);
 	}

Modified: branches/Cog/spursrc/vm/cogit.h
===================================================================
--- branches/Cog/spursrc/vm/cogit.h	2015-04-01 22:38:58 UTC (rev 3299)
+++ branches/Cog/spursrc/vm/cogit.h	2015-04-01 23:03:46 UTC (rev 3300)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1147 uuid: 0fd3920d-c904-484f-b436-e6563dce31c2
+	CCodeGenerator VMMaker.oscog-eem.1148 uuid: b67f9693-ad92-4951-ad6b-a62a64bf4ddb
  */
 
 

Modified: branches/Cog/src/vm/cogit.c
===================================================================
--- branches/Cog/src/vm/cogit.c	2015-04-01 22:38:58 UTC (rev 3299)
+++ branches/Cog/src/vm/cogit.c	2015-04-01 23:03:46 UTC (rev 3300)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1147 uuid: 0fd3920d-c904-484f-b436-e6563dce31c2
+	CCodeGenerator VMMaker.oscog-eem.1148 uuid: b67f9693-ad92-4951-ad6b-a62a64bf4ddb
    from
-	StackToRegisterMappingCogit VMMaker.oscog-eem.1147 uuid: 0fd3920d-c904-484f-b436-e6563dce31c2
+	StackToRegisterMappingCogit VMMaker.oscog-eem.1148 uuid: b67f9693-ad92-4951-ad6b-a62a64bf4ddb
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1147 uuid: 0fd3920d-c904-484f-b436-e6563dce31c2 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1148 uuid: b67f9693-ad92-4951-ad6b-a62a64bf4ddb " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -17013,9 +17013,11 @@
     sqInt numArgs;
     sqInt numCopied;
     sqInt reg;
+    sqInt startpc;
 
 	assert(needsFrame);
-	addBlockStartAtnumArgsnumCopiedspan(bytecodePC + 4, (numArgs = byte1 & 15), (numCopied = ((usqInt) byte1) >> 4), (byte2 << 8) + byte3);
+	startpc = bytecodePC + (((generatorAt(byte0))->numBytes));
+	addBlockStartAtnumArgsnumCopiedspan(startpc, (numArgs = byte1 & 15), (numCopied = ((usqInt) byte1) >> 4), (byte2 << 8) + byte3);
 	
 	if (numCopied > 0) {
 		ssFlushTo(simStackPtr);
@@ -17023,7 +17025,7 @@
 	(optStatus.isReceiverResultRegLive = 0);
 	ssAllocateCallRegand(SendNumArgsReg, ReceiverResultReg);
 
-	genCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(bytecodePC + 5, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
+	genCreateClosureAtnumArgsnumCopiedcontextNumArgslargeinBlock(startpc + 1, numArgs, numCopied, methodOrBlockNumArgs, methodNeedsLargeContext(methodObj), inBlock);
 	if (numCopied > 0) {
 		ssPop(numCopied);
 	}

Modified: branches/Cog/src/vm/cogit.h
===================================================================
--- branches/Cog/src/vm/cogit.h	2015-04-01 22:38:58 UTC (rev 3299)
+++ branches/Cog/src/vm/cogit.h	2015-04-01 23:03:46 UTC (rev 3300)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1147 uuid: 0fd3920d-c904-484f-b436-e6563dce31c2
+	CCodeGenerator VMMaker.oscog-eem.1148 uuid: b67f9693-ad92-4951-ad6b-a62a64bf4ddb
  */
 
 



More information about the Vm-dev mailing list