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 */
vm-dev@lists.squeakfoundation.org